数据结构模拟试题及答案3

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》模拟试题3

一、单项选择题

1.带头结点的单向链表为空的判断条件是()(设头指针为head)。

A.head = =NULL B.head!=NULL

C.head->next= =head D.head->next= =NULL

2.非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。

A.p->next = =NULL B.p= =NULL C.p= =head D.p->next= =head 3.算法的时间复杂度与()有关。

A.所使用的计算机 B.计算机的操作系统

C.算法本身 D.数据结构

4.设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为()。

A.n-i+1 B.n-i C.n-i-1 D.i

5.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。

A.p=s→next B.p→next=s→next;

C.s→next=p→next; p→next=s; D.p→next= s; s→next= p→next

6.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。 A.r=f→next; B.r=r→next; C.f=f→next; D.f=r→next;

7.元素1,3,5,7按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。

A.7,5,3,1 B.7,5,1,3

C.3,1,7,5 D.1,3,5,7

8.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。

A.4 B.3 C.6 D.12

9.在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子的顺序编号为()。

A.2i B.2i-1 C.2i+1 D.2i+2

10.一棵具有35个结点的完全二叉树,最后一层有()个结点。

A.4 B.6 C.16 D.8

11.在一个无向图中,所有顶点的度数之和等于边数的()倍。

A.3 B.2 C.2.5 D.1.5

12.已知如图3所示的一个图,若从顶点V1出发,按广度优先法进行遍历,则可能得到的一种顶点序列为()。

A.V1V2V4V8V5V3V6V7 B.V1V2V4V5V8V3V6V7

C.V1V2V4V8V3V5V6V7 D.V1V3V6V7V2V4V5V8

图3

13.对二叉排序树进行()遍历,可以使遍历所得到的序列是有序序列。

A.按层次 B.后序 C.中序 D.前序

14.设已有m个元素有序,在未排好序的序列中挑选第m+1个元素,并且只经过一次元素的交换就使第m+1个元素排序到位,该方法是()。

A.折半排序 B.冒泡排序 C.归并排序 D.简单选择排序

15.一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序(堆顶元素是最小元素)的方法建立的初始堆为()。

A.39,47,46,80,41,57 B.39,41,46,80,47,57

C.41,39,46,47,57,80 D.39,80,46,47,41,57

二.填空题

1.算法的5个特征为_________。

2.要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为________和________ 。

3.在一个单向链表中p所指结点之后插入一个s所指向的结点时,应执行s->next=p->next;和的操作。

4.在一个单向链表中,要删除p所指结点,已知q指向p所指结点的前驱结点。则可以用操作________。

5.向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行s->next=h; 和操作。(结点的指针域为next)

6.在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为r->next=s;和(结点的指针域为next)。

7.两个串相等的充分必要条件是_______ ___。

8.在二叉树的链式存储结构中,通常每个结点中设置三个域,它们是_______、、。

9.一棵二叉树中有2n-2条边(结点间的连线),其中每一个非叶结点的度数都为2,则该树共有_______个非叶结点。

10.如图1所示的二叉树,其中序遍历序列为________ _。

11.如图1所示的二叉树,其后序遍历序列为_________。

12.哈希函数是记录关键字值与该记录存储地址之间所构造的对应关系。

13.n 个元素进行冒泡法排序,通常需要进行________趟冒泡,第j 趟冒泡要进行______次元素间的比较。

三、综合题

1.已知序列{11,19,5,4,7,13,2,10}

(1)试给出用归并排序法对该序列作升序排序时的每一趟的结果。

(2)对上述序列用堆排序的方法建立初始堆(要求小根堆,以二叉树描述建堆过程)。 2.设查找表为(7,15,21,22,40,58,68,80,88,89,120) ,元素的下标依次为1,2,3,……,11. (1)画出对上述查找表进行折半查找所对应的判定树(树中结点用下标表示) (2)说明成功查找到元素40需要经过多少次比较? (3)求在等概率条件下,成功查找的平均比较次数? 3.

(1)如果二叉树中任一结点的值均大于其左孩子的值、小于其右孩子的值,则该树为二叉排序树,这种说法是否正确?若认为正确,则回答正确,若认为不正确,则举例说明。 (2)设有数据集合{40,29,7,73,101,4,55,2,81,92,39},依次取集合中各数据,构造一棵二叉排序树. 4.

(1)“一棵二叉树若它的根结点的值大于左子树所有结点的值,小于右子树所有结点的值,则该树一定是二叉排序树”。该说法是否正确,若认为正确,则回答正确,若认为不正确则说明理由?

(2)设有查找表{7,16,4,8,20,9,6,18,5},依次取表中数据构造一棵二叉排序树. 对上述二叉树给出后序遍历的结果. 5.(1)对给定权值2,1,3,3,4,5,构造哈夫曼树。

(2)同样用上述权值构造另一棵哈夫曼树,使两棵哈夫曼树有不同的高度,并分别求两棵树的带权路径长度。

四、程序填空题

1.以下是用尾插法建立带头结点且有n 个结点的单向链表的程序,结点中的数据域从前向

图1 图2

相关文档
最新文档