Timsort 是一种混合稳定的排序算法,源自归并排序和插入排序,旨在较好地处理真实世界中各种各样的数据。它使用了 Peter Mcllroy 的"乐观排序和信息理论上复杂性"中的技术,参见 第四届年度ACM-SIAM离散算法研讨会论文集,第467-474页,1993年。 它由 Tim Peters 在2002年实现,并应用于 Python。该算法通过查找已经排好序的数据子序列,在此基础上对剩余部分更有效地排序。 该算法通过不断地将特定子序列与现有的 run 合并,直到满足某些条件为止来达成的更有效的排序。 从 2.3 版本起,Timsort 一直是 Python 的标准排序算法。 它还被 Java版本历史, Android, GNU Octave, Google Chrome, 和 Swift 用于对非原始类型的数组排序。
侏儒排序或愚人排序是一种排序算法,最初在2000年由伊朗计算机工程师Hamid Sarbazi-Azad提出,他称之为“愚人排序”。此后Dick Grune也描述了这一算法,称其为“侏儒排序”。此算法类似于插入排序,但是移动元素到它该去的位置是通过一系列类似冒泡排序的移动实现的。从概念上讲侏儒排序非常简单,甚至不需要嵌套循环。它的平均运行时间是大O符号,如果列表已经排序好则只需O的运行时间。
图书馆排序,或空位插入排序是一种排序算法 ,它基于插入排序,但在每两个元素之间存在空位,以便于加速随后的插入。这个名字来自一个比喻:
墨菲定律,又译为摩菲定律,墨菲定律的原句是:如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。在科学和算法方面,与英文所谓的“worst-case scenario”同义,数学上用大O符号来表示。例如,对插入排序来说,最恶劣的情形即是要排序的阵列完全倒置,必须进行 n* 次的置换才能完成排序。在实际使用上,最恶劣的情况通常不会发生,但并非完全不可能发生。在文化方面,它就代表着一种近似反讽的幽默,当作对日常生活中不满的排解。用英文写是 “if it can go wrong, it will.”
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。
墨菲定律,又译为摩菲定律,墨菲定律的原句是:如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。在科学和算法方面,与英文所谓的“worst-case scenario”同义,数学上用大O符号来表示。例如,对插入排序来说,最恶劣的情形即是要排序的阵列完全倒置,必须进行 n* 次的置换才能完成排序。在实际使用上,最恶劣的情况通常不会发生,但并非完全不可能发生。在文化方面,它就代表着一种近似反讽的幽默,当作对日常生活中不满的排解。用英文写是 “if it can go wrong, it will.”
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。
在电脑科学中,线上算法是一种处理输入资料的独特形式,其演算过程中并不要求所有输入资料在算法开始运始之一刻即完备,反而可对逐步输入的资料加以处理并在输入完最后一项资料之后输出运算结果。与之相对的称为离线算法,则假设输入资料在运算开始前已完备。举例:选择排序是离线算法,而插入排序则为线上算法。
墨菲定律,又译为摩菲定律,墨菲定律的原句是:如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。在科学和算法方面,与英文所谓的“worst-case scenario”同义,数学上用大O符号来表示。例如,对插入排序来说,最恶劣的情形即是要排序的阵列完全倒置,必须进行 n* 次的置换才能完成排序。在实际使用上,最恶劣的情况通常不会发生,但并非完全不可能发生。在文化方面,它就代表着一种近似反讽的幽默,当作对日常生活中不满的排解。用英文写是 “if it can go wrong, it will.”
墨菲定律,又译为摩菲定律,墨菲定律的原句是:如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。在科学和算法方面,与英文所谓的“worst-case scenario”同义,数学上用大O符号来表示。例如,对插入排序来说,最恶劣的情形即是要排序的阵列完全倒置,必须进行 n* 次的置换才能完成排序。在实际使用上,最恶劣的情况通常不会发生,但并非完全不可能发生。在文化方面,它就代表着一种近似反讽的幽默,当作对日常生活中不满的排解。用英文写是 “if it can go wrong, it will.”