数据结构应用题大题笔记

哈希表求查找长度
长度为11的散列表,H(key) = key % 7,采用线性探测解决冲突,87,40,30,6,11,22,98,20,则ASL为

在这里插入图片描述
查找成功的ASL=(查找次数)/(序列有多少个数),ASL = (7+2)/8
查找失败的ASL = (查找失败的次数)/(哈希函数的取值范围个数),根据哈希函数的取值范围,在查找次数中查找第一次为空的下标次数,可循环进行查找。查找下标为0的需要查找9次失败,下标为1的8次失败,…,下标为6的查找3次失败,ASL=(9+8+7+6+5+4+3)/7。

参考资料:https://blog.csdn.net/coolwriter/article/details/81604058
二叉排序树求查找长度
二叉排序树先序序列为50,38,30,45,40,48,70,60,75,80,画出平衡二叉树,求查找成功和失败的查找长度
二叉排序的中序遍历是从小到达排序,30,38,40,45,48,50,60,70,75,80。
根据先序和中序确定一棵树。
在这里插入图片描述查找成功的ASL:(每层的结点个数层数)/总结点个数
查找失败的ASL:在所有的叶子结点补充空结点,(每层空结点的个数
层数)/总空结点的个数

平衡二叉树,插入结点48,清画出插入位置后每个结点的平衡因子,并调整为新的平衡二叉树
在这里插入图片描述
1、按照左小右大的原则,插入48,在37的右孩子位置
2、调整平衡二叉树,定型、调整、检查(中序是否为从小到大)

1、48插在了根结点的右子树的左子树导致失衡,RL形,进行两次旋转

右转:顺时针,左传:逆时针

1、LL型
中为支,高右转

2、RR型
中为支,高左转

3、LR型
下二整体先左转,后与LL同
在这里插入图片描述
4、RL型
下二整体先右转,后与RR同
在这里插入图片描述
RL、LR型旋转后多余的结点按照二叉排序树的性质重新插入到结点中,RL、LR型,先旋转下面两个结点,在旋转上面两个结点

在这里插入图片描述

在这里插入图片描述

参考资料:https://blog.csdn.net/weixin_40374341/article/details/87886807

哈夫曼树
设有6个有序表A、B、C、D、E、F分别含有10、35、40、50、60、200个元素,各表中的元素按照升序排列。要求通过5次两两合并,将6个表合并为一个有序表,使最坏情况下比较的最少。
(1)给出完整的合并过程
(2)各表的合并策略:借助哈夫曼的合并策略,找最坏的最少比较次数

在这里插入图片描述
合并最差的次数是m+n-1
最坏的需要必要次数
邻接矩阵和邻接表
邻接矩阵的对较线全为0
在这里插入图片描述
关键路径
已知6个顶点(顶点编号为0-5)的有向带权图,其邻接矩阵A为上三角矩阵,按行为主序保存下列一维数组
(1)写出邻接矩阵A
(2)画出有向带权图G
(3)求C的关键路径,求WPL

从前往后取较大,
从后往前取较小

1、求关键路径
ve(i) = max(i,j),求关键路径可以如下这样,在ve时,求较大的路径,将较小的删除掉,若值相同则保留。
2、完成工程需要的至少时间
ve(最后一个结点的时间)
3、那些活动可以加速完成工程的时间
结点上的活动

在这里插入图片描述
最短路径
柢杰斯特拉
在这里插入图片描述
AOE网
在这里插入图片描述

最小生成树
根据权值写出最小生成树
primi、krusta

散列表
在这里插入图片描述

装填因子=(表中记录数)/(表长度)=7/m=0.7 ->m=10
m为表的长度,下标从0开始

在这里插入图片描述
ASL(成功) = (查找次数)/(关键字个数) = (1+1+1+1+2+3+3)/7
ASL(失败) = (查找下一个为空的次数)/(散列函数取余个数) = (3+2+1+2+1+5+4)/7
查找失败只需要看下标0-6的位置,
查找5的时候查找下标为5、6、7、8、9,查找五次次失败
查找6的时候查找下标为6、7、8、9,查找四次失败

快速排序
快速排序,基于分治法,排序序列和基准选择有关
第一轮:一个元素有序
第二轮:三个元素有序在最终位置
第三轮:七个元素有序在最终位置

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值