数据结构期末复习【更新】

文章涵盖了数据结构的重要概念,包括模式匹配的KMP算法,二叉树的构建与线索化,计算叶子节点数量,建立二叉排序树,广义表的操作,存储地址计算,哈夫曼编码设计,最小生成树的普里姆和克鲁斯卡尔算法,以及深度、广度遍历和哈希表的冲突解决策略。此外,还涉及了快速排序、希尔排序和堆排序的排序过程和稳定性分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.模式匹配

给出字符串’abacacaaad’在KMP算法中的next和nextval数组。
在这里插入图片描述

2.画二叉树(根据中序和后序,前序和中序)及其线索二叉树

2.1已知一棵二叉树的后序遍历和中序遍历的序列分别为:
在这里插入图片描述
2.2已知一棵二叉树的前序遍历和中序遍历的序列分别为:
在这里插入图片描述
线索二叉树
在这里插入图片描述

3.求叶子结点个数

已知一颗度为3的树中,有度数为3的结点100个,度数为2的结点200个,求叶子结点的个数,并给出推导过程。
在这里插入图片描述

4.建立二叉排序树

对于给定结点的关键字集合K=[34,76,45,18,26,54,92,38]
(1)试构建一棵二叉排序树(2)查找54需要比较几次?查找100的比较次数?(3)求等概率情况下查找成功的平均查找长度ASL
在这里插入图片描述

5.广义表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.求存储地址

数组元素a[0…2][0…3]的首地址为2000,元素长度为4,求LOC[1,2].
LOC【1,2】=2000+(i*n+j)*k (n为二维数组列的个数,k为元素长度)i=1 j=2

7.代码设计

8.哈夫曼树

假设用于通信的电文仅由A、B、C、D、E、F、G 8个字母组成,字母在电文中出现的频率分别为7,19,2,6,32,3,21,10。试为这8个字母设计哈夫曼树及哈夫曼编码。
在这里插入图片描述

9.最小生成树

对于下图所示的带权无向图,给出利用普里姆算法(从顶点0开始构造)和克鲁斯卡尔算法构造出的最小生成树,并按求解的顺序给出最小生成树的所有边,每条边用(i,j)表示)。
在这里插入图片描述
{(0,1),(0,3),(1,2),(2,5),(5,4)}
{(0,1),(0,3),(1,2),(4,5),(2,5)}
在这里插入图片描述

带权无向图G(顶点分别为V1,V2,V3,V4,V5,V6)的邻接矩阵是A
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.深度遍历、广度遍历、邻接表建立

11.哈希表(线性探测法、拉链法)

设哈希表的长度m=13;哈希函数为H(K)=K%m,给定的关键码序列为19,14,23,01,68,20,84,27,55,11,试填出用线性探查法和链地址法解决冲突时所构造的哈希表。并求在每种哈希表上成功查找的ASL。
在这里插入图片描述
在这里插入图片描述

12.排序

已知关键字序列为 (34,23,56,32,45,58,89,20,25,50),分别用下列排序方法进行排序,分别写出每趟排序结果,并指出算法的稳定性。1)快速排序 2)希尔排序 3)堆排序
(1)
(25,23,20,32,34,58,89,45,56,50)
(20,23,25,32,34,50,56,45,58,89)
(20,23,25,32,34,45,50,56,58,89) 划分的子表为1或0停止即可
不稳定
(2)
(34,23,20,25,45,58,89,56,32,50)
(20,23,32,25,34,50,45,56,89,58)
(20,23,25,32,34,45,50,56,58,89)
不稳定
(3)
(58,50,56,32,45,34,23,20,25,89)
(56,50,34,32,45,25,23,20,58,89)
(50,45,34,32,20,25,23,56,58,89)
(45,32,34,23,20,25,50,56,58,89)
(34,32,25,23,20,45,50,56,58,89)
(32,23,25,20,34,45,50,56,58,89)
(25,23,20,32,34,45,50,56,58,89)
(23,20,25,32,34,45,50,56,58,89)
(20,23,25,32,34,45,50,56,58,89)
不稳定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值