[考题] 103高考资料处理 插入排序法

楼主: hongsing (star)   2014-08-10 09:41:49
排序的元素太多且无法复制到不同的储存区的元素顺序的排列方法一般称之为内部排序
(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语法。
总而言之,虽然短短几行,就是不解其意(不才非资讯相关科系)。资讯或统计类的
高手能否为不才针对每行进行较详细浅显的解说?另外不才要如何补强程式与程式虚拟
码这一块?也请高手们能不吝指教,感激不尽!
作者: folksuite (Z)   2014-08-10 10:18:00
虚拟码本来就无固定写法,第一行应该是想表示X0不存在(
作者: okstephen1 (ㄌㄩㄝ)   2014-08-10 10:19:00
1.你想的太难了 把符号变成=, Xj看成阵列
作者: folksuite (Z)   2014-08-10 10:20:00
我认为啦!);"←"则相当于程式语言中的"="
作者: okstephen1 (ㄌㄩㄝ)   2014-08-10 10:20:00
2. 拿真的code出来看
作者: folksuite (Z)   2014-08-10 10:24:00
循环请自己再去多翻阅书籍吧!文字很难说清楚…
作者: aldam (aldam)   2014-08-10 10:25:00
for里面没写条件,条件判断放在while真的用程式写,for+if 或 do while+if就可以处理掉了我蛮讨厌看虚拟码的,很简单的东西搞得很复杂
作者: folksuite (Z)   2014-08-10 10:30:00
想加强程式语言可看看交大郑昌杰老师的开放课程,课程对象是高中生且可实际写C语言,缺点是课程很长且高中生挺吵的,建议心有余力再看。
楼主: hongsing (star)   2014-08-10 11:47:00
想再请问各位高手第5行到第8行的意思
作者: Horvitz (霍维茨)   2014-08-10 14:58:00
第一行是X0为极小数,while循环里才能比较。5~8行是在将元素排在正确的位置。
作者: ai8051 (aii)   2014-08-10 21:46:00
开放式课程还有另一位上的,郑的课堂有小屁孩很吵,一直叫

Links booklink

Contact Us: admin [ a t ] ucptt.com