色噜噜人体337p人体 I 超碰97观看 I 91久久香蕉国产日韩欧美9色 I 色婷婷我要去我去也 I 日本午夜a I 国产av高清怡春院 I 桃色精品 I 91香蕉国产 I 另类小说第一页 I 日操夜夜操 I 久久性色 I 日韩欧在线 I 国产深夜在线观看 I 免费的av I 18在线观看视频 I 他也色在线视频 I 亚洲熟女中文字幕男人总站 I 亚洲国产综合精品中文第一 I 人妻丰满熟av无码区hd I 新黄色网址 I 国产精品真实灌醉女在线播放 I 欧美巨大荫蒂茸毛毛人妖 I 国产一区欧美 I 欧洲亚洲1卡二卡三卡2021 I 国产亚洲欧美在线观看三区 I 97精品无人区乱码在线观看 I 欧美妇人 I 96精品在线视频 I 国产人免费视频在线观看 I 91麻豆国产福利在线观看

排序算法的算法思想和使用場景總結

時間:2024-09-15 20:47:58 思想總結 我要投稿

排序算法的算法思想和使用場景總結

  1. 概述

排序算法的算法思想和使用場景總結

  排序算法是計算機技術中最基本的算法,許多復雜算法都會用到排序。盡管各種排序算法都已被封裝成庫函數供程序員使用,但了解排序算法的思想和原理,對于編寫高質量的軟件,顯得非常重要。

  本文介紹了常見的排序算法,從算法思想,復雜度和使用場景等方面做了總結。

  2. 幾個概念

  (1)排序穩定:如果兩個數相同,對他們進行的排序結果為他們的相對順序不變。例如A={1,2,1,2,1}這里排序之后是A = {1,1,1,2,2} 穩定就是排序后第一個1就是排序前的第一個1,第二個1就是排序前第二個1,第三個1就是排序前的第三個1。同理2也是一樣。不穩定就是他們的順序與開始順序不一致。

  (2)原地排序:指不申請多余的空間進行的排序,就是在原來的排序數據中比較和交換的排序。例如快速排序,堆排序等都是原地排序,合并排序,計數排序等不是原地排序。

  總體上說,排序算法有兩種設計思路,一種是基于比較,另一種不是基于比較。《算法導論》一書給出了這樣一個證明:“基于比較的算法的最優時間復雜度是O(N lg N)”。對于基于比較的算法,有三種設計思路,分別為:插入排序,交換排序和選擇排序。非基于比較的排序算法時間復雜度為O(lg N),之所以復雜度如此低,是因為它們一般對排序數據有特殊要求。如計數排序要求數據范圍不會太大,基數排序要求數據可以分解成多個屬性等。

  3. 基于比較的排序算法

  正如前一節介紹的,基于比較的排序算法有三種設計思路,分別為插入,交換和選擇。對于插入排序,主要有直接插入排序,希爾排序;對于交換排序,主要有冒泡排序,快速排序;對于選擇排序,主要有簡單選擇排序,堆排序;其它排序:歸并排序。

  3.1 插入排序

  (1) 直接插入排序

  特點:穩定排序,原地排序,時間復雜度O(N*N)

  思想:將所有待排序數據分成兩個序列,一個是有序序列S,另一個是待排序序列U,初始時,S為空,U為所有數據組成的數列,然后依次將U中的數據插到有序序列S中,直到U變為空。

  適用場景:當數據已經基本有序時,采用插入排序可以明顯減少數據交換和數據移動次數,進而提升排序效率。

  (2)希爾排序

  特點:非穩定排序,原地排序,時間復雜度O(n^lamda)(1 < lamda < 2), lamda和每次步長選擇有關。

  思想:增量縮小排序。先將序列按增量劃分為元素個數近似的若干組,使用直接插入排序法對每組進行排序,然后不斷縮小增量直至為1,最后使用直接插入排序完成排序。

  適用場景:因為增量初始值不容易選擇,所以該算法不常用。

  3.2 交換排序

  (1)冒泡排序

  特點:穩定排序,原地排序,時間復雜度O(N*N)

  思想:將整個序列分為無序和有序兩個子序列,不斷通過交換較大元素至無序子序列首完成排序。

  適用場景:同直接插入排序類似

  (2)快速排序

  特點:不穩定排序,原地排序,時間復雜度O(N*lg N)

  思想:不斷尋找一個序列的樞軸點,然后分別把小于和大于樞軸點的數據移到樞軸點兩邊,然后在兩邊數列中繼續這樣的操作,直至全部序列排序完成。

  適用場景:應用很廣泛,差不多各種語言均提供了快排API

  3.3 選擇排序

  (1)簡單選擇排序

  特點:不穩定排序(比如對3 3 2三個數進行排序,第一個3會與2交換),原地排序,時間復雜度O(N*N)

  思想:將序列劃分為無序和有序兩個子序列,尋找無序序列中的最小(大)值和無序序列的首元素交換,有序區擴大一個,循環下去,最終完成全部排序。

  適用場景:交換少

  (2) 堆排序

  特點:非穩定排序,原地排序,時間復雜度O(N*lg N)

  思想:小頂堆或者大頂堆

  適用場景:不如快排廣泛

  3.4 其它排序

  (1) 歸并排序

  特點:穩定排序,非原地排序,時間復雜度O(N*N)

  思想:首先,將整個序列(共N個元素)看成N個有序子序列,然后依次合并相鄰的兩個子序列,這樣一直下去,直至變成一個整體有序的序列。

  適用場景:外部排序

  4. 非基于比較的排序算法

  非基于比較的排序算法主要有三種,分別為:基數排序,桶排序和計數排序。這些算法均是針對特殊數據的,不如要求數據分布均勻,數據偏差不會太大。采用的思想均是內存換時間,因而全是非原地排序。

  4.1 基數排序

  特點:穩定排序,非原地排序,時間復雜度O(N)

  思想:把每個數據看成d個屬性組成,依次按照d個屬性對數據排序(每輪排序可采用計數排序),復雜度為O(d*N)

  適用場景:數據明顯有幾個關鍵字或者幾個屬性組成

  4.2 桶排序

  特點:穩定排序,非原地排序,時間復雜度O(N)

  思想:將數據按大小分到若干個桶(比如鏈表)里面,每個桶內部采用簡單排序算法進行排序。

  適用場景:0

  4.3 計數排序

  特點:穩定排序,非原地排序,時間復雜度O(N)

  思想:對每個數據出現次數進行技術(用hash方法計數,最簡單的hash是數組!),然后從大到小或者從小到大輸出每個數據。

  使用場景:比基數排序和桶排序廣泛得多。

  5. 總結

  對于基于比較的排序算法,大部分簡單排序(直接插入排序,選擇排序和冒泡排序)都是穩定排序,選擇排序除外;大部分高級排序(除簡單排序以外的)都是不穩定排序,歸并排序除外,但歸并排序需要額外的存儲空間。對于非基于比較的排序算法,它們都對數據規律有特殊要求 ,且采用了內存換時間的思想。排序算法如此之多,往往需要根據實際應用選擇最適合的排序算法。

【排序算法的算法思想和使用場景總結】相關文章:

排序算法的算法思想和使用場景總結09-06

《算法與流程圖》評課稿09-23

九年級數學《生活與算法》評課稿(通用12篇)08-21

個人思想和工作總結范文09-25

年度思想和工作總結09-23

思想和業務技術工作總結(精選10篇)10-20

解放思想是做好工作的前提和基礎的總結10-10

關于個人思想和工作總結(精選16篇)10-24

學校音樂室管理和使用工作總結09-10

教師教學經驗和思想工作總結11-15

主站蜘蛛池模板: 日日干夜夜艹 | 狼人视频国产在线视频www色 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 特大黑人娇小亚洲女喉交 | xnxx国产精品hd| 国产偷人视频 | 亚洲另类无码专区丝袜 | 一本大道久久精品懂色aⅴ 精品免费在线观看 | 无套内射在线观看theporn | 亚洲国产欧美国产第一区 | 欧美日韩 一区二区三区 | 少妇高潮潮喷到猛进猛出小说 | yy111111少妇无码理论片 | 国产乱子乱人伦电影在线观看 | 欧美淫网站 | 综合136福利视频在线 | 欧美在线激情视频 | 东京热无码中文字幕av专区 | av在线亚洲男人的天堂 | 一本一本久久a久久精品 | 欧美日韩国产成人高清视频 | 久久久一本二本三本 | 国产成人精品免费视频大全五级 | 国产素人在线观看 | 日韩va视频| 美女黄频视频大全免费的国内 | 国产婷婷色综合av蜜臀av | 999国内精品永久免费视频 | 精品久久久久av免费观看 | 又爽又大久久久级淫片毛片 | 在线男人天堂 | 亚洲 自拍 色综合图区av网站 | 日韩精品人成在线播放 | 久久97超碰 | 国产主播中文字幕 | 国产精品苏妲己野外勾搭 | 成年人在线免费看 | 日本视频高清一道一区 | 性―交―乱―色―情 | 少妇无套内谢在线播放 | 免费国产人成网站x8x8 | 天天干狠狠操 | 亚洲狠狠丁香婷婷综合久久久 | 在线观看av黄 | 成人性生交大片免费看网 | 亚洲一区免费在线观看 | 狠狠色噜噜狠狠狠888777米奇 | 日本亲子乱子伦xxxx50路 | 国产欧美日韩亚洲18禁在线 | 亚洲国产成人av人片久久 | 午夜va| 国产精品免费看片 | 香蕉视频在线观看一区二区 | 波多野结衣黄色网址 | 免费看欧美大片 | 国产白浆一区二区 | 黄色影院成人 | 日本大片黄 | 99久在线国内在线播放免费观看 | 国产人与zoxxxx另类一一 | 中文字幕在线免费看线人 | 永久黄网站色视频免费 | 日韩一区二区三免费高清在线观看 | 亚洲精品尤物 | 精品国产一区二区三区不卡在线 | 久久久少妇高潮久久久久 | 91精品久久久久久久91蜜桃 | 九九热免费精品 | 亚洲综合最新无码2020av | 青青色综合 | 蜜桃av色欲a片精品一区 | 日韩精品一级视频 | 午夜一区一品日本 | 手机看黄色 | 亚洲国产综合精品 在线 一区 | 极品 在线 视频 大陆 国产 | 小明看欧美日韩免费视频 | 一起草av在线 | 国产精品丝袜一区二区 | 国产精品国产三级国产专i 91在线免费看 | 国产爽视频 | 潮喷失禁大喷水av无码 | 国产v亚洲v欧美v精品综合 | 夜夜嗨视频 | 性欧美8khd高清极品 | 日韩女同hd | 日本少妇bbb | 日韩精品久久一区二区桃色 | 国产精品自在线拍国产 | 18禁强伦姧人妻又大又 | 亚洲春色网| 人妻精品人妻无码一区二区三区 | 九九综合久久 | 丝袜a∨在线一区二区三区不卡 | 国产在线第一区二区三区 | 国产成人高清亚洲一区妲妃 | 国av在线| 成人免费毛片在线观看 | 噢宝贝你里面又紧又湿 |