实用数据结构基础课后习题Word文档格式.docx
- 文档编号:19818934
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:11
- 大小:20.96KB
实用数据结构基础课后习题Word文档格式.docx
《实用数据结构基础课后习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《实用数据结构基础课后习题Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
15.将十进制数转换为二进制数是栈的典型应用之一。
(第四章队列)
16.队列式限制在两端进行操作的线性表。
17.判断顺序队列为空的标准是头指针和尾指针都指向同一结点。
18.在循环链列队中无溢出现像。
19.在循环队列中,若尾指针rear大于头指针front,则元素个数为rear-front。
20.顺序队列和循环队列关于队满和队空的判断条件是一样的。
(第五章串)
21.串是n个字母的有限序列。
22.串的堆分配存储是一种动态存储结构。
23.串的长度是指串中不同字符的个数。
24.如贵一个串中所有的字母均在另一个串中出现,则说明前者是后者的子串。
25.在链串中为了提高存储密度,应该增大结点的大小。
(第六章对维数组和广义表)
26.n维的多维数组可以视为n-1维数组元素组成的线性结构。
27.上三角矩阵对主角线以上(不包括对主角线中的元素),均为常数C。
28.数组的三元组表存储时对稀疏矩阵的压缩存储。
29.广义表Ls=(a0,a1,......an-1),则an-1是其表尾。
30.广义表((a,b),a,b)的表头和表尾是相等的。
(第七章树和二叉树)
31.在完全二叉树中,若一个结点没有左孩子,则它必然是叶子节点。
32.含多于两棵树的森林转换到二叉树,其根节点一定无右子树。
33.二叉树的前序遍历中,任意一个节点均处于其子女节点的前面。
34.在中序线索二叉树中,右线索若不为空,则一定指向其双亲。
35.在哈夫曼编码中,当两个字符出现的频率相同的,其他编码也相同,对于这种情况应该做特殊处理。
(第八章图)
36.在无相图中,(v1,v2)与(v2,v1)是两条不同的边。
37.图可以没有边,但不能没有顶点。
38.若一个无向图以顶点v1为起点,进行深度优先遍历,所得的遍历序列唯一,则可以唯一确定该图。
39.用邻接矩阵法存储一个图时,所占用的存储空间大小与图中的顶点个数无关,而只与图的边数有关。
40.存储无向图的邻接矩阵是对称的,因此只要存储邻接矩阵的上三角(或下三角)部分就可以了。
(第九章查找)
41.在有序的顺序表和有序的链表上,均可以采用二分查找法来提高查找速度。
42.在二叉排序树中,根节点的这都小于孩子节点的值。
43.选择好的哈希函数就可以避免冲突的发生。
44.散列存储法的基本思想是由关键字的值决定数据存储地址。
45.在二叉排序树上删除一个节点时,不必移动其他节点,只要将该节点的父节点的相应指针域置空即可。
(第十章排序)
46.如果某种排序算法不稳定,则该排序方法就没有使用价值。
47.希尔排序是不稳定的排序。
48.对排序所需的时间与待排序的记录个数无关。
49.快速排序在任何情况下都比其他排序方法速度快。
50.采用归并排序可以实现外排序。
二、填空题
1.数据结果是一门研究非数值计算的程序设计问题中计算机的___数据元素___,以及它们之间关系和运算的学科。
2.数据有逻辑结构和__存储结构__两种结构。
3.数据逻辑结构除了集合以外的还包括线性结构,树形结构和__图形结构__。
4.数据结构按逻辑结构可分为两大类,分别是线性结构和__非线性结构__。
5.图形结构和__树形结构__合称为非线性结构。
6.在树形结构中,除了树根节点以外,其余每个节点都只有__1__个前驱结点。
7.在图形结构中,每一个节点的前驱节点上数和后继节点数可以__互换__。
8.数据的存储结构,又叫做数据的__物理结构__。
9.数据的存储结构形式,包括顺序存储,链式存储索引存储和__散列存储__。
10.树形结构中的元素之间存在__1对多__的关系。
11.图形结构的元素之间存在__多对多__的关系。
12.数据结构主要研究数据的逻辑结构,存储结构和__算法__三方面的内容。
13.数据结构被定义为(D,R),D是数据的有限集合,R是D上的__逻辑关系__的有限集合
14.算法是对特定问题__解决步骤__的描述。
15.算法效率的度量可以分为事先估算和__事后统计__。
16.一个算法的时间复杂度是算法__数据规模__的函数。
17.算法的空间复杂度是指该算法所耗费的__存储空间__,他是该算法求解问题规模n的函数。
18.若一个算法中,还有10万条基本语句,但有问题的规模无关,则该算法的时间复杂度为__O
(1)__。
19.若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为__O(n)__。
20.若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为__O(n^2)__。
1.在线性表中,数据的长度定义为__表长__。
2.顺序表中逻辑上相邻的元素在物理位置上__一定__相邻。
3.顺序表相对于链表的优点是__密度大__和随机存取。
4.某线性表采用顺序存储结构,每个元素占据4个存储单元,首地址为100则下标为11的(第12个元素)存储地址为__144__。
5.当线性表中的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取现象表中的元素时,应采用__顺序__存储结构。
6.顺序表中访问任意一个结点的时间复杂度均为__O
(1)__。
7.在一个长度为n的顺序表中删除第i个元素要移动__n-i__个元素。
8.在一个长度为n的顺序表中,如果要在第二个元素前插入一个元素要后移__n-i+1__个元素。
9.线性表L=(a1,a2,......,an)用数组表示假定删除表中任意元素的概率相同,则删除一个元素平均需要移动元素的个数是__n/2__。
10.在线性表的链式存储中元素之间的逻辑关系是通过__指针__决定的。
11.在双向链表中每个节点都有两个指针域他们一个指向其__前驱__结点,另一个指向其后继结点。
12.线性表的元素总数不确定,且经常需要进行插入和删除操作,应采用__链式__存储结构。
13.在单向链表中,需要知道__表头指针__才能遍历整个链表。
14.在单向链表中,要在已知的节点*p之前插入一个新节点,需找到*p的直接前驱结点的地址,其查找的时间复杂度为__O(n)__。
15.单向循环链表的最大优点是__从任意节点出发__可以访问到链表中每一个元素。
16.在双向链表中要删除已知节点*p,其实间复杂度为__O(n)__。
17.带头节点的双循环链表L中判断只有一个元素节点的条件是__L->
next->
next==L(L->
front->
front==L)__。
18.对于双向链表,在两个节点之间插入一个新节点需要修改的指针共__4__个。
19.双向链表中,设p是指向其中待删除的节点,则需要执行的操作命令序列为:
p->
rear=p->
rear;
__p->
rear->
front=p->
front__。
20.在如下所示的链表中,若在指针p所在的结点之后插入数据与值为a和b的两个节点,则可用语句__S->
next=p->
next__来实现该操作。
1.栈的特点是__先进后出__。
2.在栈结构中,允许插入,删除的一端称为__栈顶__。
3.在顺序栈中,在栈顶指针top=-1时表示__栈为空__。
4.顺序栈s存储在数组s->
data[0..maxlen-1]中,进栈操作时首先需要执行的语句有:
s->
top=__s->
top+1__。
5.链栈LS为空的条件是__LS==NULL__。
6.已知顺序栈s在对s进行栈操作之前,首先要判断__栈满否__。
7.若内存空间充足,__链__栈可以不定义栈满运算。
8.同一栈的各元素类型__一致__。
9.在有n个元素的链栈中,进栈操作的时间复杂度为__O
(1)__。
10.由于链栈的操作只在链表的头部进行,所以没有必要设置__头__节点。
11.从一个栈删除元素时,首先取出__栈顶元素__,然后在移动栈顶指针。
12.像一个栈顶指针为top的链栈插入一个新的节点*p时,应执行__p->
next=top__和top=p的操作。
13.若进栈的次序是A、B、C、D、E执行三次出栈操作后栈顶元素为__B__。
14.四个元素按A、B、C、D顺序进s栈执行两次pop(S、X)后X的值是__C__。
15.设有一个顺序空栈,现有输入序列号ABCDE,经过push、push、pop、push、pop、push、push、pop操作之后输出序列式是__BCE__。
16.对一个初始值为空栈s执行操作push(s,5)、push(s,2)、push(s,4)、push(s,x)、readTop(s,x)后,x的值应是__2__。
17.设I表示入栈操作,O表示出栈操作,若元素入栈顺序为1,2,3,4为了得到1,3,4,2出栈顺序,则相应的I和O的操作串为__IOIIOIOO__。
18.已知表达式,求它后缀表达式是__栈__的典型应用。
+B/C-D*E的后缀表达式是__ABC/+DE*-__。
20.已知一个栈的进栈序列是1,2,3,4,,......,n,其输出序列是p1,p2,p3,......,pn。
若p1=n,则pi的值是__n+i-1__。
第四章队列
第四章填空
1.在队列中存取数据应遵循的原则是先进先出。
2.在队列中允许插入的一段称之为队尾。
3.在队列中允许删除的一端,称之为对头。
4.队列在进行出队操作时,首先要判断队列是否为空。
5.顺序队列在进行入队操作时,首先要判断队列是否为满。
6.顺序队列初始化后,front=rear=-1
7.链队列LQ为空时,LQ->front->next=NULL
8.读队首元素的操作不改变队列元素的个数。
9.在一个链队列中,若队首指针为front,队尾指针为rear,则判断该队列只有一个结点的条件为front==real(front->next==NULL)
10.设长度为n的链队列用单循环链表表示,若只设头指针,则入队操作的时间复杂度为O(n)
11.设长度为n的链队列用单循环链表表示,若只设尾指针,则出队操作的时间复杂度为O(n)
12.队列Q,经过InitQueue(Q)XXXXXX
运算后的值是0
13.队列Q,经过InitQueue(Q)XXXXXX
运算后,x的值是a
14.解决顺序队列“假溢出”的方法是采用循环队
15.循环队列q的对手指针为,队尾指针为,则队空的条件为==
16.设循环队列的容量为40(序号为0~39)现经过一系列的入队和出队运算后,front=11,rear=19,则循环队列中还有8个元素
17.设循环队列的头指针front指向队首元素,尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为MAXLEN,则队满标志为rear-front==MAXLEN
18.从循环队列中删除一个元素时,其操作是front++
19.在循环队列中,队首指针指向队首元素的前一个位置
20.删除双向对列表中*p的前驱结点(存在)应执行的语句序列是xxxxxxx
第五章
1.由零个或多个字符组成的有限序列称为字符串。
2.空格穿时有空格组成的串。
3.字符串存储方式除了顺序存储,链接存储,还有堆存储。
4.穿衣顺序存储非紧凑格式的缺点是密度小
5.串顺序存储紧凑格式的缺点是对串的字符处理困难。
6.串的链式存储结构,简称为链串。
7.串链接存储的优点是插入,删除方便,缺点是存储,检索效率低。
8.在c或c++语言中以字符(这个答案很奇怪)表示串值的终结
9.两个串相等的充分必要条件是两个串长度相等,且对应位置的字符相同
10.设S=“mymusic”则LenStr(S)=8
11.两个字符串分别为XXXXX
12.求子串的结果是
13.在串的运算中XXXXXX,返回值为July
14.在串的运算中XXXXXX,返回值为-1
15.设有两个串P和Q,求Q在P中首次出现的位置运算称作
16.在子串的定位运算中,被匹配的主串称为目标串,子串称为模式
17.模式匹配成功的起始位置称为有效位移
18.设XXXXX
19.设Xxxx
20.若n为主串长度,m为子串长度,且n>>m,则简单模式匹配算法最好情况下的时间复杂度为0(n*m)
第六章
1.多维数组的顺序存储方式有按行优先顺序存储和列优先两种。
2.在n维数组中的每一个元素最多可以有n个直接前驱
3.在多维数组中,数据元素的存放地址可以直接通过地址计算公式算出,所以多维数组是一种顺序存取结构
4.数组元素a[0..2][0..3]的实际地址是2000,元素长度是4,则LOC[1,2]=228
5.输入二维数组A[n][m]中所有元素值的时间复杂度为0(n*m)
阶对称矩阵,如果只存储下三角元素,只需要n*(n+1)/2个存储单元
阶下三角矩阵,因为对角线的上方是一个常数,需要n*(n+1)/2+1个存储单元
8.非零元素的个数远小于矩阵元素总数的矩阵为稀疏矩阵
9.稀疏矩阵矩阵的三元组有三列
10.稀疏矩阵中有n个非零元素,则三元组有n+1
11.稀疏矩阵的三元组中的一列存储的是数组中非零元素所在的行
12.稀疏矩阵a,如图,其非零元素存于三元表中三元组415,按列优先顺序存储在三元表中的第5项
13.稀疏矩阵的压缩存储方法通常有三元组表和十字链表两种
14.任何一个非空广义表的表尾,必定是表元素
15.广义表L 的表尾
【16-20题在书上看吧】 QAQ
第七章
1.三个节点可以组成五种不同形态的树。
2.在树中,一个结点所拥有的子树数,称之为该结点的度。
3.度为零的结点称之为叶结点。
4.树中节点的最大层次称之为树的深度
5.对于二叉树来说,第二层上至多有
6.深度为h的二叉树至多有
7.有20个节点的完全二叉树,编号为10的节点的父节点的编号是5
8.将一棵完全二叉树按层次编号,对于任意一个编号为i的结点,其右孩子结点编号为2i+1
9.已知完全二叉树的第8层有8个节点,则其叶节点数是三
10.采用二叉链表存储的n个节点的二叉树,共有空指针n+1个
11.如图
12.如图
为一棵树二叉数上的两个结点,在中序遍历时,a在b前的条件是A在B的左子树上
14.设一棵二叉树节点的先序遍历序列为abcdefgh,中序遍历序列为dbeafchg,则二叉树中叶结点是EFH
15.某二叉树的中序遍历序列为debac,后序遍历序列为dbcad,则前序遍历序列为DABEC
16.前序为ABC,且后续为CBA的二叉树共有1种
17.由一棵二叉树的前序序列和中序序列可唯一确定这棵二叉树
18.由树转换成二叉树时,其根结点无右子树
19.哈夫曼树是带权路径长度的最短二叉树。
20.具有n个节点的哈夫曼树共有2n-1个结点。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用 数据结构 基础 课后 习题