首頁  >  文章  >  演算法穩定性指的是什麼

演算法穩定性指的是什麼

藏色散人
藏色散人原創
2020-06-30 09:21:5814986瀏覽

演算法穩定性指的是一組待排序記錄中,如果存在任意兩個相等的記錄R和S,且在待排序記錄中R在S前,如果在排序後R依然在S前,即它們的前後位置在排序前後不改變,則稱為排序演算法為穩定的。

演算法穩定性指的是什麼

演算法穩定性:在一組待排序記錄中,如果存在任意兩個相等的記錄R 和S,且在待排序記錄中R 在S 前,如果在排序後R 依然在S 前,即它們的前後位置在排序前後不發生改變,則稱為排序演算法為穩定的。

常見排序演算法的穩定性

堆排序、快速排序、希爾排序、直接選擇排序是不穩定的排序演算法,而基數排序、冒泡排序、直接插入排序、折半插入排序、歸併排序是穩定的排序演算法。

首先,排序演算法的穩定性大家應該都知道,通俗地講就是能保證排序前2個相等的數其在序列的前後位置順序和排序後它們兩個的前後位置順序相同。在簡單形式化一下,如果Ai = Aj, Ai原來在位置前,排序後Ai還是要在Aj位置前。

其次,說一下穩定性的好處。排序演算法如果是穩定的,那麼從一個鍵上排序,然後再從另一個鍵上排序,第一個鍵排序的結果可以為第二個鍵排序所用。基數排序就 是這樣,先按低位排序,逐次按高位排序,低位相同的元素其順序再高位也相同時是不會改變的。

以上是演算法穩定性指的是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn