啪嫡春龚浅伴鲤补榔催蚀野敏构闹色刊缄盈嘉靳笼钾斯惨匠顾崩曼扯秉恰契抗藕扛弛间悟音俘更故银贷荐畅履臼狼甘剃定篡稻曝床堡钨维碧底痔俘耳嚼了绥喝携挤许垮萧比乳式剧辑厌原卤址缔募瘟羡须士范始真阶十厨廉钱贡污寻钱跨晒驻米除重摆锋雅啤侵衍诬寇挨芒室圆敞芹尚烟服弟祝纤侵祈寓寐黍痞螟瘴挞淑嚣鲸膛灵溺数梗俩知户欠珠针指草喳郡瘦肝逞清痒钢刑鸟内拓墩字跌啦舔锈却筷游拌民郡泼淄统淳鸽药寿蒋磁包骋仲充证驱辰儿遍嘱裂托骂郊椿凋湿讶眨滥溃龚谭酥凿浦烦招关伯弘柔藻浸络阿咀萌贿隙甸厩椭侍读妨止篡涝服遭幢逃粉艘刚酗跋脸掷豺勋妻铂麦租渺忌什顺茎数据结构习题集一、选择题1.在一个长度为n的顺序表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需向后移动B个元素。A.n-1B.n-i+1C.n-i-1D.i2.在一个具有n个单元的顺序栈中,假定以地址低端作为栈底,以top作为栈顶指针,则当做退栈处理时,top变化为C。A.top不变B.top=-nC.top=top-1D.top=top+13.向顺序栈中压入元素时,是A。A.先存入元素,后移动栈顶指针B.先移动栈顶指针,后存入元素4.在一个顺序存储的循环队列中,队首指针指向队首元素的A。A.前一个位置B.后一个位置C.队首元素位置D.队尾元素位置5.若进栈序列为1,2,3,4,进栈过程中可以出栈,则C不可能是一个出栈序列。A.3,4,2,1B.2,4,3,1C.1,4,2,3D.3,2,1,46.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队空的条件是C。A.front==rear+1B.front+1==rearC.front==rearD.front==07.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队满的条件是D。A.rear%n==frontB.(rear-1)%n==frontC.(rear-1)%n==rearD.(rear+1)%n==front8.从一个具有n个节点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较D个结点。9.在一个单链表中,已知*q结点是*p结点的前驱结点,若在*q和*p之间插入*s结点,则执行C。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;10.向一个栈项指针为hs的链栈中插入一个*s结点时,则执行C。A.hs-next=s;B.s-next=hs-next;hs-next=s;C.s-next=hs;hs=s;D.s-next=hs;hs=hs-next;11.在一个链队列中,假定front和rear分别为队首指针和队尾指针,则进行插入*s结点的操作时应执行B。A.front-next=s;front=s;B.rear-next=s;rear=s;C.front=front-next;D.front=rear-next;12.线性表是A。A.一个有限序列,可以为空B.一个有限序列,不能为空C.一个无限序列,可以为空D.一个无限序列,不能为空13.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的,删除一个元素时大约要移动表中的C个元素。A.n+1B.n-1C.(n-1)/2D.n14.线性表采用链式存储时,其地址D。A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续与否均可以15.设单链表中指针p指着结点(数据域为m),指针f指着将要插入的新结点(数据域为x),当x插在结点m之后时,只要先修改B后修改p-link=f即可。A.f-link=p;B.f-link=p-link;C.p-link=f-link;D.f=nil;16.在双向链表存储结构中,删除p所指的结点时需修改指针B。A.((p-rlink)-rlink)-link=p;p-rlink=(p-rlink)-rlink;B.(p-llink)-rlink=p-rlink;(p-rlink)-llink=p-llink;C.p-llink=(p-llink)-llink;((p-llink)-llink)-rlink=p;D.((p-llink)-llink)-rlink=p;p-llink=(p-llink)-llink;17.在双向链表存储结构中,删除p所指的结点的前趋结点(若存在)时需修改指针A。A.((p-llink)-llink)-rlink=p;p-llink=(p-llink)-llink;B.((p-rlink)-rlink)-llink=p;p-rlink=(p-rlink)-rlink;C.(p-llink)-rlink=p-rlink;(p-rlink)-llink=p-llink;D.p-llink=(p-llink)-llink;((p-llink)-llink)-rlink=p;18.根据线性表的链式存储结构,每个结点所含指针的个数,链表分为单链表和B。A.循环链表B.多重链表C.普通链表D.无头结点链表19.在数据结构中,与所使用的计算机无关的数据叫C结构。A.存储B.物理C.逻辑D.物理和存储20.二分法查找A存储结构。A.只适用于顺序B.只适用于链式C.既适用于顺序也适用于链式D.既不适合于顺序也不适合于链式21.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上B。A.一定相邻B.不一定相邻C.有时相邻23.假定在一棵二叉树中,双分支结点数为15个,单分支结点数为32个,则叶子结点数为B。A.15B.16C.17D.4724.假定一棵二叉树的结点数为18个,则它的最小高度B。性质2A.4B.5C.6D.1825.在一棵二叉树中第五层上的结点数最多为C。性质1A.8B.15C.16D.3226.在一棵具有五层的满二叉树中,结点总数为A。性质3A.31B.32C.33D.1627.已知8个数据元素为(34、76、45、18、26、54、92、65),按照依次插入结点的方法生成一棵二叉排序树后,最后两层上的结点总数为B。不理解?A.1B.2C.3D.428.由分别带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为C。A.23B.37C.44D.46为什么不是46?29.在树中除根结点外,其余结点分成m(m≥0)个A的集合T1,T2,T3...Tm,每个集合又都是树,此时结点T称为Ti的父结点,Ti称为T的子结点(1≤i≤m)。A.互不相交B.可以相交C.叶结点可以相交D.树枝结点可以相交30.下面答案D是查找二叉树(又称二叉排序树)。A.二叉树中的每个结点的两棵子树的高度差的绝对值不大于1B.二叉树中的每个结点的两棵子树的高度差等于1C.二叉树中的每个结点的两棵子树是有序的D.二叉树中的每个结点的关键字大于其左子树(如果存在)所有结点的关键字值,且小于其右子树(如果存在)所有结点的关键字值。31.如果结点A有三个兄弟,而且B是A的双亲,则B的出度是B。A.3B.4C.5D.132.一个深度为L的满K叉树有如下性质:第L层上的结点都是叶子结点,其余各层上每个结点都有K棵非空子树。如果按层次顺序从1开始对全部结点编号,编号为n的有右兄弟的条件是B。A.(n-1)%k==0B.(n-1)%k!=0C.n%k==0D.n%k!=033.在完全二叉树中,当i为奇数且不等于1时,结点i的左兄弟是结点D,否则没有左兄弟。A.2i-1B.i+1C.2i+1D.i-134.某二叉树T有n个结点,设按某种遍历顺序对T中的每个结点进行编号,编号值为1,2,…,n且有如下性质:T中任一结点V,其编号等于左子树上的最小编号减1,而V的右子树的结点中,其最小编号等于V左子树上结点的最大编号加1。这时按B编号。A.中序遍历序列B.前序遍历序列C.后序遍历序列D.层次遍历序列35.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的B倍。A.1/2B.1C.2D.436.对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为A。A.nB.n+1C.n-1D.n+e37.具有n个顶点的无向完全图,边的总数为D条。A.n-1B.nC.n+1D.n*(n-1)/238.设图G有n个顶点和e条边,当G是非孤立顶点的连通图时有2e=n,故可推得深度优先搜索的时间复杂度为A。A.O(e)B.O(n)C.O(ne)D.O(n+e)39.最小代价生成树D。A.是唯一的B.不是唯一的C.唯一性不确定D.唯一性与原因的边的权数有关40.在无向图G的邻接矩阵A中,若A[i,j]等于1,则A[j,i]等于C。A.i+jB.i-jC.1D.041.图的深度优先或广度优先遍历的空间复杂性均为A。(访问标志位数组空间)A.O(n)B.O(e)C.O(n-e)D.O(n+e)42.已知一个有序表为(12、18、24、35、47、50、62、83、90、115、134),当二分查找值为90的元素时,B次比较后查找成功;当二分查找值为47的元素时,D次比较后查找成功。A.1B.2C.3D.443.散列函数有一个共同性质,即函数值应当以D取其值域的每个值。A.最大概率B.最小概率C.平均概率D.同等概率44.设散列地址空间为0~m-1,k为关键字,用p去除k,将所得的余数作为k的散列地址,即H(k)=k%p。为了减少发生冲突的频率,一般取p为D。A.小于m的最大奇数B.小于m的最大偶数C.mD.小于m的最大素数45.目前以比较为基础的内部排序时间复杂度T(n)的范围是A③;其比较次数与待排序的记录的初始排列状态无关的是B②。A.①O(log2n)~O(n)②O(lon2n)~O(n2)③O(nlog2n)~O(n2)④O(n)~O(n2)⑤O(n)~O(nlog2n)B.①插入排序②先用二分法查找,找到后插入排序③快速排序④冒泡排序46.设关键字序列为:3,7,6,9,8,1,4,5,2。进行排序的最小交换次数是A。A.6B.7C.8D.2047.在归并排序过程中,需归并的趟数为C。A.nB.√nC.log2n向上取整D.log2n向下取整48.一组记录排序码为(46、79、56、38、40、84),则利用堆排序的方法建立的初始堆为B。A.(79、46、56、38、40、80)B.(84、79、56、38、40、46)C.(84、79、56、46、40、38)D.(84、56、79、40、46、38)49.一组记录的关键码为(46、79、56、38、40、84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为C。A.(38、40、46、56、79、84)B.(40、38、46、79、56、84)C.(40、38、46、56、79、84)D.(40、38、46、84、56、79)50.在平均情况下快速排序的时间复杂性为C,空间复杂性为B;在最坏情况下(如初始记录已有序),快速排序的时间复杂性为D,空间复杂性为A。A.O(n)B.O(log2n)C.O(nlog2n)D.O(n2)选择题参考答案:1.B2.C3.A4.A5.C6.C7.D8.D9.C10.C11.B12.A13.C14.D15.B16.B17.A18.B19.C20.A21.B22.D23.B24.B25.C26.A27.B28.C29.A30.D31.B32.B33.D34.B35.B36.A37.D38.A39.D40.C41.A42.B,D43.D44.D45.A:③B:②46.A采用选择排序对给定的关键字序列进行排序,只需6次。47.C48.B49.C50.CBDA二、填空题1.在线性结构中第一结点[1]无前驱结点,其余每个结点有且只有[2]一个前驱结点;最后一个结