python歸并排序和快速排序比較
1、在預(yù)期情況下的快速排序和歸并排序時(shí)間復(fù)雜度都一樣。
在空間復(fù)雜度上,沒使用臨時(shí)棧的快速排序在空間上優(yōu)于歸并排序。
2、快速排序是不穩(wěn)定的,歸并排序穩(wěn)定。
在穩(wěn)定性上來說,快速排序是不穩(wěn)定的排序,歸并排序與堆排序一樣是穩(wěn)定的排序,即排序后,比較值相同元素相對(duì)位置不變。
3、二者都很容易實(shí)現(xiàn)分布式算法。
歸并排序?qū)⒆有蛄蟹职l(fā)下去后,需要等待其下屬計(jì)算機(jī)的反饋,等得到有序子序列后,才能進(jìn)行合并操作。
4、歸并排序相比于快速排序,在面對(duì)大型數(shù)據(jù)集時(shí)顯得更有效。
因?yàn)闅w并排序并不需要一次裝載全部數(shù)據(jù)(快速排序需要一次裝入,選擇分界值分割序列),而且快速排序需要不斷切換子序列,這將增加內(nèi)存分頁,并大大減緩了算法的運(yùn)行。
以上就是python歸并排序和快速排序比較,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。