第15周 「知原理」檢驗專案 3

2021-07-08 16:34:19 字數 1534 閱讀 5503

/*

*檔名稱:test.cpp

*作 者:徐群壯

*完成日期:2015.9.7

*版 本 號:v1.0

* *問題描述:給定序列

(1)請描述用直接插入排序演算法完成排序的過程

(2)請描述用希爾排序演算法完成排序的過程

*輸入描述:

*程式輸出:

*/

直接插入排序演算法過程:

排序思路:把給定序列分為有序區和無序區,剛開始時有序區只有57這個元素。接下來的操作

是將無序區的第乙個元素40,插入到前面有序區的合適位置當中去,使有序區重新整理。

具體過程如下:

初始關鍵字: (57),40,38,11,13,34,48,75,6,19,9,7

第1趟: (40,57),38,11,13,34,48,75,6,19,9,7

第2趟: (38,40,57),11,13,34,48,75,6,19,9,7

第3趟: (11,38,40,57),13,34,48,75,6,19,9,7

第4趟: (11,13,38,40,57),34,48,75,6,19,9,7

第5趟: (11,13,34,38,40,57),48,75,6,19,9,7

第6趟: (11,13,34,38,40,48,57),75,6,19,9,7

第7趟: (11,13,34,38,40,48,57,75),6,19,9,7

第8趟: (6,11,13,34,38,40,48,57,75),19,9,7

第9趟: (6,11,13,19,34,38,40,48,57,75),9,7

第10趟:(6,9,11,13,19,34,38,40,48,57,75),7

第11趟: (6,7,9,11,13,19,34,38,40,48,57,75)

希爾排序演算法過程:

排序思路:先取定乙個小於n的整數作為d1作為第乙個增量,把錶的全部記錄分為

d1個組,所有距離為d1的倍數的記錄放在同一組中,在各組內進行直接插入排序;

取第二個增量d2(d2的記錄放在同一組中進行直接插入排序為止。

具體過程如下:

57,40,38,11,13,34,48,75,6,19,9,7

d1=3 11,40,38,19,13,34,48,75,6,57,9,7 (將距離為3的倍數的記錄放在同一組內,即將組內57,11,48,19進行直接插入排序)

d2=2 6,40,9,19,11,34,13,75,38,57,48,7 (將距離為3的倍數的記錄放在同一組內,即將組內11,38,13,48,6,9進行直接插入排)

d3=1 6,7,9,11,13,19,34,38,40,48,57,75 (d=1時,進行直接插入排序)

知識點總結及學習心得:

希爾排序在每趟排序完成後,資料越來越接近有序,d的選取可以根據實際情況選取的靈活一點。

知原理 檢驗題目 第13周

本週 知原理 題目由以下同學傾情提供 學霸一組 其他小組等待上傳 1 針對下面的圖1 1 寫出圖的鄰接矩陣 2 按照prim演算法的思想,構造出最小生成樹 3 對照prim演算法的實現,以上圖作為引數g的值,用 畫一畫 的路線,走一遍演算法,畫出lowest和closest兩個輔助陣列的變化過程,觀...

第15周專案3

煙台大學計算機與控制工程學院 姓名 於琛 日期 2017.12.10 檔名稱 ycds2017 問題描述 採用歸併排序 快速排序等高效演算法進行排序,當資料元素較少時 如n 64 經常直接使用直接插入排序演算法等高複雜度的演算法。這樣做,會帶來一定的好處,例如歸併排序減少分配 臨時儲存區域的頻次,快...

第15周報告3

第15周報告3 實驗目的 學會ascii檔案的操作 實驗內容 從檔案中讀入資料,排序並輸出到另外乙個檔案中 程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 作 者 王智凱 完成日期 11年 12 月 01 日 版本號 小凱 對任務及求解方法的描述部分 輸入描述 檔案salary.txt 問題描述...