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

一、线性表的查找

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

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

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

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

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

二、折半查找法

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

也可以用递归实现。

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

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

树的查找

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

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

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

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

平衡旋转,结果如下

例如:

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

发布了33 篇原创文章 · 获赞 0 · 访问量 7714

猜你喜欢

转载自blog.csdn.net/gaoxiaobai666666/article/details/104468534