数据结构相关的解答题总结

(后期不断更新)

比较线性探测和链地址解决冲突的优缺点
线性探测:简单,但可能导致记录的聚集而使探测效率降低;此外记录的个数必须在哈希表允许的范围内。
随机探测:可以克服记录聚集的现象,但需要选取合适的随机函数且记录的个数也有限制。
链地址法:只要空间允许就可插入任意多个记录,并且链表的插入和删除都很方便。
用prim和kruskal算法求其最小生成树的时间复杂度各是多少?他们分别适用那类图
Prim 算法的时间复杂度为 O(n^2 ),与网中的边数无关,因此适用于求边稠密的网的最小生成树。
Kruskal 算法需对各条边按权值进行排序,时间复杂度为 O(NlogN)(N 为网中边的数目),因此适用于求边稀疏的网的最小生成树。
按锦标赛排序的思想,决出八名运动员之间的名次排列,至少需编排多少场次的比赛(应考虑最坏的情况)?
17场 k=7+(8/2)*2+8/4
哈夫曼编码和二进制编码优缺点比较
1、码字不同。

哈夫曼所构造的码字不是唯一的,对于同一个信息源,无论上述的前后顺序如何排列,它的平均码长是不会改变的,所以他的优点是编码效率唯一性。而二进制编码所构造的码字是唯一。

2、长度不同

哈夫曼编码是依据字符出现概率来构造异字头的平均长度最短的码字,比较精准,二进制编码是用预先规定的方法将文字、数字或其他对象编成二进制的数码,或将信息、数据转换成规定的二进制电脉冲信号。二进制是最基础的编码。
3、稳定性不同
哈夫曼编码的稳定性比较差。如果改变其中一位数据就会产生改变。二进制编码具有抗干扰能力强,可靠性高等优点。
什么是前缀编码;哈夫曼编码为什么是前缀编码。
任何一个编码都不是其他任何编码的前缀(最左子串),则称该编码是前缀编码。

最小生成树
对于一个带权连通无向图G=(V,E),生成树不同,每棵树的权(树中所有边上的权值和)也不同,设R为G的所有生成树的集合,若T为R中权值和最小的生成树,则T称为G的最小生成树
满二叉树
除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。
平衡二叉树、平衡因子
任一结点的左子树和右子树的深度之差不超过1的二叉树树称为平衡二叉树。
平衡因子 = 左子树深度 - 右子树深度
关键路径、关键活动:
关键路径就是从开始顶点到结束顶点之间 一条具有最长路径长度的路径。关键路径可能不止一条。
关键活动是关键路径上的边。
线性表、栈和队列的不同点。
1、运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO。
2、用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等。
什么是头结点;设置头结点的好处
头结点:在单链表的第一个结点之前附加一个结点,称为头结点。头结点的Data域可以不设任何信息,也可以记录表长等相关信息。
优势1:第1个位置的插入删除更加方便
优势2:统一空表和非空表的处理
什么是完全二叉树
一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小宋加油啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值