[考題] 103高考資料處理 插入排序法

看板Examination作者 (star)時間11年前 (2014/08/10 09:41), 編輯推噓5(5011)
留言16則, 7人參與, 最新討論串1/1
排序的元素太多且無法複製到不同的儲存區的元素順序的排列方法一般稱之為內部排序 (Internal Sort)法,請說明下列程式虛擬碼(Pseudo Code)演算過程的意義,並請 說明其排序法的名稱為何?(10分)並請用數列(X1, X2, X3, X4, X5)=(8, 7, 2, 4, 6 )為例說明其運算內容。(15分) 演算程式虛擬碼: 第一行 X0← -∞ 第二行 For j=2 to n do 第三行 i ← j-1 第四行 t ← Xj 第五行 While t < Xi do 第六行 Xi+1 ← Xi 第七行 i← i-1 第八行 Xi+1 ← t 高X和志X的答案皆為插入排序法,不才也懂的插入排序法的基本原理,但題目的演算程 式虛擬碼看不太懂:1.感覺是數學的極限,但寫法似乎是顛倒的。 2.裡面感覺夾雜著for和While語法。 總而言之,雖然短短幾行,就是不解其意(不才非資訊相關科系)。資訊或統計類的 高手能否為不才針對每行進行較詳細淺顯的解說?另外不才要如何補強程式與程式虛擬 碼這一塊?也請高手們能不吝指教,感激不盡! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.40.71 ※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1407634912.A.DDF.html

08/10 10:18, , 1F
虛擬碼本來就無固定寫法,第一行應該是想表示X0不存在(
08/10 10:18, 1F

08/10 10:19, , 2F
1.你想的太難了 把符號變成=, Xj看成陣列
08/10 10:19, 2F

08/10 10:20, , 3F
我認為啦!);"←"則相當於程式語言中的"="
08/10 10:20, 3F

08/10 10:20, , 4F
2. 拿真的code出來看
08/10 10:20, 4F

08/10 10:24, , 5F
迴圈請自己再去多翻閱書籍吧!文字很難說清楚…
08/10 10:24, 5F

08/10 10:25, , 6F
for裡面沒寫條件,條件判斷放在while
08/10 10:25, 6F

08/10 10:27, , 7F
真的用程式寫,for+if 或 do while+if就可以處理掉了
08/10 10:27, 7F

08/10 10:28, , 8F
我蠻討厭看虛擬碼的,很簡單的東西搞得很複雜
08/10 10:28, 8F

08/10 10:30, , 9F
想加強程式語言可看看交大鄭昌杰老師的開放課程,課程
08/10 10:30, 9F

08/10 10:30, , 10F
對象是高中生且可實際寫C語言,缺點是課程很長且高中
08/10 10:30, 10F

08/10 10:31, , 11F
生挺吵的,建議心有餘力再看。
08/10 10:31, 11F

08/10 11:47, , 12F
想再請問各位高手第5行到第8行的意思
08/10 11:47, 12F

08/10 14:58, , 13F
第一行是X0為極小數,while迴圈裡才能比較。
08/10 14:58, 13F

08/10 14:59, , 14F
5~8行是在將元素排在正確的位置。
08/10 14:59, 14F

08/10 21:46, , 15F
開放式課程還有另一位上的,鄭的課堂有小屁孩很吵,一直叫
08/10 21:46, 15F

08/16 16:44, , 16F
感覺也很像氣泡排序法
08/16 16:44, 16F
文章代碼(AID): #1JvitWtV (Examination)