带答案的数据结构补充习题.doc
《带答案的数据结构补充习题.doc》由会员分享,可在线阅读,更多相关《带答案的数据结构补充习题.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流带答案的数据结构补充习题.精品文档.补充习题第一章第五章一、 单选或填空题1. 下列程序段中S语句的执行频度为 。for(i0;in;i+ )for(j0;ji;j+ ) S;2. 下列算法的时间复杂度是()。for(i0;in;i+ )cii;3. 算法的时间复杂度可表示为 O(1)、线性阶 、平方阶O(n2)、对数阶O(logn)和指数阶O(2n)等。4 以下关于数据结构的基本概念中,叙述正确的是 A) 数据元素是数据不可分割的最小单位。B) 数据是数据对象的子集。C) 数据元素之间的关系在计算机中可用顺序映像和非顺序映像两种不同的方法表
2、示。D) 数据结构在计算机中的表示又称为逻辑结构。5. 在数据结构中,数据的逻辑结构包括()。 A) 线性结构和非线性结构 B) 逻辑结构和物理结构 C) 顺序结构和链式结构 D) 虚拟结构和抽象结构 6. 在数据结构中,数据的存储结构包括 。 A) 线性结构和非线性结构 B) 逻辑结构和物理结构 C) 顺序结构和链式结构 D) 虚拟结构和抽象结构 7. 线性结构的数据元素之间存在一种( )。A一对多关系B多对多关系C多对一关系D一对一关系8. 在长度为n的顺序表中插入一个元素,需要平均移动 个元素。A) n/2 B)nC) n(n-1) D) n(n+1)9. 在有n个元素的顺序表中做插入、
3、删除运算,平均时间复杂度为 。10. 顺序表中逻辑上相邻的元素物理位置 相邻,单链表中逻辑上相邻的元素的物理位置 相邻。A)必然、必然 B)必然、不一定C)不一定、必然 D)不一定、不一定11相对于顺序存储而言,链式存储的优点是()。A随机存取B节约空间C增、删操作方便D节点间关系简单12 以下关于头结点的描述中,叙述错误的是 A) 头结点是对链表首元结点的别称B) 若链表中附设头结点,则头指针一定不为空C) 头结点中不存储链表的数据元素,而是一些诸如表长之类的辅助信息D) 在单链表中附设头结点,插入或删除首元素时不必进行特殊处理13已知L是无表头结点的单链表,且P所指结点既不是首元结点,也不
4、是尾元结点,则在P之后插入S所指结点,则执行()。A) S-next=P-next; P-next=S;B) P-next=S-next; S-next=P;C) S-next=P; P-nextS;D) P-next=S; S-next=P;14. 已知L是带表头结点的非空单链表,且P结点是S结点的直接前驱。则删除S结点的语句序列为 。I. P-next = S ;free(P)II. P-next = P-next-next; free(S)III. P-next = S-next; free(S) IV. P = P-next ;free(S)A) I和II正确 B) II和 III正确
5、C) III和IV正确 D) 全部正确15. 已知L是带表头结点的单链表,则删除首元结点的语句序列是( )。A) L-next =L-next-next; free(L)B) P = L ;L= P-next ;free(P)C) P = L-next ; L-next= P-next ;free(P)D) P = L ;L= P-next ;free(P)16. 已知L是一带有头结点的单链表的头指针,则该单链表为空的条件是 。17. 已知P结点是某双向链表的中间结点,则删除P结点的语句序列是 , ,free(P);18. 设将整数1,2,3,4,5依次进栈,最后都出栈,出栈可以在任何时刻(只
6、要栈不空)进行,则出栈序列不可能的是( )。A) 32415 B) 45231 C) 32145 D) 4532119. 在栈中由顶向下已存放元素c, b, a 在第4个元素d入栈前,栈中元素可以出栈,则不可能的出栈序列是A) dcba B) cbda C) cdba D) cadb21. 设有栈S和队列Q,其初始状态为空,元素a1,a2,a3,a4,a5,a6依次入栈,出栈的元素进入队列Q。若元素出队列的顺序是a2,a4,a3,a6,a5,a1,则栈的容量至少是 。22. 某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,则abcde顺序入队,不可能的到的顺序是()。AbacdeB
7、dbaceCdbcaeDecbad23. 设用一维数组An存储一个栈,令An为栈底,用整型变量T指示当前栈顶位置,AT为栈顶元素。当从栈中弹出一个元素时,变量T的变化为( )。A) T=T+1 B) T=T-1 C) T不变 D) T=n-124. 循环队列是满队列的条件是 。A)Q.rearQ.front B)(Q.rear+1) % maxsizeQ.frontC)Q.rear0 D)Q.front025. 在具有m个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队满的条件是( )A. front= (rear1) % m B. front1= rea
8、rC. front= rear D. rear= m26. 在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队空的条件是( )A)front= (rear1) % n B)front1=rearC)front=rear D)front=027. 循环队列用数组A0m-1存放其数据元素。设front指向其实际的队头,rear指向其实际队尾的下一个位置,则当前队列中的数据元素有 个。28 在串的运算中,StrLength(Concat (aa,bb)的返回值为 A) 0B) 8C) 6D) 429设s1”I have_”,s2”a dream”,则st
9、rcat(s1, s2)的值是 I have_ a dream ,SubString(s1,4,3)的值是 ave 。30. 设s1”I am a student”,s2”a student”,则Index(s1,s2)的值是 。31. 假设有二维数组A56,每个元素用相邻的4个字节存储,存储器按字节编址。已知A的基地址为1000,则数组A的最后一个元素a45的第一个字节的地址是 ;按行存储时,元素a14的第一个字节的地址是 。32. 已知二维数组A1.7,1.7按列存放,其起始存储位置为100,每个元素占用4个字节,则元素A4,6的第一个字节的地址为 。A)204 B)252 C)208 D
10、)25633. 一个非空广义表的表头()。A一定是子表 B一定是原子C不能是子表 D可以是原子,也可以是子表34. 设广义表L((a,b),c,()),则head(L) ,tail(L) 。二、 算法题1. 写出下列程序段的功能。Status A(LinkedList L) /L是无表头结点的单链表If(L &L-next) Q=L; L=L-next; P=L; While (P-next) P=P-next; P-next=Q; Q-next=NULL; Return OK; 2. 写出下列程序段的输出结果。void main() Stack S; char x,y; InitStack(
11、S); x=i; y=s; Push(S,x);Push(S,r);Push(S,y); Pop(S,x); Push(S,h);Push(S,x); Pop(S,x); Push(S,c); while (!StackEmpty(S) Pop(S,y);printf(y); printf(x);3. 写出下列程序段的输出结果。void main() Queue Q; InitQueue(Q); char x=e, y=c; EnQueue(Q, a);EnQueue(Q, d);EnQueue(Q, y); DeQueue(Q, x); EnQueue(Q, x); DeQueue(Q, x
12、); EnQueue(Q, r); while (!QueueEmpty(Q) DeQueue(Q, y); printf(y); printf(x);4. 已知L是带头结点的单链表。试写一算法求该单链表的长度。5. 已知L是带头结点的单链表。试写一算法在该链表上查找值为x的元素。6. 将带头结点的L中的第i个数据元素删除。7. 在带头结点的L中第i个元素之前插入数据元素e 。8. 正位序输入n个元素的值,建立带头结点的单链表L。9. 已知线性表中的元素以值递增有序排列,并以带有头结点的单链表作存储结构。试写一算法删除表中所有值大于mink且小于maxk的元素,同时释放被删除的结点空间。10.
13、 LA和LB是两个数据元素按升序排列的单链表,将LA和LB合并为有序单链表LC。写出这两个有序链表合并的算法。第六章一、 单选或填空题1. 已知完全二叉树的第7层上有10个叶子结点,则整个二叉树的结点数最多是 A) 73 B) 63 C) 235 D) 2452. 300个结点的完全二叉树的叶结点有 个。3一个具有1025个结点的二叉树的高h为_。A)11 B)10 C)11至1025之间 D)10至1024之间4. m叉树的第i层至多有 个结点5. 将一棵有100个节点的完全二叉树从上到下,从左到右依次对节点进行编号,根节点的编号为1,则编号为49的节点的右孩子编号为()。ABCDEFA99
14、B98C50D486把如右图所示的树转换成二叉树时,C是( ) A. A的左子女 B. A的右子女 C. B的左子女 D. B的右子女7. 设森林F中有3棵树,其结点个数分别是n1、n2和n3,则与森林对应的二叉树根结点的右子树上的结点个数是 。 A) n1-1 B)n1+n2 C) 0 D) n2+n38.在一颗度为4的树T中,若有20个度为4的结点,10个度为3的结点,5个度为2的结点,10个度为1的结点,则树T的叶结点个数有 个。9. 一棵二叉树中序遍历结果为DCBAEFG,后序遍历结果为DCBGFEA。则此二叉树先序遍历的结果应为A) ABCDEFG B)ABECFDG C)AEBFC
15、GD D)不能确定10. 将一棵树t 转换为孩子兄弟链表表示的二叉树h,则t 的后根遍历是h 的A)先序遍历 B)中序遍历 C)后序遍历 C)层序遍历11.现有一段电文共100个字符,其中A出现50次,B出现20次,C出现5次,D出现10次,E出现15次。现对这5个字符进行哈夫曼编码,则其平均码长为 。二、 解答题1. 某二叉树的中序遍历结果为DEFABCG;后序遍历结果为FEDCBAG。(1)画出此二叉树,并给出其先序遍历的结果。(2)画出与这棵二叉树对应的树(森林)。2. 已知一个二叉树的先序遍历序列为:ABDGIECFH;中序遍历序列为:DIGBEAFHC。(1)画出该二叉树(2)画出下
16、图所示森林对应的二叉树。AACABADAEAHAIAFAGAJAKLA3. 某二叉树层序序列为abcdefghij,中序序列为bgdhjaecif。(1)画出该二叉树;(2)画出该二叉树的后序后继线索树;(3)画出该二叉树对应的树或森林。4. 已知某通讯用电文仅有A、B、C、D、E、F六个字符构成,其出现的频率分别为26,8,17,11,28,10,请首先建立哈夫曼树,然后给出六个字符的哈夫曼编码(注:建立哈夫曼树时权值小的为左子树,权值大的为右子树)。三、算法题1. 以二叉链表作为二叉树的存储结构,编写以下算法:(1)求先序序列为k的结点的值(2)求二叉树中叶子结点的数目(3)交换所有结点的
17、左右子树(4)求二叉树的深度第七章一 单选或填空题1. 若某有向图的邻接矩阵A只有0和1两种元素,其中aij1表示有向图中存在弧,则编号为i顶点的入度可用 表示。A) 邻接矩阵中第i行元素之和 B) 邻接矩阵中第i列元素之和 C) 邻接矩阵中对角线元素之和 D) 以上均不正确2. 使用邻接表作为某无向图的存储结构,若无向完全图中有n个顶点,则邻接表中必存在 个表结点。A)n2 B)2n C)n(n-1) D) 2n-13. 一个含有n个顶点和e条边的无向图,在其邻接矩阵存储结构中共有()零元素。AeB2eCn2-eDn2-2e4在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。
18、A1/2B1C2D45下列关于图的叙述中,正确的是( )、 回路是简单路径 、存储稀疏图,用邻接矩阵比邻接表更省空间 、若有向图中存在拓扑序列,则该图不存在回路 A仅 B仅、 C仅 D仅、 6. 有n个顶点的无向图至少有 条边才能确保是一个连通图。7在有n个结点的无向图中,其边数最多为 。8. 对于具有n个结点的连通图,它的最小生成树中有 条边。A)n2 B)n-1 C)n(n-1) D) n(n-1)/29. 关键路径是AOE网中A)从源点到汇点的最长路径 B)从源点到汇点的最短路径C)最长回路D)最短回路10. 以下关于图的描述中,正确的是A) n个顶点的无向完全图有条边。B) 对任何用顶
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 答案 数据结构 补充 习题
限制150内