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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【算法基础笔记】常用的排序算法的时间、空间复杂度,部分排序算法原理

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【算法基础笔记】常用的排序算法的时间、空间复杂度,部分排序算法原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

冒泡排序

  • 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
  • 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。
  • 針對所有的元素重復以上的步驟,除了最后一個。
  • 持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較
  • 堆排序

  • 將初始待排序關鍵字序列(R1,R2....Rn)構建成大頂堆,此堆為初始的無須區;
  • 將堆頂元素R[1]與最后一個元素R[n]交換,此時得到新的無序區(R1,R2,......Rn-1)和新的有序區(Rn),且滿足R[1,2...n-1]<=R[n];?
  • 由于交換后新的堆頂R[1]可能違反堆的性質,因此需要對當前無序區(R1,R2,......Rn-1)調整為新堆,然后再次將R[1]與無序區最后一個元素交換,得到新的無序區(R1,R2....Rn-2)和新的有序區(Rn-1,Rn)。不斷重復此過程直到有序區的元素個數為n-1,則整個排序過程完成。
  • 計數排序

  • 遍歷一遍整個數組,找出數組中最大數和最小數之間的差距 range,然后開辟一個大小為range的數組count并全部初始化為0;
  • 再次遍歷整個數組,把每個元素的值映射到count的下標index,每映射到一個index,就把count[index]加一;
  • 根據統計結果count,把數寫會原數組,某個值index要寫count[index]遍到原數組,這樣,原數組就有序了
  • ?

    轉載于:https://www.cnblogs.com/65Seeker/p/10229152.html

    總結

    以上是生活随笔為你收集整理的【算法基础笔记】常用的排序算法的时间、空间复杂度,部分排序算法原理的全部內容,希望文章能夠幫你解決所遇到的問題。

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