您好,登錄后才能下訂單哦!
小編給大家分享一下python插入排序性能的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1、空間復(fù)雜度是O(1),是原地排序算法。
除了運(yùn)行時(shí)需要臨時(shí)變量存儲(chǔ)交換的數(shù)據(jù)和下標(biāo)外,不需要額外的存儲(chǔ)空間。
2、穩(wěn)定性,對于值相同的元素,選擇將后面出現(xiàn)的元素插入前面出現(xiàn)的元素后面。
這樣可以保證原來的前后順序不變,所以是一種穩(wěn)定的排序算法。
3、時(shí)間復(fù)雜度,最好的時(shí)間復(fù)雜度是O(n)。
如果數(shù)據(jù)有序,不需要移動(dòng)任何數(shù)據(jù)。在搜索插入位置時(shí),我們可以從尾到尾在有序區(qū)間搜索插入位置,每次只需要比較一次就可以確定插入位置。如果數(shù)據(jù)是倒序的,每次都相當(dāng)于在數(shù)據(jù)的第一位插入新數(shù)據(jù),所以需要移動(dòng)大量的數(shù)據(jù),最壞的時(shí)間復(fù)雜度是O(n^2)。平常時(shí)間復(fù)雜度,由于數(shù)據(jù)中插入元素的平均時(shí)間復(fù)雜度為O(n),所以對于插入排序,每次插入操作都相當(dāng)于在數(shù)組中插入一個(gè)數(shù)據(jù),循環(huán)執(zhí)行n次插入操作,所以平均時(shí)間復(fù)雜度為O(n^2)。
以上是“python插入排序性能的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。