比较“比较”的比较

时间:2013-07-26 05:01:05

标签: algorithm sorting comparison

我在比较堆排序和合并排序时阅读了以下语句:

合并排序可以适用于在O(1)额外空间的链表上运行。堆排序可以适用于在双向链表上运行,只有O(1)额外的空间开销。

非常感谢帮助解释这一点(不是计算机科学教育) - 虽然我理解上述各种方法在初级阶段的工作方式。

1 个答案:

答案 0 :(得分:3)

这是Big O Notation。它用于描述算法的复杂性(时间/内存使用)(有关详细信息,请查看链接)。这里的意思是您阅读的算法可以扩展到在上述情况下工作,并且需要进行的更改将导致需要不断增加的空间。这是额外的空间不取决于结构的大小。它将是常数 - 例如一个变量更多。

修改

一些最常用的符号:

  • O(1) - 常量 - 使用的时间或内存不依赖于算法的结构大小
  • O(n) - 线性 - 取决于结构的大小 - 结构越大 - 需要的时间/内存越多
  • O(logn) - logarithmic ...

有关详细信息,请查看here