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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

算法笔记--八个常见排序算法总结

發布時間:2024/4/14 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法笔记--八个常见排序算法总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


一、 分類描述

1. 插入排序

? ? ? ? ??直接插入排序:算法簡單,穩定,適用于數據量小的情況

? ? ? ? ?希爾排序:直接插入排序的改進版,不穩定,對于待排序序列的不同情況效率相近

2. 交換排序

? ? ? ? ? 冒泡排序:算法簡單,穩定,在數據基本有序的情況下效率較高

? ? ? ? ?快速排序:算法效率高,不穩定,需要額外的輔助空間

3. 選擇排序

? ? ? ? ?直接選擇排序:任何情況時間復雜度均為O(n^2),不穩定,其優勢在于交換次數少

? ? ? ? ?堆排序:不穩定,對序列的原始順序不敏感,適用于數據量大的情況

4. 歸并排序

? ? ? ? ??分治策略,穩定,適用于待排序列整體無序、部分有序的情況,需要額外的輔助空間

5. 基數排序

? ? ? ? ? 穩定;適用范圍有限;當數據位數較小時,時間復雜度近似為O(n),效率高于其它的穩定性排序算法

二、總結比較表

類別

排序方法

時間復雜度

空間復雜度

穩定性

復雜性

最好

最壞

平均

插入排序

直接插入

O(n)

O(n^2)

O(n^2)

O(1)

O

簡單

希爾排序

O(n^1.3)

O(n^2)

O(n^1.x)

O(1)

X

較復雜

交換排序

冒泡排序

O(n)

O(n^2)

O(n^2)

O(1)

O

簡單

快速排序

O(nlogn)

O(n^2)

O(nlogn)

O(logn)

X

較復雜

選擇排序

直接選擇

O(n^2)

O(n^2)

O(n^2)

O(1)

X

簡單

堆排序

O(nlogn)

O(nlogn)

O(nlogn)

O(1)

X

較復雜

?

歸并排序

O(nlogn)

O(nlogn)

O(nlogn)

O(n)

O

較復雜

?

基數排序

O(d(n+r))

O(d(n+r))

O(d(n+r))

O(n+r)

O

較復雜


轉載于:https://www.cnblogs.com/ltxdzh/p/3960141.html

總結

以上是生活随笔為你收集整理的算法笔记--八个常见排序算法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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