国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

排序算法(5)——插入排序

2019-11-06 06:43:01
字體:
來源:轉載
供稿:網友

[

1、插入排序的思想

這里寫圖片描述 這里寫圖片描述 這里寫圖片描述

2、插入排序的實現

void insert_sort(int *a,int n){ int i,j,key; for(i=1;i<n;i++)//控制需要插入的元素 { key=a[i]; //key為要插入的元素 for(j=i;j>0 && a[j-1]>key;j--) //查找要插入的位置,循環結束,則找到插入位置 a[j] = a[j-1]; //移動元素的位置.供要插入元素使用 a[j] = key; //插入需要插入的元素 }}

2、插入排序的性能

1)、時間復雜度 最差時間復雜度為 O(n^2)。當數據是逆序的,比較次數和交換次數都是1+2+3+…i+…(n-1),即n*(n-1)/2。 最好時間復雜度是O(n)。當數據是已經排好序的,這時內層的for檢測總是判定不成立的。 平均時間復雜度為 O(n^2)。因為平均時間復雜度接近于最差時間復雜度。

2)、穩定性 插入排序是穩定的排序算法。因為它是從右往左找合適的(不大于它)位置,再進行插入,所以即便有兩個相等的元素,經過排序,前后還關系依舊維持。

和其它層算法的比較: 插入排序和冒泡排序都是穩定的排序。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蓬安县| 井陉县| 南雄市| 东乌| 洪洞县| 柳江县| 邳州市| 古浪县| 韶山市| 乌拉特前旗| 尼勒克县| 文成县| 尼玛县| 宣威市| 蓝田县| 九龙城区| 井陉县| 广饶县| 滁州市| 周至县| 军事| 茂名市| 东辽县| 临夏市| 吴川市| 广宁县| 福泉市| 六枝特区| 阿坝| 永年县| 天津市| 龙井市| 鲁山县| 孙吴县| 通辽市| 高州市| 绵竹市| 达拉特旗| 赤水市| 塔城市| 塔城市|