如何分析一個排序算法? 分析一個排序算法的三要素:排序算法的執行效率、排序算法的內存消耗以及排序算法的穩定性。 排序算法的執行效率 對於排序算法執行效率的分析,一般是從以下三個方面來衡量: 最好情況、最壞情況、平均情況時間復雜度 時間復雜度的系數、常數、低階 比較次數和交換 ...
這三種排序有倆個過程: .比較倆個數據。 .交換倆個數據或復制其中一項。 這三種排序的時間級別 冒泡排序:比較 N N ... N N N 交換 N N 總時間 N 選擇排序:比較 N N ... N N N 交換 N N N 總時間N N 插入排序:第一輪最多比較一次,第二輪最多比較倆次,最后一輪比較N 次,所以最多比較N N 。 復制的次數和比較的次數大致相等,但是復制消耗的時間比交換要小. ...
2017-09-16 20:54 0 6172 推薦指數:
如何分析一個排序算法? 分析一個排序算法的三要素:排序算法的執行效率、排序算法的內存消耗以及排序算法的穩定性。 排序算法的執行效率 對於排序算法執行效率的分析,一般是從以下三個方面來衡量: 最好情況、最壞情況、平均情況時間復雜度 時間復雜度的系數、常數、低階 比較次數和交換 ...
1、冒泡算法。 冒泡算法是最基礎的一個排序算法,每次使用第一個值和身后相鄰的值進行比較,如果是升序將大數向左邊交換,降序則向右邊交換。最終將大數移動到一邊,最終排成一個序列: public class Sorting { public void BubbleSorting ...
冒泡排序 原理: 從第一個數據開始,與第二個數據相比較,如果第二個數據小於第一個數據,則交換兩個數據的位置。 指針由第一個數據移向第二個數據,第二個數據與第三個數據相比較,如果第三個數據小於第二個數據,則交換兩個數據的位置 ...
結果: ...
一:冒泡法排序 //冒泡排序 注:從小到大排 //特點:效率低,實現簡單 //思想:每一趟將待排序序列中最大元素移到最后,剩下的為新的待排序序列,重復上述步驟直到排完所有元素。 這只是冒泡排序的一種,當然也可以從后往前排。 算法步驟 ...
一、冒泡排序 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。 針對所有的元素重復以上的步驟,除了最后一個,即需要進行length-1次 ...
相同點: 冒泡排序和插入排序都是把數組分成兩塊,一塊是已排好序,剩下的是未排好序。按照標准的時間復雜度和空間復雜度來算,兩個算法都是O(n^2)時間復雜度,和常數空間復雜度。兩個算法都是通過一步一步的移動元素達到最后的位置。 有兩點差異我比較關注:元素比較的次數和元素移動的次數。 元素比較次數 ...
文章總結了幾種常用排序算法: 冒泡排序,選擇排序,插入排序,希爾排序,快速排序。 假設有一隊棒球隊員 如圖3.1,3.2,需要對棒球隊員進行排序: 我們知道計算機不能像人一樣通攬所有棒球隊員。計算機只能在同一時間內對兩個隊員進行比較,因此計算機只能一步步解決具體問題和遵循一些簡單的規則 ...