演算法入門Bu1 排序

2021-10-03 09:40:41 字數 801 閱讀 9279

棧 佇列 鍊錶 樹 並差集 堆 圖等;

排序 列舉 深度和廣度優先搜尋 圖的遍歷 圖中最短路徑演算法 最小生成樹演算法 割點和割遍演算法 二分圖的最大匹配演算法等;

特點:

缺點:

每乙個桶記錄的次數,無法對應具體分數的其他資訊;

很浪費空間,申請的桶個數需要是資料範圍數m+1,但可能實際需要排序的數字很少;排序小數的話也會很麻煩;

特點:

應用:

結合複雜的資料結構陣列,可以避免 簡單桶排序 的第乙個問題;

缺點:

時間複雜度很高,執行效率低;

特點:

實現方式:

快速排序的每一輪處理 其實就是將這一輪的基準數 歸位;所有基準數都歸位了,排序也就結束了;

相比與氣泡排序交換相鄰,快速排序的交換是跳躍式的;最壞的情形,其時間複雜度和冒泡一樣都是o(n^2);平均的時間複雜度:o(n*log n);

快速排序基於二分的思想;基於while迴圈和遞迴呼叫,可以方便的寫出乙個遞迴的快速排序;非遞迴的快排使用棧實現,參考之前寫過的一篇《 排序演算法-快速排序》;

選擇排序、計數排序、基數排序、插入排序、歸併排序、堆排序(基於二叉樹);

演算法1 排序

氣泡排序 氣泡排序,比較相鄰的元素由小到大排序 function bubblesort arr return arr view code 快速排序 以基數為標準,最右開始查小於基數停止,最左邊開始查大於基數停止,互換位置停止的位置 left right表示基數左為小於基數,基數右大於基數的 拆分基數...

演算法 排序1 排序

題目 給定n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 輸入第一行給出正整數n 10 5 隨後一行給出n個 長整型範圍內的 整數,其間以空格分隔。在一行中輸出從小到大排序後的結果,數字間以1個空格分隔,行末不得...

09 排序1 排序

09 排序1 排序 25 分 給定n 個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 include include includeusing namespace std const int cutoff 1000...