数据结构(本科)期末综合练习二(填空与判断题)
- 格式:doc
- 大小:76.50 KB
- 文档页数:16
数据结构期末考试试题及答案一、选择题1. 以下哪种数据结构是线性存储结构?A. 树B. 图C. 栈D. 队列答案:C2. 在链表中,如果一个节点既没有前驱也没有后继,那么这个节点被称作什么?A. 首节点B. 尾节点C. 中间节点D. 孤立节点答案:B3. 树的度是指什么?A. 树中节点的个数B. 树中最大的层次数C. 树的分支数D. 树的节点的度的最大值答案:C4. 在二叉搜索树中,若要查找给定值的节点,当查找失败时应返回的值是?A. -1B. 0C. 1D. 该值本身答案:A5. 快速排序算法的时间复杂度最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n!)答案:C二、填空题1. 在顺序表中,元素的物理位置相邻的特点是________,这使得顺序表在________操作上具有较高的效率。
答案:连续性;访问2. 链表相比顺序表的优势在于它能够动态地________存储空间,并且________操作不需要移动大量元素。
答案:分配和释放;插入与删除3. 栈是一种________的数据结构,只允许在________进行插入和删除操作。
答案:后进先出;栈顶4. 图的遍历算法主要有两种,分别是________和________。
答案:深度优先搜索;广度优先搜索5. 哈夫曼树是一种特殊的二叉树,它常用于数据压缩,其构建过程是基于________原则。
答案:最小权值三、简答题1. 请简述数组和链表的优缺点。
答案:数组通过索引直接访问元素,访问速度快,但大小固定,插入和删除操作需要移动大量元素。
链表元素通过指针连接,可以动态分配大小,插入和删除效率高,但访问速度较慢,因为需要从头开始遍历。
2. 什么是二叉树的前序遍历、中序遍历和后序遍历?答案:二叉树的前序遍历是先访问根节点,然后遍历左子树,最后遍历右子树。
中序遍历是先遍历左子树,然后访问根节点,最后遍历右子树。
后序遍历是先遍历左子树,然后遍历右子树,最后访问根节点。
数据结构(本)期末综合练习2013年6月期末综合练习一1. 在数据结构和算法中,与所使用的计算机有关的是()。
A.数据元数间的抽象关系B.数据的存储结构C.算法的时间复杂度 D.数据的逻辑结构2. 一种逻辑结构在存储时()。
A.只要存储数据元素间的关系 B.只能采用一种存储结构C.可采用不同的存储结构 D.只要存储数据元素的值3 .对顺序表,以下叙述中正确的是 ( )。
A.用一组地址连续的存储单元依次存放线性表的数据元素B.各个数据元素的首地址是连续的C.数据元素不能随机访问D.插入操作不需要移动元素4 .对链表, 以下叙述中正确的是()。
A.不能随机访问任一结点 B.结点占用的存储空间是连续的C.插入删除元素的操作一定要要移动结点 D.可以通过下标对链表进行直接访问5.设有一个长度为25的顺序表,要删除第10个元素(下标从1开始),需移动元素的个数为()。
A.9 B.10 C.15 D.166.线性表在存储后,如果相关操作是:要求已知第i个结点的位置访问该结点的前驱结点,则采用()存储方式是不可行的。
A.单链表 B.双链表 C.单循环链表 D.顺序表7. 设单向链表中,指针p指向结点A,若要删除A的直接后继,则所需修改指针的操作为( )。
A.p->next=p->next->next;B.p=p->next;C.p=p->next->next;D.p->next=p ;8.栈和队列的共同特点是()。
A.都是先进后出 B.元素都可以随机进出C.只容许在端点处插入和删除元素 D.都是先进先出9.元素1,3,5,7按顺序依次进栈,按该栈的可能输出序列依次入队列,该队列的可能输出序列是()。
(进栈出栈可以交替进行)。
A.7,5,3,1 B.7,3,1,5C.7,5,1,3 D.5,1,3,710.元素2,4,6,8按顺序依次进栈,按该栈的的可能输出序列依次入队列,该队列的可能输出序列是()(进栈出栈可以交替进行)。
数据结构(本科)期末综合练习二(填空与判断题)填空题1. 数据是________的载体,它能够被计算机程序识别、存储和加工处理。
2. 数据结构包括逻辑结构、________和数据的运算三个方面。
3. 数据结构的逻辑结构包括线性结构和________结构两大类。
4. 数据结构的存储结构包括顺序、________、索引和散列等四种。
5. 基本数据类型是计算机已经实现了的________。
6. 抽象数据类型的特点是________、信息隐蔽、使用与实现分离。
7. 算法的一个特性是________,即算法必须执行有限步就结束。
8. 面向对象的特征应包括对象、类、________、消息通信。
9. 属性与服务相同的对象构成类,类中的每个对象称为该类的________。
10. 对象的私有状态只能通过该对象的________才能改变。
11. 模板类是一种数据抽象,它把________当作参数,可以实现类的复用。
12. 在类的继承结构中,位于上层的类叫做基类,其下层的类则叫做________类。
13. 一维数组所占用的空间是连续的。
但数组元素不一定顺序存取,通常是按元素的_________存取的。
14. 在程序运行过程中不能扩充的数组是__________分配的数组。
这种数组在声明它时必须指定它的大小。
15. 在程序运行过程中可以扩充的数组是__________分配的数组。
这种数组在声明它时需要使用数组指针。
16. 二维数组是一种非线性结构,其中的每一个数组元素最多有_________个直接前驱(或直接后继)。
17. 若设一个n?n的矩阵A的开始存储地址LOC(0, 0) 及元素所占存储单元数d已知,按行存储时其任意一个矩阵元素a[i][j]的存储地址为_________。
18. 对称矩阵的行数与列数_________且以主对角线为对称轴,aij = aji,因此只存储它的上三角部分或下三角部分即可。
19. 将一个n阶对称矩阵的上三角部分或下三角部分压缩存放于一个一维数组中,则一维数组需要存储_________个矩阵元素。
精心整理数据结构(本)期末综合练习综合练习一一、单项选择题1, 2B.一种逻辑结构只能有唯一的存储结构C. 一种逻辑结构可以有不同的存储结构D.线性表的顺序存储结构必须占用连续的存储空间4.在一个单向链表中,在p所指结点之后插入一个s所指的结点时,可执行();和p->next=s;A.p= s; B. p->next=s->next;C.p=s->next; D. s->next=p->next;56)。
7C.插入元素的操作不需要移动元素 D.删除元素的操作需要移动元素8.设一棵有8个叶结点的二叉树,度数为1的结点有3个,则该树共有()个结点。
A.20 B.18 C.17 D.169.图状结构中数据元素的位置之间存在()的关系。
A.一对一 B.多对多C.一对多 D.每一个元素都有一个直接前驱和一个直接后继))(C. DABCC D .FAbcC13.设有一个14阶的对称矩阵A(第一个元素为a1,1),采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a4,3在一维数组B中的下标是()。
A.9 B.10 C.11 D.8 14.元素111,113,115,117按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。
A.117,115,113,111 B.111,113,115,1171,1其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a4,2在一维数组B中的下标是()。
A.9 B.8 C.7 D.1019.如图1所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能得20能________。
图23.________结构中,数据元素间存在一对多的关系。
4. 对16个元素的序列用冒泡排法进行排序,通常需要进行________趟冒泡。
5.对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的三项信息是____ ___。
国家开放大学最新《数据结构(本)》期末综合练习(填空题)测验答案解析试题1满分1.00未标记标记试题试题正文对稀疏矩阵进行压缩存储,可采用三元组表,一个有10行的稀疏矩阵A共有97个零元素,其相应的三元组表共有3个元素。
该矩阵A有回答列。
反馈正确答案是:10试题2满分1.00未标记标记试题试题正文结构中的数据元素存在多对多的关系称为回答结构。
反馈正确答案是:图状试题3满分1.00未标记标记试题试题正文在单向链表中,q指向p所指结点的直接后继结点,要删除q所指结点,可以用操作回答= q->next;。
反馈正确答案是:p->next;试题4满分1.00未标记标记试题试题正文n个元素进行冒泡法排序,第j趟冒泡要进行回答次元素间的比较。
反馈正确答案是:n-j试题5满分1.00未标记标记试题试题正文对稀疏矩阵进行压缩存储,矩阵中每个非零元素对应的三元组包括该元素的行下标、列下标和回答三项信息。
反馈正确答案是:数组元素试题6未标记标记试题试题正文中序遍历回答树可得到一个有序序列。
反馈正确答案是:二叉排序树试题7满分1.00未标记标记试题试题正文队列的操作特点是后进回答。
反馈正确答案是:后出试题8满分1.00未标记标记试题试题正文待排序的序列为8,3,4,1,2,5,9,采用直接选择排序算法,当进行了两趟选择后,结果序列为回答。
反馈正确答案是:1,2,4,8,3,5,9满分1.00未标记标记试题试题正文n个元素进行冒泡法排序,通常需要进行回答趟冒泡。
反馈正确答案是:n-1试题10满分1.00未标记标记试题试题正文广义表((a,b),d,e((i,j),k))的长度是回答。
反馈正确答案是:4试题11满分1.00未标记标记试题试题正文中序遍历二叉排序树可得到一个回答的序列。
反馈正确答案是:有序试题12满分1.00未标记标记试题试题正文广义表的(c,a,(a,b),d,e,((i,j),k))深度是回答。
数据结构(本)期末综合练习综合练习一一、单项选择题1.设有头指针为head的带有头结点的非空单向循环链表, 指针p指向其尾结点, 要删除头结点,并使其仍为单向循环链表,则可利用下述语句head =head->next ;()。
A.p =head; B.p=NULL; C.p->next =head; D.head=p;2.在一个单链表中p指向结点a, q指向结点a的直接后继结点b,要删除结点b,可执行()。
A.p->next=q->next ; B.p=q->next;C.p->next=q; D.p->next=q;3. 以下说法不正确的是A. 线性表的链式存储结构不必占用连续的存储空间B.一种逻辑结构只能有唯一的存储结构C. 一种逻辑结构可以有不同的存储结构D.线性表的顺序存储结构必须占用连续的存储空间4.在一个单向链表中,在p所指结点之后插入一个s所指的结点时,可执行();和p->next=s;A.p= s; B. p->next=s->next;C.p=s->next; D. s->next=p->next;5.把数据存储到计算机中,并具体体现( )称为物理结构。
A. 数据元素间的逻辑关系B.数据的处理方法C.数据的性质D.数据的运算6.设有一个长度为23的顺序表,要删除第8个元素需移动元素的个数为()。
A.16 B.14 C.15 D.137.链表所具备的特点之一是()。
A.可以随机访问任一结点 B.需要占用连续的存储空间C.插入元素的操作不需要移动元素 D.删除元素的操作需要移动元素8.设一棵有8个叶结点的二叉树,度数为1的结点有3个,则该树共有()个结点。
A.20 B.18 C.17 D.169.图状结构中数据元素的位置之间存在()的关系。
A.一对一 B.多对多C.一对多 D.每一个元素都有一个直接前驱和一个直接后继10.一棵具有5层的完全二叉树,最后一层有4个结点,则该树总共有()个结点。
数据结构期末考试试题及答案一、选择题1. 在数据结构中,以下哪种数据结构是“先进先出”(FIFO)的?A. 栈B. 队列C. 链表D. 堆答案:B2. 哪种数据结构具有类似现实生活中“洋葱”的结构?A. 链表B. 树C. 图D. 堆答案:B3. 在常见的排序算法中,以下哪个算法具有最好的时间复杂度?A. 快速排序B. 插入排序C. 冒泡排序D. 选择排序答案:A4. 以下哪个数据结构可以解决“最短路径”问题?A. 队列B. 链表C. 树D. 图答案:D5. 在二叉搜索树中,节点的左子树的值都小于节点的值,右子树的值都大于节点的值。
这种特点被称为:A. 平衡性B. 完全性C. 左倾性D. 有序性答案:D二、填空题1. 在栈的操作中,插入元素的操作被称为______。
答案:push2. 哈希表通过______的方式快速查找元素。
答案:散列3. 在链表中,指向链表头部的指针被称为______。
答案:头指针4. 在图的遍历算法中,使用队列的遍历方式被称为______。
答案:广度优先搜索5. 大O表示法中,表示最坏情况下时间复杂度的记号是______。
答案:O三、简答题1. 请简要说明栈和队列的特点及应用场景。
答:栈是一种先进后出(FILO)的数据结构,只能在栈顶进行插入和删除操作。
栈的应用场景包括函数调用、表达式求值、撤销操作等。
队列是一种先进先出(FIFO)的数据结构,只能在队尾插入元素,在队头删除元素。
队列的应用场景包括多线程任务调度、消息队列等。
2. 简要描述堆排序的思想和步骤。
答:堆排序是一种基于二叉堆的排序算法。
首先,将待排序序列构建成一个大顶堆;然后,将堆顶元素与最后一个元素交换,即将最大元素放到已排序部分的末尾;接着,重新调整堆,将剩余元素重新构建成大顶堆;重复以上步骤,直到所有元素排序完成。
四、编程题请使用C语言实现一个二叉树的前序遍历算法。
```c#include <stdio.h>#include <stdlib.h>struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;};void preorderTraversal(struct TreeNode* root) {if (root != NULL) {printf("%d ", root->val); // 先访问根节点preorderTraversal(root->left); // 再遍历左子树preorderTraversal(root->right); // 最后遍历右子树}}int main() {// 构建二叉树struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode));struct TreeNode* node1 = (struct TreeNode*)malloc(sizeof(struct TreeNode));struct TreeNode* node2 = (struct TreeNode*)malloc(sizeof(struct TreeNode));root->val = 1;node1->val = 2;node2->val = 3;root->left = node1;root->right = node2;node1->left = NULL;node1->right = NULL;node2->left = NULL;node2->right = NULL;// 调用前序遍历函数preorderTraversal(root);return 0;}```本文介绍了数据结构期末考试的试题及答案,涵盖了选择题、填空题、简答题和编程题等不同题型。
数据结构练习(二)答案一、填空题:1.若一棵树的括号表示为A(B(E,F),C(G(H,I,J,K),L),D(M(N))),则该树的度为(1)4,树的深度为(2)4 ,树中叶子结点的个数为(3)8。
2.一棵满二叉树中有m个叶子,n个结点,深度为h,请写出m、n、h之间关系的表达式(4)n=2h-1,m=n+1-2h-1 n=2m-1 。
3.一棵二叉树中如果有n个叶子结点,则这棵树上最少有(5)2n-1 个结点。
一棵深度为k的完全二叉树中最少有2k-1(6)个结点,最多有(7)2k-1个结点。
4.具有n个结点的二叉树,当它是一棵(8)完全二叉树时具有最小高度(9) log2n」+1,当它为一棵单支树时具有高度(10) n 。
5.对具有n个结点的完全二叉树按照层次从上到下,每一层从左到右的次序对所有结点进行编号,编号为i的结点的双亲结点的编号为_(11)__[i/2]__,左孩子的编号为___2i____,右孩子的编号为__2i+1______。
6.若具有n个结点的二叉树采用二叉链表存储结构,则该链表中有__2n_个指针域,其中有_n-1_个指针域用于链接孩子结点,__n+1_个指针域空闲存放着NULL 。
7.二叉树的遍历方式通常有__先序__、___中序__、__后序__和___层序___四种。
8.已知二叉树的前序遍历序列为ABDCEFG,中序遍历序列为DBCAFEG,其后序遍历序列为___DCBFGEA__。
9.已知某完全二叉树采用顺序存储结构,结点的存放次序为A,B,C,D,E,F,G,H,I,J,该完全二叉树的后序序列为___HIDJEBFGCA____。
10.若具有n个结点的非空二叉树有n0个叶结点,则该二叉树有__n0-1_个度为2的结点,____n-2n0+1____个度为1的结点。
11.任何非空树中有且仅有一个结点没有前驱结点,该结点就是树的__根____。
度为k的树中第i层最多有___k i-1_______个结点(i>=1),深度为h的k叉树最多有___k0+k1+....+k h-1____个结点。
《数据结构(本)》期末综合练习题一、单选选择题1.栈和队列的共同特点是(C)。
A. 都是先进先出B. 都是操作受限的线性结构C. 都是先进后出D. 元素都可以随机进出2.数据的存储结构包括数据元素的表示和(C)。
A. 数据处理的方法B. 数据元素的类型C. 数据元素间的关系的表示D. 相关算法3.对一个栈顶指针为top的链栈进行入栈操作,通过指针变量p生成入栈结点,则执行p=(struct node *)malloc(sizeof(struct node);p->data=a;和(C)。
A. top->next=p; p=top;B. p->next=top; p=top;C. p->next=top; top=p;D. top=top->next; p=top;4.树状结构中数据元素的位置之间存在(B)的关系。
A. 每一个元素都有一个直接前驱和一个直接后继B. 一对多C. 一对一D. 多对多5.设头指针为head的非空的单向链表,指针p指向尾结点,则通过以下操作(D)可使其成为单向循环链表。
A. head = p;B. p=head;C. p->next = NULL ;D. p->next=head;6.设有一个长度为26的顺序表,要插入一个元素,并使它成为新表的第6个元素,需移动元素的个数为(D)。
A. 22B. 19C. 20D. 217.一种逻辑结构(C)。
A. 与存储该逻辑结构的计算机相关B. 是指某一种数据元素的性质C. 可以有不同的存储结构D. 只能有唯一的存储结构8.头指针为head的带头结点的单向循环链表,p所指向尾结点,要使该链表成为不带头结点的单向循环链表,可执行head=head->nex;和(A)。
A. p->next=head;B. p= head->nextC. head->next=pD. head->next=p->next9.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为(D)。
数据结构(本)期末综合练习综合练习一一、单项选择题1.设有头指针为head的带有头结点的非空单向循环链表, 指针p指向其尾结点, 要删除头结点,并使其仍为单向循环链表,则可利用下述语句head =head->next ;()。
A.p =head; B.p=NULL; C.p->next =head; D.head=p;2.在一个单链表中p指向结点a, q指向结点a的直接后继结点b,要删除结点b,可执行()。
A.p->next=q->next ; B.p=q->next;C.p->next=q; D.p->next=q;3. 以下说法不正确的是A. 线性表的链式存储结构不必占用连续的存储空间B.一种逻辑结构只能有唯一的存储结构C. 一种逻辑结构可以有不同的存储结构D.线性表的顺序存储结构必须占用连续的存储空间4.在一个单向链表中,在p所指结点之后插入一个s所指的结点时,可执行();和p->next=s;A.p= s; B. p->next=s->next;C.p=s->next; D. s->next=p->next;5.把数据存储到计算机中,并具体体现( )称为物理结构。
A. 数据元素间的逻辑关系B.数据的处理方法C.数据的性质D.数据的运算6.设有一个长度为23的顺序表,要删除第8个元素需移动元素的个数为()。
A.16 B.14 C.15 D.137.链表所具备的特点之一是()。
A.可以随机访问任一结点 B.需要占用连续的存储空间C.插入元素的操作不需要移动元素 D.删除元素的操作需要移动元素8.设一棵有8个叶结点的二叉树,度数为1的结点有3个,则该树共有()个结点。
A.20 B.18 C.17 D.169.图状结构中数据元素的位置之间存在()的关系。
A.一对一 B.多对多C.一对多 D.每一个元素都有一个直接前驱和一个直接后继10.一棵具有5层的完全二叉树,最后一层有4个结点,则该树总共有()个结点。
数据结构(本科)期末综合练习二(填空与判断题)填空题1. 数据是________的载体,它能够被计算机程序识别、存储和加工处理。
2. 数据结构包括逻辑结构、________和数据的运算三个方面。
3. 数据结构的逻辑结构包括线性结构和________结构两大类。
4. 数据结构的存储结构包括顺序、________、索引和散列等四种。
5. 基本数据类型是计算机已经实现了的________。
6. 抽象数据类型的特点是________、信息隐蔽、使用与实现分离。
7. 算法的一个特性是________,即算法必须执行有限步就结束。
8. 面向对象的特征应包括对象、类、________、消息通信。
9. 属性与服务相同的对象构成类,类中的每个对象称为该类的________。
10. 对象的私有状态只能通过该对象的________才能改变。
11. 模板类是一种数据抽象,它把________当作参数,可以实现类的复用。
12. 在类的继承结构中,位于上层的类叫做基类,其下层的类则叫做________类。
13. 一维数组所占用的空间是连续的。
但数组元素不一定顺序存取,通常是按元素的_________存取的。
14. 在程序运行过程中不能扩充的数组是__________分配的数组。
这种数组在声明它时必须指定它的大小。
15. 在程序运行过程中可以扩充的数组是__________分配的数组。
这种数组在声明它时需要使用数组指针。
16. 二维数组是一种非线性结构,其中的每一个数组元素最多有_________个直接前驱(或直接后继)。
17. 若设一个n n的矩阵A的开始存储地址LOC(0, 0) 及元素所占存储单元数d已知,按行存储时其任意一个矩阵元素a[i][j]的存储地址为_________。
18. 对称矩阵的行数与列数_________且以主对角线为对称轴,aij = aji,因此只存储它的上三角部分或下三角部分即可。
19. 将一个n阶对称矩阵的上三角部分或下三角部分压缩存放于一个一维数组中,则一维数组需要存储_________个矩阵元素。
20. 将一个n阶对称矩阵A的上三角部分按行压缩存放于一个一维数组B中,A[0][0]存放于B[0]中,则A[I][J]在I≤J时将存放于数组B的_________位置。
21. 利用三元组表存放稀疏矩阵中的非零元素,则在三元组表中每个三元组元素对应一个非零元素的行号、列号和_________。
22. 线性表是由n(n≥0)个_________组成的有限序列。
23. 若设串S = “documentHash.doc\0”,则该字符串S的长度为_________。
24. 链表是一种采用存储结构存储的线性表。
25. 链表只适用于查找。
26. 在链表中进行插入和操作的效率比在顺序存储结构中进行相同操作的效率高。
27. 链表对于数据元素的插入和删除不需要移动结点,只需要改变相应结点的__________的值。
28. 链接存储表示的结点存储空间一般在程序的运行过程中进行动态地_______和释放。
29. 单链表中逻辑上相邻的结点而在物理位置上_______相邻。
30. 在单链表中, 除了表头结点外, 任意结点的存储位置由其直接_____结点的指针域的值所指示。
31. 在单链表设置表头结点的作用是插入和删除表中第一个元素时不必对________进行特殊处理。
32. 若设L是指向带表头的单链表, 语句 L->link=L->link->link的作用是________单链表中的第一个结点。
33. 在双向链表中, 每个结点除了数据域外, 还有两个指针域, 它们分别指向_________________。
34. 线性表的链接存储只能通过________顺序访问。
35. 链表与顺序表、索引表、散列表等都是数据逻辑结构的__________表示。
36. 设双向循环链表每个结点结构为(data,llink,rlink),则结点*p的前驱结点的地址为__________。
37. 栈是一种限定在表的一端进行插入和删除的线性表,又被称为___________表。
38. 队列是一种限定在表的一端插入,在另一端删除的线性表,它又被称为________表。
39. 向一个链式栈插入一个新结点时,首先把栈顶指针的值赋给新结点的指针域,然后把新结点的存储位置赋给________。
40. 队列的删除操作在________进行。
41. 向一个顺序栈插入一个元素时,首先使________后移一个位置,然后把待插入元素写入到这个位置上。
42. 若设顺序栈的最大容量为MaxSize,top==-1表示栈空,则判断栈满的条件是________________。
43. 当用长度为MaxSize的数组顺序存储一个栈时,若用top == MaxSize表示栈空,则表示栈满的条件为________。
44. 向一个循环队列中插入元素时,需要首先移动________指针,然后再向所指位置写入新元素。
45. 向一个栈顶指针为top的链式栈中插入一个新结点*p时,应执行________和top=p操作。
46. 在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列至多有________个结点。
47. 在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列至多有________个结点。
48. 如果一个对象部分地包含自己,或自己定义自己,则称这个对象是_________的对象。
49. 如果一个过程直接或间接地调用自己,则称这个过程是一个________的过程。
50. 递归工作栈起到两个作用,其一是将递归调用时的实际参数和返回地址传递给下一层递归;其二是保存本层的形式参数和_________。
51. 函数内部的局部变量是在进入函数过程后才分配存储空间,在函数过程执行结束后就________局部变量所占用的存储空间。
52. 迷宫问题是一个回溯控制的问题,最好使用__________的方法来解决。
53. 非空广义表的除第一个元素外其他元素组成的表称为广义表的________。
54. 广义表A ( (a, b, c), (d, e, f ) ) 的表尾为________。
55. 广义表是一种递归的数据结构,子表结点则指示下一层广义表的________。
56. 广义表的深度定义为广义表括号的________。
57. 对于一棵具有n个结点的树,该树中所有结点的度数之和为______。
58. 一棵树的广义表表示为a(b(c,d(e,f),g(h)),i(j,k(x,y))),结点k的所有祖先的结点数为________个。
59. 一棵树的广义表表示为a(b(c,d(e,f),g(h)),i(j,k(x,y))),结点f的层数为_________。
假定树根结点的层数为0。
60. 假定一棵三叉树(即度为3的树)的结点个数为50,则它的最小高度为________。
假定树根结点的深度为0。
61. 在一棵高度为3的四叉树中,最多含有________个结点,假定树根结点的高度为0。
62. 在一棵三叉树中,度为3的结点数有2个,度为2的结点数有1个,度为1的结点数为2个,那么度为0的结点数有________个。
63. 一棵高度为5的完全二叉树中,最多包含有________个结点。
假定树根结点的高度为0。
64. 假定一棵树的广义表表示为A(B(C,D(E,F,G),H(I,J))),则该树的高度为________。
假定树根结点的高度为0。
65. 在一棵二叉树中,假定双分支结点数为5个,单分支结点数为6个,则叶子结点数为________个。
66. 假定一棵二叉树的结点数为18,则它的最小高度为________。
假定树根结点的高度为0。
67. 在一棵高度为h的理想平衡二叉树中,最少含有________个结点。
假定树根结点的高度为0。
68. 在一棵高度为h的理想平衡二叉树中,最多含有________个结点。
假定树根结点的高度为0。
69. 若将一棵树A(B(C,D,E),F(G(H),I))按照左子女-右兄弟表示法转换为二叉树,该二叉树中度为2的结点的个数为________个。
70. 将一棵树按照左子女-右兄弟表示法转换成对应的二叉树,则该二叉树中树根结点肯定没有________子女。
71. 在一个堆的顺序存储中,若一个元素的下标为i(0≤i≤n-1),则它的左子女元素的下标为______。
72. 在一个堆的顺序存储中,若一个元素的下标为i(0≤i≤n-1),则它的右子女元素的下标为________。
73. 在一个最小堆中,堆顶结点的值是所有结点中的________。
74. 在一个最大堆中,堆顶结点的值是所有结点中的________。
75. 以顺序搜索方法从长度为n的顺序表或单链表中搜索一个元素的渐进时间复杂度为________。
76. 对长度为n的搜索表进行搜索时,假定搜索第i个元素的概率为p,搜索长度(即在搜索i,则在搜索成功情况下的平均搜索长度的计算公式为过程中依次同有关元素比较的总次数)为ci________。
77. 假定一个顺序表的长度为40,并假定顺序搜索每个元素的概率都相同,则在搜索成功情况下的平均搜索长度为________。
78. 从有序表(12,18,30,43,56,78,82,95)中折半搜索元素56时,其搜索长度为________。
79. 假定对长度n=50的有序表进行折半搜索,则对应的判定树中最底下一层的结点数为______个。
80. 从一棵二叉搜索树中搜索一个元素时,若给定值大于根结点的值,则需要向________继续搜索。
81. 向一棵二叉搜索树中插入一个元素时,若元素的值小于根结点的值,则应把它插入到根结点的________上。
82. 根据n个元素建立一棵二叉搜索树的渐进时间复杂度大致为_____________。
83. 在一棵AVL树中,每个结点的左子树高度与右子树高度之差的绝对值不超过________。
84. 根据一组记录(56,42,50,64,48)依次插入结点生成一棵AVL树时,当插入到值为_______的结点时需要进行旋转调整。
85. 根据一组记录(56,74,63,64,48)依次插入结点生成一棵AVL树时,当插入到值为63的结点时需要进行________________调整。
86. 根据一组记录(56,42,38,64,48)依次插入结点生成一棵AVL 树时,当插入到值为38的结点时需要进行____________调整。
87. 根据一组记录(56,42,73,50,64,48,22)依次插入结点生成一棵AVL 树时,当插入到值为_______的结点时才出现不平衡,需要进行旋转调整。