数据结构复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单项选择题
3.在循环队列中,若front与rear 分别表示对头元素和队尾元素的位置,则判断循环队列空的条件是(C )。
A.front==rear+1 B.rear==front+1
C.front==rear D.front==0
4.串是一种特殊的线性表,其特殊性体现在(B )。
A.可以顺序存储B.数据元素是一个字符
C.可以链式存储D.数据元素可以是多个字符
1.树最适合用来表示( C )。
(A)有序数据元素 (B)无序数据元素
(C)元素之间具有分支层次关系的数据 (D)元素之间无联系的数据
2. 设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该
二叉树得到序列为( A )。
(A) BADC (B) BCDA (C) CDAB (D) CBDA
3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( A )。
(A) q=p->next;p->data=q->data;p->next=q->next;free(q);
(B) q=p->next;q->data=p->data;p->next=q->next;free(q);
(C) q=p->next;p->next=q->next;free(q);
(D) q=p->next;p->data=q->data;free(q);
5.具有10个叶子结点的二叉树中有 B 个度为2的结点。
A.8 B.9 C.10 D.11
6.采用邻接表存储的图的广度优先遍历算法类似于二叉树的( D )。
A.先序遍历 B.中序遍历 C.后序遍历 D.按层遍历
7.非空的循环单链表head的尾结点(由p所指向)满足( C )。
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
8.排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为( C )。
A.希尔排序 B。冒泡排序 C插入排序 D。选择排序5.( B)二叉排序树可以得到一个从小到大的有序序列。
(A) 先序遍历(B) 中序遍历(C) 后序遍历(D) 层次遍历
6.两个字符串相等的充要条件是( C )。
(A) 两个字符串的长度相等(B) 两个字符串中对应位置上的字符相等
(C) 同时具备(A)和(B)两个条件(D) 以上答案都不对
7. 设顺序表的长度为n,则顺序查找的平均比较次数为( B )。
(A) n (B) n/2 (C) (n+1)/2 (D) (n-1)/2
8. 设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映
射到HASH表中需要做( D )次线性探测。
(A) n2 (B) n(n+1) (C) n(n+1)/2 (D) n(n-1)/2
9.对线性表采用折半查找法,该线性表必须( B )。
A.采用顺序存储结构 B.采用顺序存储结构,且元素按值有序
C.采用链式存储结构 D.采用链式存储结构,且元素按值有序
10.要连通具有n个顶点的有向图,至少需要( B )条边。
A.n-l B.n C.n+l D.2n
是非判断题
1.线性表的链式存储结构是通过指针来间接反映数据元素之间逻辑关系的。(对 )
2. 不管堆栈采用何种存储结构,只要堆栈不空,可以任意删除一个元素。(对 )
3. 确定串T在串S中首次出现的位置的操作称为串的模式匹配。( 对)
4. 满二叉树就是完全二叉树。( 对)
3. 二维数组和多维数组均不是特殊的线性结构。(错)
4. 不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。(对)
5. 完全二叉树一定是满二叉树,满二叉树不一定是完全二叉树。(错)
6. 一个图具有生成树的必要条件是该图必须是连通图。( )
7. 哈夫曼树一定是满二叉树。( 错 )
5. 散列表的查找效率主要取决于所选择的散列函数与处理冲突的方法。( 对)
6. 序列初始为逆序时,冒泡排序法所进行的元素之间的比较次数最多。(对 )
8. 任意图都是其自身的子图。( 对)
9. 一个图具有生成树的必要条件是该图必须是连通图。( )
填空题(
1.具有n个顶点的无向图的边数最多为______n-1_________________,具有n 个顶点的有向图的边数最多为______n(n-1)_______________。
2.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新的数据元素前,需要先依次移动(n-i+1)个数据元素。
2.二叉树中的每个结点最多有___一个__前驱和__多个__________后继。
3.在双向链表中,每个结点含有两个指针域,一个指向__其后继_____结点,另一个指向__其前驱结点___
结点。
4.栈结构允许进行删除操作的一端为____栈顶_________。
5.在初始为空的队列中插入元素A、B、C、D以后,紧接着作了两次删除操作,此时的队头元素是_____A____。
6.一棵5层的完成二叉树中结点总数最多为__31_________。
4.折半查找有序表( 2,4,6,12,20,28,38,50,70,100 ),若查找表中元素12,它
依次与表中元素 _____6 ,20 ,12 ______________ 比较大小。
5.栈中元素的进出原则为先进后出。
6.在散列文件(Hash文件)中,处理冲突的方法通常有:开放定址法、再哈希