设置T中“败者”的初值//依次从R[k-1],R[k-2],…,R[0]出发调整败者
for(i=k-1;k>=0;i--) Adjust(T,i);
}//CreateLoserTree
下面关于算法说法错误的是( )
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的
2、程序段(伪代码)
FOR i:=n-1 DOWNTO 1 DO
FOR j:=1 TO i DO
IF A[j]>A[j+1]
THEN A[j]与A[j+1]对换;
其中 n 为正整数,则最后一行的语句频度在最坏情况下是( )
A O(n) B O(nlogn) C O(n3) D O(n2)
3、栈底至栈顶依次存放元素a、b、c。在第四个元素d入栈前,栈中元素可以出栈,则出栈序列可能是( )
A abcd B dabc C cbda D cdab
4、在一个单链表中HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行 。
A p.link=q.link;q.link=p; B q.link=p.link;p.link=q;
C p.link=q.link;q=p; D q.link=p.link;p.link=q;
5、二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历: HFIEJKG 。该二叉树根的右子树的根是()
A E B F C G D H
、就平均性能而言,目前最好的内排序方法是( )排序法。
A 冒泡 B 希尔插入 C 交换 D 快速
9、若一棵二叉树具有10个度为2 的结点,5个度为1的结点,则度为0的结点个数是( )。
A 9 B 11 C 15 D 不确定
一、填空题(每空2分,共30分)
1、数据结构是研讨数据的 ,以及它们之间的相互关系,并对与这种结构定义相应的 ,设计出相应的 。
2、 是限定仅在表尾进行插入或删除操作的线性表。
3、深度为k 的完全二叉树至少有___ ____个结点,至多有___ ____个结点。
5、克鲁斯卡尔算法的时间复杂度为 ,它对 图较为适合
6、Dijkstra 最短路径算法从源点到其余各顶点的最短路径的路径长度按 次序依次产生,该算法弧上的权出现 情况时,不能正确产生最短路径
7、快速排序在平均情况下的时间复杂度为 ,最坏情况下的时间复杂度为 。
三、运算题(每小题6分,共30分)
2、已知一个带权图的顶点集V和边集G分别为:
V={0,1,2,3,4,5};
E={(0,1)2,(0,2)5,(0,3)12,(1,5)6,(2,3) 5,(2,4)13,(3,5)9,
(4,5)10},
则求出该图的最小生成树及最小生成树的权。
4、已知图的邻接矩阵为:
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
V1 0 1 1 1 0 0 0 0 0 0
V2 0 0 0 1 1 0 0 0 0 0
V3 0 0 0 1 0 1 0 0 0 0
V4 0 0 0 0 0 1 1 0 1 0
V5 0 1 0 0 0 0 1 0 0 0
V6 0 0 1 0 0 0 0 1 1 0
V7 0 0 0 0 1 0 0 0 1 0
V8 0 0 0 0 0 0 0 0 0 1
V9 0 0 0 0 1 0 0 0 0 1
V10 0 0 1 0 0 0 0 0 0 0
当用邻接表作为图的存储结构,且邻接表都按序号从大到小排序时,试写出:
(1)以顶点V1 为出发点的唯一的深度优先遍历;
(2)以顶点V1 为出发点的唯一的广度优先遍历;
5、求出下图G=(E,V)中v0到其它顶点的最短路径。
E={v0、v1、v2、v3、v4、v5、v6}
V={、v2>、、v3>、、v0>、、v1>、、v3>、、v4>、、v4>、、v5>、、v3>}
借助于快速排序的算法思想,在一组无序的记录中查找给定关键字值等于 key 的记录。设此组记录存放于数组 r[l..h]中。若查找成功,则输出该记录在 r 数组中的位置及其值,否则显示“not find”信息。请编写出算法并简要说明算法思想。