数据结构与算法-查找8.24

1.线性查找

全部遍历

2.二分查找

在这里插入图片描述

3.插值查找(基于二分法)

在这里插入图片描述
分布均匀时效率高。

在这里插入图片描述

4.哈希表(散列表)

“珠珠帘”结构,数组+链表
节点:
在这里插入图片描述
链表:
在这里插入图片描述
add:
在这里插入图片描述
list功能:
在这里插入图片描述
查询功能:
在这里插入图片描述
在这里插入图片描述

构建哈希表:
在这里插入图片描述
数组中添加:
在这里插入图片描述
在这里插入图片描述
注意区分链表中添加。
哈希表的list和查询功能:
在这里插入图片描述

5.树

度:子节点个数
满二叉树:所有叶子节点都在最后一层,节点数为(2^n)-1
完全二叉树:
在这里插入图片描述
实现:一维数组(满二叉树)或者二叉链表(其他)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二叉树
在这里插入图片描述
在这里插入图片描述
遍历查找(Node类里面定义):
前序遍历:
在这里插入图片描述
中序:
在这里插入图片描述
后序:

在这里插入图片描述
BinaryTree类里面的查找方法:
前序查找:
在这里插入图片描述
中序查找:
在这里插入图片描述
后序查找:
在这里插入图片描述

  • 顺序存储二叉树:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 线索化二叉树
    在这里插入图片描述
    二叉树
    在这里插入图片描述
    constructor()、get()、set(), 之后:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    线索二叉树:

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

遍历:
在这里插入图片描述

  • 测试
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

6.AVL树

在这里插入图片描述
性质:
在这里插入图片描述
构建平衡二叉树:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
失衡情况:LL、LR、RL、RR。
LL旋转处理 失衡二叉树
在这里插入图片描述
RR:
在这里插入图片描述
LR:
在这里插入图片描述
RL:
在这里插入图片描述
插入操作:
在这里插入图片描述
测试:
在这里插入图片描述

7.堆

在这里插入图片描述
分为“大顶堆”和“小顶堆”。
结构:优先使用数组来实现堆。
在这里插入图片描述
代码实现:
在这里插入图片描述
堆化:自下而上和自上而下。
在这里插入图片描述
堆化操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 删除堆顶元素:(自顶向下的堆化)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    时间复杂度分析:
    在这里插入图片描述
  • 应用,堆排序:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

8.图

在这里插入图片描述

顶点:vertex
边:edge
度(degree):该顶点处有几条边。
有向图:边带箭头。度又被分为:入度和出度。
在这里插入图片描述

  • 图的存储方式
    1.邻接矩阵存储。
    在这里插入图片描述
    2.邻接表存储方式
    在这里插入图片描述
    数组来存储顶点,数组中每一个元素是链表,来存储指向关系。
    在这里插入图片描述
    在这里插入图片描述
    测试:
    在这里插入图片描述
    在这里插入图片描述

9.BFS广度优先搜索

在这里插入图片描述


测试:
在这里插入图片描述
结果:
在这里插入图片描述

10.DFS深度优先搜索

在这里插入图片描述

定义returnDSF方法:
在这里插入图片描述
在这里插入图片描述
调用erturnDFS方法::
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值