数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

一、线性表的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

顺序表类似于数组是一段连续的空间,通过R[i]的下标来移动。

数据结构之-查找-数组的查找、链表的查找和树的查找

可以从头开始找,也可以从尾开始找。

数据结构之-查找-数组的查找、链表的查找和树的查找

通过添加哨兵的形式来改进。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

用来存放作为哨兵的辅助空间。

数据结构之-查找-数组的查找、链表的查找和树的查找

顺序查找的缺点,时间太久,有点空间复杂度低。

二、折半查找法

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

mid向下取整。high<low是查找算法的结束条件。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

也可以用递归实现。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

 若不是顺序存贮结构,则无法查找。(顺序存贮结构,插入和删除不是很方便,每次都需要移动其他不相关的元素)

分块查找也叫做索引顺序表的查找。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

插入的元素一定在叶子节点上。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

二叉排序树的形态不一样,则查找效率也不一样。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

树的高度越低则查找效率越好。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

为了让二叉树更加平衡化,提高查找效率则构建平衡二叉树。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

平衡旋转,结果如下

数据结构之-查找-数组的查找、链表的查找和树的查找

例如:

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

记住永远都是中间大的变成新的根节点,然后比它小的在左子树,比它大的在右子树。

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找

数据结构之-查找-数组的查找、链表的查找和树的查找