1、 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示5.在一个单链表中,若删除p所指结点的后续结点,则执行( )。A.p-next=p-next-next B.p-nextC.p=p-next;p-next D.p=p- 6.带头结点的单链表head为空的判定条件是( )。A.head=NULL B.head-next=NULLC.head-next=headD.head!=NULL7.非空的循环单链表head的尾结点(由p所指向)满足( )。A.p-head=NULLB.p=NULLC.p-next=head D.p=head8.下面关于线性表的叙述中,错误的是哪一个
2、?A.线性表采用顺序存储,必须占用一片连续的存储单元。B.线性表采用顺序存储,便于进行插入和删除操作。C.线性表采用链式存储,不必占用一片连续的存储单元。D.线性表采用链式存储,便于插入和删除操作。9.队列操作的原则是( )。A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为( )。 A.栈首 B.栈尾 C.栈顶 D.栈底11假设以数组An存放循环队列的元素,其首尾指针分别为front和rear,则当前队列中的元素个数为( )。A(rear-front+n)%n B. rear-front+1C. (front-rear+n)%n D.(rear-f
3、ront)%n12.最大容量为n的循环队列,队尾指针是rear,队首指针是front,则队空的判断条件是( )。A.(rear+1)%n=front B.rear=frontC.rear+1=front D.(rear-1)%n=front13. 将一个十进制的数转换成二进制的数,可以使用以下一种称为( )的数据结构。A. 图 B. 树 C. 广义表 D. 栈14. 把一棵树转换为二叉树后,这棵二叉树的形态是( )。A. 有2种 B. 有3种 C. 有4种 D. 唯一的15.一棵左右子树均不空的二叉树在先序线索化后,其中空链域的个数是( )。A. 3 B. 2 C. 0 D. 不确定二、填空题
4、(本大题共10个空,每空2分,共计20分)1数据结构是研究程序设计中计算机操作的 以及它们之间的关系和运算的一门学科。2在一个单链表中,已知指针q所指结点是指针p 所指结点的前驱结点,若在q和p之间插入结点s,则应执行两条语句:_ _ , 。3字符串采用结点大小为2的链表作为其存储结构,是指链表的每个链结点的 域中只存放了2个字符。4广义表(a,b,c,d)的表尾是 。5一棵深度为k的二叉树,最多有 个结点。6已知有向图G=(V,E),其中: V=v1,v2,v3,v4,v5,v6,v7,E=,v1,v4v2,v5v3,v5v3,v6v4,v6v5,v7v6,v7,则G的拓扑序列是_ _ _。
5、7. 有n个顶点的连通图至少有 条边。8. 图的存储常采用 和 两种方法。三、判断题(本大题共10小题,每题1分,共10分)(请在每小题后面的括号里写出答案,如果正确,请写“”,如果错误,请写“”)1.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。( )2线性表就是顺序存储的表。3.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用顺序存储结构。4线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。5.串的长度是指串中所含不同字符的个数。( )6.对稀疏矩阵进行压缩存储的目的是节省存储空间。7.二叉树是非线性数据结构,所
6、以它不能采用顺序存储结构存储。8.任意一棵二叉树中至少有一个结点的度为2。9.对线性表进行二分查找时,要求线性必须以顺序方式存储,且结点按关键字有序排序。10.采用线性探测法解决冲突问题,所产生的一系列后继散列地址必须大于等于原散列地址。四、应用题(本小题共5小题,每小题6分,共30分)1.简述以下算法的功能(假设栈和队列的元素类型均为int)(6分)void fun1(Queue &Q)Stack S;int x;Initstack(S);While(!QueueEmpty(Q) DeQueue(Q,x); Push(S,x); StackEmpty(S) Pop(S,x); EnQueue
7、(Q,x); 2.请将如图4.1所示的一棵树转换成一棵二叉树。(6分)图4.1 一棵树3.给定叶结点(a,b,c,d,e,f,g),权值分别为23,12,15,7,17,2,8,画出对应的哈夫曼树,并写出各叶结点的哈夫曼编码。4.(6分)已知图G的邻接表如图4.2所示,则:从顶点v1出发的深度优先搜索序列为_ _ _。从顶点v1出发的广度优先搜索序列为_ _ _。图4.2 图G的邻接表密封线5.求构造图4.3所示无向网的最小生成树(6分)图4.3 无向网五、算法设计题(本大题共1小题,每小题10分,共10分)1.已知查找表的数据元素类型如下:Typedef struct Rectypeint
8、num;char name8;Rectype; 假设查找表中有n个记录,并且是按num降序顺序存储Typedef Rectype Sqlist100;要求:(1)写出对给定值K进行二分查找的算法和main函数。(2)二分查找算法的函数头部为“int binsearch(Sqlist R,int n,int K) “(3)在main函数中建立该查找表、调用二分查找算法,并输出查找结果。数据结构试题(B卷)90 分钟) 1在数据结构中,数据的( )结构是独立于计算机的。A.逻辑 B.存储 C.散列 D.索引2下列程序段的时间复杂度为( )。for(i=0;inext=head Chead-next
9、=NULL Dhead!=NULL5线性表若采用顺序结构时,要求内存中可用存储单元的地址( )。A一定是不连续的 B部分地址是连续的C一定是连续的 D连续不连续都可以6. 对于单链表,在两个结点之间插入一新结点需要修改的指针共( )个。A.0B.1 C.2 D.47.若线性表中有n个元素,算法( )在单链表上实现要比在顺序表上实现效率更高。A.删除所有值为x的元素 B.在最后一个元素的后面插入一个新元素C.顺序输出前k个元素 D.交换其中某两个元素的值8.对于顺序表,访问结点和增加、删除结点的时间复杂度分别为( )。A.O(n)O(n) B. O(1)O(n) C. O(n) O(1)D. O(1) O(1)9.队列的删除操作是在( )进行。A队首 B队尾 C队首前一单元 D队尾后一单元10.下列关于栈的叙述中,正确的是( )。A栈底元素一定是最后入栈的元素 B栈操作遵循先进后出的原则C栈顶元素一定是最先入栈的元素 D以上三种说法都不对11.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈S ,一个元素出栈后即进入Q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈S的容量至少是( )个。A.3 B. 4 C.5 D.612.假设为循环队列分配的向量空间为Q20,若队列的长度和队头指针值分别为13和17,则
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1