数据结构模拟考试试卷5
数据结构全真模拟试卷

1、线性表是具有n个______的有限序列(n>0)。
A.表元素B.字符C.数据元素D.数据项2、栈和队列都是______。
A.顺序存储的线性结构B.链式存储的线性结构C.限制存取点的线性结构D.限制存取点的非线性结构3、若对n阶对称矩阵A以行序列为主序方式将其上三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1….(n(n+1))/2]中,则在B中确定a ij(i<j)的位置k的关系为______。
A.i×(i-1)/2+jB.j×(j-1)/2+iC.i×(i+1)/2+jD.j×(j+1)/2+i4、树是以结点的分支定义______结构,表示数据元素之间______的关系。
①网状②层次③一对多④多对多 A.①④B.②④C.②③D.①③5、一棵非空的二叉树的先序序列和后序序列正好相反,则该二叉树一定满足______。
A.其中任意一个节点均无左孩子 B.其中任意一个节点均无右孩子C.其中只有一个叶结点 D.其中度为2的结点最多为一个6、一个含有n个顶点和e条边得简单无向图,在其邻接矩阵存储结构中共有______个零元素。
A.eB.2eC.n2-eD.n2-2e7、设网中的定点数为n,边的条数为e,则普里姆(Prim)最小生成树算法和克鲁斯卡尔(Kruskal)最小生成树算法的时间复杂度分别为______。
A.O(n2), O(n2) B.O(n2), O(eloge) C.O(n2), O(nlogn)D.O(nlogn), O(eloge)8、用顺序查找方法查找长度为n的线性表时,在等概率情况下的平均查找长度为______。
A.nB.n/2C.(n-1)/2D.(n+1)/29、某类排序方法的稳定性是指______。
A.该算法不允许有相同的关键字记录B.该算法允许有相同的关键字记录C.平均时间为O(nlogn)的排序方法D.以上都不对10、一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为______。
数据结构模拟试题及答案

数据结构模拟试题一一、判断题(每小题1 分,共15分)1.计算机程序处理的对象可分为数据和非数据两大类。
2.全体自然数按大小关系排成的序列是一个线性表。
3.在描述单向链表的结点类型时,必须首先描述数值字段,然后再描述指针字段。
4.顺序栈是一种规定了存储方法的栈。
5.树形结构中的每个结点都有一个前驱。
6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。
7.若某顶点是有向图的根,则该顶点的入度一定是零。
8.如果某图的邻接矩阵有全零的行,没有全零的列,则该图一定是有向图。
9.用一维数组表示矩阵可以节省存储空间。
10.广义表的长度与广义表中含有多少个原子元素有关。
11.分块查找的效率与线性表被分成多少块有关。
12.散列表的负载因子等于存入散列表中的结点个数。
13.在起泡排序过程中,某些元素可能会向相反的方向移动。
14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。
15.索引非顺序文件的特点是索引表中的索引项不一定按关键字大小有序排列。
二、填空题(每空1分,共15分)1.顺序表是一种_____________线性表。
2.若用Q[1]~Q[m]作为非循环顺序队列的存储空间,则对该队列最多只能执行___次插入操作。
3.栈和队列的区别在于________的不同。
4.在高度为h(h≥0)的二叉树中至少有___个结点,至多有___个结点。
5.若用二叉链表来存储具有m个叶子,n个分支结点的树,则二叉链表中有___个左指针域为空的结点,有___个右指针域为空的结点。
6.n个顶点的有根有向图中至少有___条边,至多有___条边。
7.10行20列矩阵若用行优先顺序表来表示,则矩阵中第8行第7列元素是顺序表中第___个元素。
8.在各元素查找概率相等的情况下,用顺序查找方法从含有12个元素的有序表中查找一个元素,元素间的平均比较次数是_____。
9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,至多是___次。
数据结构模拟卷

一、判断题 (每题1分,共10分)1. 有回路的有向图不能完成拓扑排序。
( )2. 图的深度优先搜索是一种典型的回溯搜索的例子,可以通过递归算法求解。
( )3. 边数很多的稠密图,适宜用邻接矩阵表示。
()4. 在二叉排序树中插入新结点时,新结点总是作为叶子结点插入。
()5. 对一个有向图进行拓扑排序,一定可以将图的所有顶点按其关键字大小排列到一个拓扑有序的序列中。
( )6. 算法和程序原则上没有区别,在讨论数据结构时二者是通用的。
( )7. 进行折半查找的表必须是顺序存储的有序表。
( )8. 对平衡二叉树进行中根遍历,可得到结点的有序序列。
()9. 邻接矩阵适用于稠密图(边数接近于顶点数的平方),邻接表适用于稀疏图(边数远小于顶点数的平方)( )。
10. 对一个连通图进行一次深度优先搜索可以遍访图中的所有顶点。
( )二、单项选择题 (每题2分,共20分)1. 在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是()。
A.O(1)B.O(n)C.O(n2)D.O(nlog2n)2. 数组A[5][6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[4][4]的地址为()。
A.1140B.1145C.1120D.11253. 在一个链队中,假设f和r分别为队首和队尾指针,则插入s所指结点的运算是()。
A.f->next=s;f=s;B.r->next=s;r=s;C.s->next=r;r=s;D.s->next=f;f=s;4. 在一个单链表中已知q所指的结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行()。
A. s->next=p->next;p->next=s;B.p->next=s->next;s->next=p;C. q->next=s;s->next=p;D.p->next=s;s->next=q;5. 对于如下图所示的带权有向图,从顶点1到顶点5的最短路径为()。
数据结构模拟题及答案

数据结构试题(A05)一、选择题(共10小题,每小题1分,共10分)1。
下面程序段的时间复杂度是( )m=0;for(i=1;i<=n;i++)for(j=1;j<=n;j++)m=m+1;A. O(n2) B。
O(m+n+1)C。
O(m+n)D。
O(n)2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继"的语句是()A。
p=p—>next; B.p—〉next=p->next—>next;C.p—>next=p;D.p=p->next—>next;3。
在长度为n的顺序表,当在任何位置上删除一个元素的概率相等时,删除一个元素需要移动的元素的平均个数为( )A.n/2B.(n-1)/ 2C.(n+1)/2D.(n+2)/24.一个栈的输入序列为 1 2 3 4 5,则下列序列中不可能是栈的输出序列的是()A. 2 3 4 1 5B. 5 4 1 3 2C. 2 3 1 4 5D. 1 5 4 3 26。
设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为( )A. r—fB. r—f+1C. (r-f)mod n+1D. (r—f+n) mod n7.以下序列不是堆的是()。
A。
(100,85,98,77,80,60,82,40,20,10,66)B.(100,98,85,82,80,77,66,60,40,20,10)C。
(100,85,40,77,80,60,66,98,82,10,20)D。
(10,20,40,60,66,77,80,82,85,98,100)8.在有序表(12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为( )。
A。
3 B。
4 C。
5 D. 29。
在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。
A.选择排序B.冒泡排序C。
快速排序 D.插入排序二、填空题(共20小题,每小题1分,共20分)1、在单链表中,删除指针P所指结点的后继结点的语句是.2、线性表的两种存储结构分别是和.3、己知完全二叉树的第4层有5个结点,则其叶子结点数是.4、将下三角矩阵A[1…。
十套数据结构模拟题+答案

数据结构试卷(一)一、选择题(20分)1.组成数据的基本单位是()。
(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是()。
(A) 线性结构(B) 树型结构(C) 图型结构(D) 集合3.数组的逻辑结构不同于下列()的逻辑结构。
(A) 线性表(B) 栈(C) 队列(D) 树4.二叉树中第i(i≥1)层上的结点数最多有()个。
(A) 2i (B) 2i(C) 2i-1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。
(A) p->next=p->next->next (B) p=p->next(C) p=p->next->next (D) p->next=p6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是()。
(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()。
(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()。
(A) 3 (B) 4 (C) 5 (D) 19.根据二叉树的定义可知二叉树共有()种不同的形态。
(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则()的空间复杂度最大。
(A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。
数据结构模拟试题5参考答案.

数据结构模拟试题5参考答案一、选择题(20分)1-5 C C D A A6-10 D B C B B二、填空题(20分)1.结点*p的左右链域为空2.深度优先3.N-14.A[N/2]5.sq.front=(sq.fron+1)%M (sq.rear+1)%M = = sq.front 6.4,9,14,17,207.0 入度减1 环三、应用题(30分)1.参考答案如下:1)二叉树2)对应的森林·2·数据结构上机实验与习题解析2.参考答案如下:3.参考答案如下:1)G1的邻接表和G1的逆邻接表2)G1的强连通分量第3部分模拟试题及参考答案·3·4.参考答案如下:2)所有字符的哈夫曼编码如下:A(7): 0011B(19): 011C(5): 0010D(16): 010E(42): 01F(11): 0005.参考答案如下:事件的发生时间活动的开始时间·4·数据结构上机实验与习题解析6.参考答案如下:1)该序列是一个小根堆四.算法设计题(30分)1.算法源代码如下:void fun(bitree T, char x, int m){ if(T){ m++;if(T->data==x) {printf("%d",m); return ;}fun (T->lchild,x,m);fun (T->rchild,x,m);}}main(){ bitree bt;int m=0;fun(bt,m);}2.算法源代码如下:#define maxsizetypedef struct{int elem[maxsize];第3部分模拟试题及参考答案·5·int top[2];}stack;stack s;1)入栈操作int push(int i,int x){ if(i<0||i>1) { printf("输入数据有误"); return 0;}if(s.top[1]-s.top[0]==1) {printf("栈满"); return 0;}switch(i){ case 0: s.elem[++s.top[0]]=x; break;case 1: s.elem[--s.top[1]]=x;}return 1;}2)出栈操作int pop(int i, int *x){ if(i<0||i>1) { printf("输入数据有误"); return 0;}switch(i){ case 0:if(s.top[0]==-1) {printf("栈空"); return -1;}else *x=s.elem[s.top[0]--];break;case 1:if(s.top[0]==maxsize) {printf("栈空"); return -1;}else *x=s.elem[s.top[1]++];}return 1;}3.算法源代码如下:void dijkshort(mgraph G,int v){int s[30]; int d[30]; int pre[30];int i,j,k,p,min;for(i=1;i<=G.vexnum;i++){ d[i]=G.arcs[v][i]; s[i]=0;if(d[i]<32767) pre[i]=v;else pre[i]=0;}s[v]=1;for(i=1;i<=G.vexnum;i++){ min=32767; k=0;·6·数据结构上机实验与习题解析for(j=1;j<=G.vexnum;j++)if(!s[j]&&d[j]<min) {min=d[j];k=j;}if(k==0) /*已没有顶点可往第一组加*/return;else{ s[k]=1; /*将找到的顶点加入到第一组中*/for(j=1;j<=G.vexnum;j++) /*修改第二组中顶点的距离值*/if(!s[j]&&d[j]>d[k]+G.arcs[k][j]) { d[j]=d[k]+G.arcs[k][j]; pre[j]=k;}}for(j=1;j<=G.vexnum;j++) /*输出结果*/if(pre[j]){ printf("\n%c",G.vexs[j]); p=pre[j];while(p){printf("<%c",G.vexs[p]);p=pre[p];}printf(": %d",d[j]); }elseif(j!=v) printf("\n%c<%c : no path",G.vexs[j],G.vexs[v]);}。
《数据结构》3套模拟试题综合测试题带答案5

《数据结构》模拟试题13一、填空题(每小题2分,共18分)1、数据的逻辑结构包括,和三种结构。
2、队列是操作受限的线性结构,只能在插入元素,而在删除元素。
3、串是一种特殊的线性表,其特殊性体现在。
4、有一个10阶对称矩阵A,采用压缩存储方式采用压缩存储方式,以行为主存储下三角形到一个一维数组中,A[0][0]的地址是100(每个元素占2个基本存储单元),则A[5][9]的地址是。
5、在高度为h的二叉树的中只有度为0和度为2的结点,则该类二叉树中所包含的结点数至少为。
6、对于一个有n个顶点和e条边的无向图,若采用邻接链表存储,则表头向量的大小为,邻接表中的结点总数为。
7、对线性表进行二分查找时,要求线性表必须是,且要求。
8、对于文件,按物理结构划分,可分为顺序文件、文件、文件和多关键字文件。
9、外部排序的最基本方法是,其主要时间花费在方面。
二、单项选择题(请将答案写在题目后的括号中。
每题2分,共18分)1、如下函数是求1!+2!+…+n!,其时间复杂度是()。
Long int Sum (int n){ long int sum=0 , t=1 ; int p ;for (p=1; p<=n ;p++) { t=t*p ; sum+=t ; }return(sum) ;}(A)O(n) (B)O(n2) (C)O(㏒2n) (D)O(n㏒2n)2、设有一个栈顶指针为top的顺序栈S,则弹出S的栈定元素的操作是()。
(A)p=S[top++];(B)p=S[++top];(C)p=S[top--];(D)p=S[--top];3、广义表((a),((b),c),(((d))))的表头是,表尾是。
()(A)(a) ((b),c),(((d))) (B)(a) (((b),c),(((d))))(C)((a),((b),c)),(((d))) (D)(a) (((d)))4、一棵二叉树,其先序遍历序列是abdgehicf,中序遍历序列是gdbheiafc,则其后序遍历序列是( )。
数据结构考试模拟卷

考试试卷一、请判断下列说法的是否正确:(10分)(1)若某堆栈的输入序列为1,2,3,4,则4,3,1,2不可能是堆栈的输出序列之一。
( )(2)队列逻辑上是一个表头和表尾既能插入又能删除的线性表。
()(3)若一个叶子结点是某子树的中序遍历序列的最后一个结点,则它必是该子树的先序遍历中的最后一个结点。
()(4)在索引顺序表上实现分块查找,在等概率查找情况下,其查找长度只与表中元素个数有关,而与每块中元素个数无关。
()(5)二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值,小于其右孩子的值。
()(6)在10万个随机排列的数据中,要选出5个最小的数,采用快速排序比采用Shell排序、堆排序及各种直接排序法都快。
()(7)用邻接矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与图中的结点的个数有关,而与图的边数无关。
()。
-(8)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和。
()(9)二分查找法不仅适用于顺序存储的有序表,而且适合于链接表。
()(10)按中序遍历一棵二叉排序树所得到的遍历序列是一个递增序列。
()二、填空(20分)(1)数据结构有如下四种基本结构:、、、。
(2)在一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为。
(3)已知某二叉树的叶子结点的个数为10个,度为1的结点个数为8个,则该二叉树的结点总数为:个。
(4)已知一个有序表为(13,18,24,35,47,50,62,83,90,115,134),当二分检索值为90 的元素时,需__ ___次比较可检索成功。
(5)、图的遍历方法主要有两个,一个是,另一个是。
(6)在哈希造表过程中,处理冲突的方法主要有:,,,。
(7)在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s->next=__ ___;和p->next=___ _____的操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试写一个算法判别读入的一个以‘#’为结束符的字符序列是否是“回文”。 (允许直接使用建栈、建队、判栈空、判队空等函数) 解: int PalindromeTest() // 判别输入的字符串是否回文序 列,是则返回1,否则返回0 { InitStack(S);InitQueue(Q); while((c=getchar())!='#') { Push(S,c);InQueue(Q,c); // 同时使用栈和队列两种结构 } while(!StackEmpty(S)) { Pop (S,a);OutQueue (Q,b)); if (a!=b) return ERROR; } return OK; }
{
int ldep,rdep; if(T==NULL) return 0; else { ldep= BTD (T->lchild) ; rdep= BTD (T->rchild) ; if(ldep>rdep) return ldep+1; else return rdep+1; } 求二叉树深度
A BA D E C F G H I
A. A、B、C、D、E、F、G 、H、I B. A、B、D、H、I、E、C、F、G C. H、D、I、B、E、A、F、C、G
D. H、I、D、E、B、F、G、C、A 13.最小生成树的构造可使用( A )算法。 A.prim算法 B.卡尔算法 法 D.迪杰斯特拉算法 14.在下列图中,度为3的结点是( B )。
六.按题目要求,写出运行下列程序的结果
二叉树的结构如图所示,试写出执行下列算法后的输出结果: 。 typedef struct BT { datatype data; // 定义结点 C F BD A D G E BT *lchild; BT *rchild; }BT; int BTD(BT *T)
点。 15.在分块查找方法中,首先查找 索引 ,然后再查找相应的块。 16.哈希表是按 散列 存储方式构造的存储结构。 17.对于大文件的排序要研究在外存上的排序技术,这种排序称为 外 排序 。 18.两个序列分别为: L1={25,57,48,37,92,86,12,33} L2={25,37,33,12,48,57,86,92}。 用冒泡排序法对L1和L2进行排序,交换次数较少的是序列: L2 。 19.无向图的邻接矩阵 一定是 对称矩阵。 20.在一棵二叉树中,度为2 的结点有5 个,度为1 的结点有6 个,则叶 子结点数有 6 个。
seqstack *s; 则顺序栈s栈满的条件是 ( C )。 A.s->top<>0 B.s->top==maxsize C.s->top==maxsize-1 D.s->top!=maxsize 6.经过下列栈的运算后,SEmpty(s)的值是( C )。 InitStack(s)(初始化栈);Push(s,a); Push(s,b);Pop(s,x); Pop(s,x); A.a B.b C.1 D.0 7.一个循环队列一旦说明,其占用空间的大小( A )。 A.已固定 B.可以变动 C .不能固定 D.动态变化 8.当利用大小为n的数组顺序存储一个队列时,该队列的最后一个元 素的下标为( B )。 A.n-2 B.n-1 C .n D.n+1 9.某串的长度小于一个常数,则采用( B )存储方式最节省空间。 A.链式 B .顺序 C.堆结构 D.无 法确定 10. S="Today is 30 July 2005",LenStr(S)=( D )。 A.18 B .19 C .20 D.21 11.A,B为一棵二叉树上的两个结点,在中序遍历时,A在B前的条件是 ( C )。 A.A在B右方 B.A是B祖先 C.A在B左方 D.A是B子孙 12.如右图所示的二叉树,后序遍历的序列是( D )
解:先构造哈夫曼树,得到各叶子的路径长度之后便可求出WPL=(4 +5+3)×2+(1+2)×3=33 (15) (9) (6) 4 5 3 (3) 1 2
四.应用题
1. 根据二元组关系画出逻辑图形,并指出它们属于何种数据结构。 F=(D,R),其中: D={50,25,64,57,82,36,75,55}, R={<50,25>,<50,64>,<25,36>,<64,57>, <64,82>,<57,55>,<57,75>} 解: 25 50 75 57 36 82 64 55
C E F I
其后序遍历的序列为:G H D B E I F C A 4. 已知一个无向图的顶点集为:{a,b,c,d,e},其邻接矩阵如 下: (1) 画出该图的图形; (2) 写出从顶点a出发按深度优先搜索进行遍历的结点序列。
解: (1)
(2)深度优先搜索: a c b e d a b d c e (或a b d e c)
三.选择题
1.以下任何两个结点之间都没有逻辑关系的是( D ) A. 图型结构 B. 线性结构 C. 树型结构 D. 集合 2.链接存储的存储结构所占存储空间( A )。 A. 分两部分,一部分存放结点的值,另一部分存放表示结点间关 系的指针 B. 只有一部分,存放结点值 C. 只有一部分,存储表示结点间关系的指针 D. 分两部分,一部分存放结点值,另一部分存放结点所占单元素 3.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5 个元素的地址是( B ) A.110 B.108 C.100 D.120 4.两个指针P和Q,分别指向单链表的两个元素,P所指元素是Q所指元 素前驱的条件是( )。 A.P->next= =Q->next B.P->next= = Q C.Q->next= = P D.P= = Q 5.顺序栈的类型定义如下: typedef maxsize 64; typedef struct {int data[maxsize]; int top; }seqstack;
的正确性
// 插入结点函数
//
检查插入位置
{ cout<< " 位置出错!"; return(0);} for (j=L->last; j>=i-1 ; j--) // 结点移动 L->data[j+1]=L->data[j] ; L->Lata[i-1]= x ; // 新结点插入 L->last ++ ; (或L->last= L->last +1) return(1); }
属于树结构 2. 把下列森林转换为二叉树 F A G H I C D B
K E J
解: K A B C H DD F G E I J
3. 已知一棵二叉树的先序遍历序列为:ABDGHCEFI,中序遍历序列 为:GDHBAECIF,试恢复该二叉树,并写出它的后序遍历的序列。 答:恢复的二叉树为: G H A B D
封装在一个结构体
// 将data和last
int last; }SeqList; int InsList(SeqList *L,int i,datatype x) { int j; if (L->last= =MAXLEN-1) { cout<< " 顺序表已满!"; return(-1);} if( i<1 || i>L->last+2 )
二.填空题
1.在图形结构中,每个结点的前趋结点可以有 多个 ,后继结点可 以有多个。 2.数据结构主要研究数据的逻辑结构、 存储结构 和算法。 3.采用 顺序 存储结构的线性表叫顺序表。 4.在双链表中要删除已知结点*P,其时间复杂度为 O (1) 。 5.在出栈操作中,要先判断栈是否为空,否则会出现 下溢 现象。 6.链栈LS,指向栈顶元素的指针是 LS->next 。 7.在队列中存取数据应遵从的原则是 先进先出 。 8.设长度为n的链队列用单循环链表表示,若只设头指针,则入队操 作的时间复杂度为 O(n)。 9.串链接序存储的优点是插入、删除方便,缺点的 空间利用率 低 。 10.所有模式匹配不成功的起始位置称为: 无效位移 。 11.有20个结点的完全二叉树,编号为10的结点的父结点的编号是 5 。 12.由树转换成二叉树时,其根结点没有 右子树 。 13.图的邻接矩阵表示法是表示 __顶点____之间相邻关系的矩阵。 14.对n个顶点,e条弧的有向图,其邻接表表示中,需要 n+e 个结
1 2 3 4 5
C.哈夫曼算
A.V1
B. V2
C.
V3 D. V4
15.动态查找的全部运算是( D )。 A.初始化 B. 插入、删除 C.建表、查表和读表元 D.前三项中的全部 16.下列( C )不是利用查找表中数据元素的关系进行查找的方法。 A.平衡二叉树 B.有序表的查找 C. 散列查找 D.二叉排序树的查 找 17.稳定的排序方法是指在排序前后,关键字值相等的不同记录间的前 后相对位置( B )。 A.保持相反 B.保持不变 C.不定 D. 无关 18.下述几种排序方法中,要求内存量最大的是:( D )。 A.插入排序 B.选择排序 C.快速排序 D. 归并排序 19.已知一个算术表达式的中缀表达式为:A+B*C-D/E,后缀表达式为 ( B )。 A.AB+C*DE-/ B. ABC*+DE/C. ABC*+D/ED. ABC*+DE-/ 20.【计算机研2001】用5个权值{3, 2, 4, 5, 1}构造的哈夫曼 (Huffman)树的带权路径长度是( B )。 A.32 B.33 C.34 D.15
5. 对于给定结点的关键字集合K={15,9,20,12,17,4,18,10, 29,6},构成一棵二叉排序树,并写出该二叉排序树中序遍历的结点序