Longstick的学习周记——第三周

目录

前言

一、数据结构

1.  B-树

2. 哈希查找

二、微机


 


前言

第三周了,这周是超级紧张的复习,虽然科目不算多,但是内容都又多又杂,微机跟离散的复习简直是一种大折磨。。。。现在大问题在于,我的数据结构好像也不是很行,尽管硬啃了一下《大话数据结构》,不过感觉是在边看边忘。9M!

完蛋了。


一、数据结构

1.  B-树

这个B-树,上课的时候是没有怎么听懂……打算着是总复习的时候来看一下的,是时候学习一下了。

看上去本来是跟二叉树差不太多,本来也确实差不多,确实本质上是从二叉树里演变过来的,还是父子树,不过呢,B树每一个结点的孩子数是可以多于两个的,且每一个结点还可以存储多个元素,那这样以来,这个树的结构就可以很庞大了。

所谓m阶B-树,即m路平衡搜索树(m>=2),也叫(ceil(m/2),m)-树,其有以下特点(设n为关键码,即n+1为分支数):

1.除根以外的节点满足:n+1>=ceil(m/2)|n+1<=m;

2.非空的B-树,根节点满足:n+1>=2|n+1<=m(即最小为一个关键码)。

3.外部节点同属于底层,深度一致(即各节点分支状态相同,要么都不存在,要么都存在)。

4、外部节点远大于B树高度。

B+树似乎是在B-树的基础之上,将叶子结点的结构做成一条链,我大概是这么理解的?说实话这个研究的不是很明白。。。。而且我真没想清楚这个要怎么实现。。。

具体参考:http://www.360doc.com/content/09/1101/10/313373_8200150.shtml

2. 哈希查找

这个呢,不是特别难,但是哪个什么二次探测再散列我上课也没有学明白,我现在重新学习一下。

如果是哈希查找,总会遇到两个元素要争夺一个地址的情况,称为堆积。如何去解决堆积呢,其实就是利用散列地址了,发生了冲突,那么就去寻找下一个空的散列地址,只要散列表足够大,那就总有空的散列地址能找到。那么这个移动的量di,称之为增量di。

在线性散列中,这个增量的取值就是0,1,2,3……

二次探测再散列

在二次探测再散列里面,这个di增量的取值是di = 1 2 , -12 , 22 , -22 , 32 , -32 , ... , k2 ,  -k2
具体参考:https://blog.csdn.net/qq_27093465/article/details/52348366?_t_t_t=0.24849042831920087

这里面的散列写的还挺详细的。

二、微机

微机的话,整理了一个思维导图,不过是用的XMIND,我不知道怎么放到网络上,给自己看一眼,鼓励一下自己就好了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值