数据结构试卷B卷(含答案)(9页).doc
《数据结构试卷B卷(含答案)(9页).doc》由会员分享,可在线阅读,更多相关《数据结构试卷B卷(含答案)(9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-数据结构试卷B卷(含答案)-第 9 页数据结构试卷B 一、 填空题(每空1分,共15分)1. 向量、栈和队列都是 结构,可以在向量的 位置插入和删除元素;对于栈只能在 插入和删除元素;对于队列只能在 插入和 删除元素。2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为 。不允许插入和删除运算的一端称为 。3. 数据结构是一门研究非数值计算的程序设计问题中计算机的 以及它们之间的 和运算等的学科。4. 在顺序表中插入或删除一个元素,需要平均移动 元素,具体移动的元素个数与 有关。5. 在具有n个单元的循环队列中,队满时共有 个元素。6. 假设在有序线性表a20上进行折半查找,则比较一次查
2、找成功的结点数为1;比较两次查找成功的结点数为 ;比较四次查找成功的结点数为 ;平均查找长度为 。二、判断正误(判断下列概念的正确性,并作出简要的说明。)(每小题1分,共10分)( )1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 ( )2. 在表结构中最常用的是线性表,栈和队列不太常用。 ( )3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。( )4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。 ( )5.线性表的逻辑顺序与存储顺序总是一致的 ( )6. 栈和队列是一种非线性数据结构。 ( )7.
3、 栈和队列的存储方式既可是顺序方式,也可是链接方式。 ( )8. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。 ( )9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。( )10. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。 三、单项选择题(每小题1分,共20分)( )1数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:(A)存储结构 (B)逻辑结构 (C)顺序存储结构 (D)链式存储结构( )2. 若已知一个栈的入栈序列是1,2,3,n,其输出序列为p1,p2
4、,p3,pn,若p1=n,则pi为 i n=i n-i+1 不确定( )3. 判定一个栈ST(最多元素为m0)为空的条件是ST-top0 ST-top=0 ST-topm0 ST-top=m0( )4设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维数组B 1, n(n-1)/2 中,对下三角部分中任一元素ai,j(ij), 在一维数组B中下标k的值是:i(i-1)/2+j-1 i(i-1)/2+j i(i+1)/2+j-1 i(i+1)/2+j( )5具有n(n0)个结点的完全二叉树的深度为 。() log2(n) () log2(n) () log2(n)
5、+1 () log2(n)+1( )6. 有8个结点的无向连通图最少有 条边。 A5 B. 6 C. 7 D. 87. 数据结构反映了数据元素之间的结构关系。链表是一种 A ,它对于数据元素的插入和删除 B 。通常查找线性表数据元素的方法有 C 和 D 两种方法,其中 C 是一种只适合于顺序存储结构但 E 的方法;而 D 是一种对顺序和链式存储结构均适用的方法。 供选择的答案:A:顺序存储线性表 非顺序存储非线性表顺序存储非线性表 非顺序存储线性表B: 不需要移动结点,不需改变结点指针 不需要移动结点,只需改变结点指针 只需移动结点,不需改变结点指针 既需移动结点,又需改变结点指针C: 顺序查
6、找 循环查找 条件查找二分法查找D: 顺序查找 随机查找 二分法查找 分块查找E: 效率较低的线性查找 效率较低的非线性查找效率较高的非线性查找 效率较高的线性查找答案:A B C D E 8. 散列法存储的基本思想是根据 A 来决定 B ,碰撞(冲突)指的是 C ,处理碰撞的两类主要方法是 D 。供选择的答案A,B: 存储地址 元素的符号 元素个数 关键码值 非码属性 平均检索长度 负载因子 散列表空间 C: 两个元素具有相同序号 两个元素的关键码值不同,而非码属性相同 不同关键码值对应到相同的存储地址 负载因子过大 数据元素过多D: 线性探查法和双散列函数法 建溢出区法和不建溢出区法 除余
7、法和折叠法 拉链法和开地址法答案:A B C D 9. 考虑具有如下性质的二叉树:除叶子结点外,每个结点的值都大于其左子树上的一切结点的值。并小于等于其右子树上的一切结点的值。现把9个数1,2,3,8,9填入下图所示的二叉树的9个结点中,并使之具有上述性质。此时,n1的值是 A ,n2的值是 B ,n9的值是 C 。现欲把放入此树并使该树保持前述性质,增加的一个结点可以放在 D 或 E 。供选择的答案AC: 1 2 3 4 5 6 7 8 9DE: n7下面 n8下面 n9下面 n6下面 n1与n2之间 n2与n4之间 n6与n9之间 n3与n6之间 答案:A B C D E 四、简答题(每小
8、题5分,共25分)1. 说明线性表、栈与队的异同点。2. 试写出如图所示的二叉树分别按先序、中序、后序遍历时得到的结点序列3. 假设正读和反读都相同的字符序列为“回文”,例如,abba和abcba是回文,abcde 和ababab则不是回文。假设一字符序列已存入计算机,请分析用线性表、堆栈和队列等方式正确输出其回文的可能性?4. 试比较顺序存储结构和链式存储结构的优缺点。在什么情况下用顺序表比链表好?5. 给定二叉树的两种遍历序列,分别是:前序遍历序列:D,A,C,E,B,H,F,G,I;中序遍历序列:D,C,B,E,H,A,G,I,F,试画出二叉树B,并简述由任意二叉树B的前序遍历序列和中序
9、遍历序列求二叉树B的思想方法。五、阅读理解(每小题5分,共20分)1、已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,请写出在P结点后插入S结点的核心语句序列。2、阅读下列算法,若有错,改正之。BiTree InSucc(BiTree q)/已知q是指向中序线索二叉树上某个结点的指针,/本函数返回指向*q的后继的指针。r=q-rchild;if(!r-rtag)while(!r-rtag)r=r-rchild;return r;/ISucc1. 写出下列程序段的输出结果(队列中的元素类型QElem Type为char)。void main( )Queue Q; Init Q
10、ueue (Q);Char x=e; y=c;EnQueue (Q,h); EnQueue (Q,r); EnQueue (Q,y);DeQueue (Q,x); EnQueue (Q,x); DeQueue (Q,x); EnQueue (Q,a); while(!QueueEmpty(Q) DeQueue (Q,y);printf(y); ;Printf(x);2. 简述以下算法的功能(栈和队列的元素类型均为int)。void algo3(Queue &Q)Stack S; int d;InitStack(S);while(!QueueEmpty(Q) DeQueue (Q,d); Pus
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 试卷 答案
限制150内