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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

程序猿修仙之路--算法之直接插入排序

發布時間:2025/6/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序猿修仙之路--算法之直接插入排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

==算法主要衡量標準==


  • 時間復雜度(運行時間)

在算法時間復雜度維度,我們主要對比較和交換的次數做對比,其他不交換元素的算法,主要會以訪問數組的次數的維度做對比。

其實有很多同學對于算法的時間復雜度有點模糊,分不清什么所謂的 O(n),O(nlogn),O(logn)...等,也許下圖對一些人有一些更直觀的認識。

  • 空間復雜度(額外的內存使用)

排序算法的額外內存開銷和運行時間同等重要。 就算一個算法時間復雜度比較優秀,空間復雜度非常差,使用的額外內存非常大,菜菜認為它也算不上一個優秀的算法。

  • 結果的正確性

這個指標是菜菜自己加上的,我始終認為一個優秀的算法最終得到的結果必須是正確的。就算一個算法擁有非常優秀的時間和空間復雜度,但是結果不正確,又有什么意義呢?

==原理==


每次在無序的列表中取一個元素插入到一個有序列表的適當位置,成為一個元素加1的新的有序列表。

插入排序根據原理又分為 直接插入排序、二分插入排序、希爾排序等,今天主要講一下直接插入排序。直接插入排序是一種穩定的排序算法

假設排序順序從左至右,具體步驟如下:

  • 列表第一個元素和前面元素比較,如果小于前面元素(其實不存在),則交換位置。(這步其實可以沒有)
  • 列表第二個元素和前面元素(第一個元素)比較,如果小于前面元素,則交換位置。
  • 列表第三個元素和前面元素(第二個元素)比較,如果小于前面元素,則交換位置。如果和前面元素交換了位置,現在在第二個位置上,則接著繼續和前面元素比較(第一個元素),如果小于前面元素,接著再次交換位置,然后再次重復比較過程....
  • ...繼續重復以上過程,直到最后一個元素完成比較

    比較移動過程中,如果元素不需要移動意味著該元素排序完畢。

    ++網絡上的插入排序大多都是新建一個有序列表用來存放最終結果,其實在無序列表上進行排序操作空間復雜度才更優++

    也許一張更直觀的圖比上千句話效果都好:

    ==復雜度==

    • 時間復雜度
  • 比較次數
  • 對于長度為N的主鍵不重復的列表,插入排序 平均情況下需要n2/4次比較,最壞情況下需要n2/2次比較,最好的情況下需要n-1 次比較。

  • 交換次數
  • 對于長度為N的主鍵不重復的列表,插入排序平均情況下需要n2/4次交換,最壞情況下需要n2/2次交換,最好情況下需要0次交換。

    ==性能和特點==


    總體來說,直接插入排序是一種比較簡單的排序算法,很容易理解也很好用代碼實現,當然他的特點也很明顯:

    運行時間和數據初始狀態有關

    插入排序的思想是把一個元素插入一個有序的列表中,假如這個元素的位置正好是有序部分的末尾呢?也就是說當前元素不用移動位置。 再一次假如整個列表都是有序的會發生什么情況呢?根本就不需要移動任何元素。這也就是為什么在最好的情況下交換次數為0,比較次數為n-1的原因。

    假如列表的很大一部分元素是有序的,插入排序可能比大多數排序算法都要快。

    ==適用場景==

    直接插入排序對于小型列表或者非隨機元素列表很有效。例如:部分元素有序。大體可歸納為:

  • 每個元素距離自己的最終位置都不遠。
  • 一個有序的大列表連接一個小列表。
  • 列表中只有少數元素不正確。
  • ==其他==

    • 為什么插入排序是穩定呢?

    插入排序是在一個已經有序的小序列的基礎上,一次插入一個元素。當然,剛開始這個有序的小序列只有1個元素,就是第一個元素。比較是從有序序列的末尾開始,也就是想要插入的元素和已經有序的最大者開始比起,如果比它大則直接插入在其后面,否則一直往前找直到找到它該插入的位置。如果碰見一個和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后順序沒有改變,從原無序序列出去的順序就是排好序后的順序,所以插入排序是穩定的。

    ==實現案例==

    • c#
    static void Main(string[] args){List<int> data = new List<int>() ;for (int i = 0; i < 10; i++){data.Add(new Random(Guid.NewGuid().GetHashCode()).Next(1, 100));}//打印原始數組值Console.WriteLine($"原始數據: {string.Join(",", data)}");int n = data.Count;//此處可以直接從第二個元素開始for (int i = 1; i < n; i++){ //查找最小的元素的索引for (int j = i; j>0 ; j--){if (data[j] < data[j - 1]){//異或法 交換兩個變量,不用臨時變量data[j] = data[j] ^ data[j-1];data[j-1] = data[j] ^ data[j - 1];data[j ] = data[j] ^ data[j - 1];}}}//打印排序后的數組Console.WriteLine($"排序數據: {string.Join(",", data)}");Console.Read();} 復制代碼

    運行結果:

    原始數據: 72,78,42,60,84,74,60,79,72,52

    排序數據: 42,52,60,60,72,72,74,78,79,84

    Go

    家里沒環境,還得翻墻,以后再補上吧,望見諒。


    獨樂不如眾樂

    我表弟在追學校的一個女生,每天短信無數,可那妞從來都不回他。我對他說:騷年!女人的天性只是八卦和好奇心!就你這樣還想泡妞呢!看你表哥的!我用他手機給那妞發:你是我們學校三大美女之一,但我只喜歡你。半分鐘之后,那妞就回了:另外兩個是誰,你為什么只喜歡我啊?

    添加關注,查看更精美版本,收獲更多精彩

    轉載于:https://juejin.im/post/5cafe94b5188251b2f3a521f

    總結

    以上是生活随笔為你收集整理的程序猿修仙之路--算法之直接插入排序的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 久久久久久久极品 | 日本精品久久久久中文字幕 | 黄色一级片网站 | 美国av大片| 友田真希一区二区 | 久久第一页 | 91超碰人人| 日韩视频一区二区三区在线播放免费观看 | 亚洲国产日韩一区二区 | 日韩精品国产一区二区 | 麻豆精品av | 午夜性福利视频 | 欧美毛片免费看 | 大尺度电影在线 | 欧美性受xxxx黑人 | 女性向片在线观看 | youjizz日本人 | 成人女同av免费观看 | 青青久操 | 中文人妻熟妇乱又伦精品 | 91精品色 | 天堂免费在线视频 | 欧美激情在线一区二区 | 欧美日韩精| 黄色链接视频 | 欧美日韩在线免费观看 | 久久综合精品国产二区无码不卡 | 免费无码一区二区三区 | 精品一区二区在线播放 | 色涩久久 | 国产又爽又黄的视频 | 草民午夜理伦三级 | 国产精品免费久久久久 | 欧美高清另类 | 日本免费中文字幕 | 秘密基地在线观看完整版免费 | 日韩av中文字幕在线免费观看 | 国产精品无码AV | 在线碰| av小说在线观看 | 中文字幕自拍 | av导航网站| 古装做爰无遮挡三级视频 | 亚洲成人www | 13日本xxxxxⅹxxx20| 美女网站污| 久久免费的精品国产v∧ | 午夜秋霞 | 欧美天天性影院 | 樱花影院最新免费观看攻略 | 国产精华7777777 | 国产精品久久久久999 | 精品福利在线观看 | 大尺度做爰床戏呻吟舒畅 | 亚洲人成电影在线播放 | 亚洲av无码一区二区乱子伦as | 二色av | 91一级视频| 优优色综合 | 91九色论坛| 亚洲自拍偷拍视频 | 农村老熟妇乱子伦视频 | √8天堂资源地址中文在线 欧美精品在线一区二区 | 激情网站视频 | 日韩av色图 | 在线免费黄网 | 一级片免费在线观看 | 中文在线观看免费网站 | 色97| 96在线观看 | 在线视频日韩 | 黑人巨大国产9丨视频 | 91久久国产综合久久 | 国产天堂视频 | 中文字幕一级二级三级 | 性猛交╳xxx乱大交 偷偷操不一样的久久 | 九色蝌蚪9l视频蝌蚪9l视频 | 怡红院国产 | 在线黄av| 欧美激情一区二区三区在线 | 日本久久久久久久久久久 | 欧美特级a | 日干夜干| 亚洲一区二区三区四区五区六区 | 国产精品jizz在线观看美国 | 欧美日韩黄色一级片 | 非洲一级片 | 久久伊人精品视频 | 日韩超碰| 1000部拍拍拍18勿入免费视频 | 美女色av | 国产午夜啪啪 | 超碰成人福利 | 亚洲性图视频 | 99产精品成人啪免费网站 | 美女aaa| 成人一区三区 | 国产h视频 | av在线不卡播放 |