Tag: 二进制堆

纯function语言中的高效堆

作为Haskell的练习,我试图实现heapsort。 堆通常以命令式语言实现为一个数组,但是在纯粹的函数式语言中这是非常低效的。 所以我研究过二进制堆,但是到目前为止我发现的一切都是从一个必要的观点来描述它们,所提出的algorithm很难转化为一个function设置。 如何高效地实现一个像Haskell这样的纯函数语言的堆? 编辑:效率我的意思是它应该仍然在O(N *日志),但它不必击败一个C程序。 另外,我想使用纯function编程。 在Haskell中做什么呢?