数据结构-查找-总结归纳知识点

//第八章 查找
 
//基于线性表的查找

// 1.顺序查找法
//思想:所给的关键字和表中元素的关键字逐个比较
分为:设置监视哨和不设监视哨
监视哨:r[0]防止越界

//2.折半查找法
要求:顺序储存结构(不能链表),按照关键字大小有序排列(正序和逆序)
思想:利用mid=(high+low)/2(整数). 判断条件:low<=high;

//3.分块查找法
要求:列表分为子表,最后一个子表长度可以不满;索引表每个索引对应每个块(子表)的起始位置,记录每个块的最大(最小)
的关键字;索引表按照关键字有序排列


//基于树的查找法

//二叉排序树:元素大小:左子树,根,右子树,递归定义
二叉排序树的删除略显复杂:
1.不存在,不动
2.存在
2.1.叶子节点:直接删,free掉
2.2只有左右子树一支:孩子改到删去位置(孩子变为双亲),free
2.3.左右孩子都有:
2.3.1处理1:
    利用中序遍历算法找到将要删除结点p的直接前驱s,p左子树变为其双亲的左孩子,右子树变为其前驱s的右孩子 
2.3.2处理2: 
    直接删除结点p,p的前驱s代替p,free(s),s的左孩子为s的双亲的右孩子,p的右孩子为s的右孩子
    
//平衡二叉排序树:左子树右子树高度绝对值之差小于等于1
插入算法:LL,RR,LR,RL型

//计算式查找法:hash

//hash:
1.数字分析法:选择合适位数的分布均匀的关键字 
2.平方取中法:求关键字平方值,取中间,重复概率低 
3.分段叠加法:折叠法,移位法
4.除留余数法:取余除数为小于等于表长的最大素数 
5.伪随机数法:
    
处理冲突!:
1.开放地址法(再散列法):
1.1.线性探测再散列:di = 1,2,3......
1.2.二次探测再散列:di = 1^2, -1^2, 2^2, -2^2,...... 
1.3.伪随机探测再散列: ...

2.再哈希法
3.链地址法:
4.建立公共溢出区:分为基本表和溢出表

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

风起风里

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

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

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

打赏作者

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

抵扣说明:

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

余额充值