稳定:如果a原本在b前面,而a=b,排序之后仍然在b的前面。
不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面。
注意:在进行排序算法的时间复杂度分析时,应该选择最好和最坏极端两种情况分析,比如希尔排序,分析出来的时间复杂度为O(nlgn)~O(n2) 大概为O(n1.3)。时间复杂度O(nlog2n)=O(nlgn)。
十种排序算法性能表:
稳定:如果a原本在b前面,而a=b,排序之后仍然在b的前面。
不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面。
注意:在进行排序算法的时间复杂度分析时,应该选择最好和最坏极端两种情况分析,比如希尔排序,分析出来的时间复杂度为O(nlgn)~O(n2) 大概为O(n1.3)。时间复杂度O(nlog2n)=O(nlgn)。
十种排序算法性能表: