算法时间复杂度
表示算法的复杂度,常用到 O o Ω Θ 几个符号。
简单说 O(大O ) 表示运行时间的上界(包含等于), o (小o) 类似于O,但不包含等于,Ω表示运行时间的下界(包含等于), Θ 同时表示运行时间的上界,下界,也就是说该算法的运行时间可以精确描述。
可以认为 O 类似于 ≤ ,o 类似于 <, Ω 类似于 ≥, Θ类似于=。
冒泡排序的时间复杂度用大O来描述为O(n2) (n2 为最坏情况), 用Ω来描述为 Ω(n) (n 为最好情况),因为O 不等于 Ω, 使用无法用Θ来描述,但是可以说冒泡排序在最坏情况下为 Θ(n2).
堆排序用大O和Ω描述,都是 O(n log n) Ω(n log n), 所以可以用Θ来描述为 Θ(n log n)。

排序算法的稳定性:
假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。

浙公网安备 33010602011771号