日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据结构】——排序算法系列总结

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据结构】——排序算法系列总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1、空間復雜度

2、穩定性

3、運行時間

4、目前默認的sort內置函數排序函數

5、六種常用排序方法


?

1、空間復雜度

空間復雜度產生的原因有兩個:重新定義了一塊空間用于存儲數據;遞歸產生了棧空間

冒泡排序、選擇排序、堆排序和插入排序屬于原地實現排序,因此空間復雜度為常數級別

快速排序,在算法中雖然沒有使用到另外的空間,但是是通過遞歸來實現的,而遞歸會產生棧空間,一般為O(nlogn)

對于歸并排序,內部也使用了遞歸,但是它使用了額外的空間來存儲排好序的元素,其復雜度為O(n),大于遞歸復雜度O(nlogn)

2、穩定性

判斷一個排序算法的穩定性就是通過看排序結束后兩個相同數據的相對位置是否發生了變化,簡單來說,挨個進行比較的排序算法是穩定的,但是飛著(即算法中出現跨越式交換元素)的排序算法是不穩定的。

就比如上述三個字典,我要是根據name進行排序,穩定的排序算法是,字典1和字典3的前后順序是不改變的,比如利用冒泡排序算法,挨個進行比較,若兩個元素一樣則不交換,否則交換,這樣就保證了相對位置不改變。

3、運行時間

快速排序<歸并排序<堆排序

4、目前默認的sort內置函數排序函數

歸并+插入排序

排序算法穩定!!!

5、六種常用排序方法

冒泡插入選擇排序:

https://blog.csdn.net/qq_45769063/article/details/109361181

快速排序:

https://blog.csdn.net/qq_45769063/article/details/109297971

堆排序:

https://blog.csdn.net/qq_45769063/article/details/109352745

歸并排序:

https://blog.csdn.net/qq_45769063/article/details/109357125

總結

以上是生活随笔為你收集整理的【数据结构】——排序算法系列总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。