我下vip免费资源网 www.woxia.net 该算法将会有什么变化,是否还能正确工作?【上海海运学院 1998 六 (10分)】 17.下面是冒泡排序算法,请阅读并完成该程序,并回答以下问题:
PROCEDURE bubblesort (r,n) BEGIN
i:=1; m:=n-1; flag:=1;
WHILE (i<=(1)___)AND(flag=(2)____) DO BEGIN
flag:= (3)___; FOR j:=1 TO m DO
IF r[j].key>r[j+1].key THEN
BEGIN flag:= (4)___; t:=r[j]; r[j]:=r[j+1]; r[j+1]:=t END; i:=i+1;m:=m-1
END; END.
(1) 请在上面横线上填上适当的语句,完成该算法程序。 (2) 设计标志flag的作用是什么?
(3) 该算法结点的最大比较次数和最大移动次数是多少?
(4) 该分类算法稳定吗? 【上海海运学院 1996 六(12分) 1999 六(16分)】 18.仔细阅读下面的过程,并回答有关的问题
PROCEDURE unknownname(VAR A:array[1..500] OF integer;n:integer); VAR i,j,x:integer; b:boolean; BEGIN
b:=true; i:=1;
WHILE (i b:=false; FOR j:=1 TO(1)___DO IF(2)___ THEN BEGIN x:=A[j]; A[j]:=A[j+1]; A[j+1]:=x; (3)___ END; i:=i+1; END END; 【西安电子科技大学 2001计应用 六 (14分)】 (1) 在 中填上正确的语句,使该过程能完成预期的功能。 (2) 该过程使用的是什么排序方法? (3) 当数组A的元素初始时已按值递增排序,该过程执行中会进行多少次比较?多少次交换? (4) 当数组A的元素初始时已按值递减排序,该过程执行中会进行多少次比较?多少次交换? 19.写出下列排序算法的基本思想,并写出对序列(23,12,35,47,16,25,36,19,21,16)进行排序时每一趟的结果。 PROC bbsort(VAR r: sequence; n: integer); 我下vip免费资源网 www.woxia.net {r是一个数组} d:=1; pos[-1]:=1; pos[1]:=n; i:=1; exchanged:= true; WHILE exchanged DO [ exchanged:= false; WHILE i<>pos[d] DO [IF (r[i]-r[i+d])*d>0 THEN [r[i]与r[i+d]交换; exchanged:=true;]; i:=i+d; ] pos[d]:=pos[d]-d; i:=pos[d]; d:=-d; ] ENDP; 【山东科技大学 2002 五 (12分)】 20.设要求从大到小排序。问在什么情况下冒泡排序算法关键字交换的次数为最大。 【南京航空航天大学 1996 九、1 (4分)】 21.设与记录R1,R2,?,Rn对应的关键词分别是K1,K2,?,Kn。如果存在Ri和Rj使得j 22.现有一文件F含有1000个记录,其中只有少量记录次序不对,且它们距离正确位置不远;如果以比较和移动次数作为度量,那末将其排序最好采用什么方法?为什么?【北方交通大学 1997 四(8分)】 23.分析下面排序算法中各带标号语句的频度及此算法的时间复杂度,并指出该算法是属于哪一种排序方法。 【北京邮电大学 1996 一、2 (7分)】 PROCEDURE sort (VAR a: ARRAY [1..n] OF integer); BEGIN 1 FOR i:=1 TO n-1 DO 2 [j:=i;