静态查找表&动态查找表

静态查找表:只查找,不改变集合内的数据元素。

一、顺序查找( Linear search,又称线性查找 )用逐一比较的办法顺序查找关键字。

1、顺序查找时间复杂度:O(n)

2、顺序查找平均查找长度 ASL=(n+1)/2

顺序查找


二、折半查找前提是顺序存储,记录有序。

思想:与记录中间值比较,如果比中间值小去左边查,否则去右边查找,直到找到为止,区域内没记录时查找失败。

1、折半查找时间复杂度:O(\log_2 n )

2、折半查找平均查找长度  ASL=\log_2 n

折半查找


动态查找表:既查找,又改变(增减)集合内的数据元素。

二叉排序树满足下列性质

1)若左子树不为空,则左子树上的所有结点的值(关键字)都小于根节点的值;

2)若右子树不为空,则右子树上的所有结点的值(关键字)都大于根节点的值;

3)左、右子树都分别为二叉排序树。

二叉排序树的查找思想

1)首先将给定的K值与二叉排序树的根节点的关键字进行比较:若相等,则查找成功;

2)若给定的K值小于二叉排序树的根节点的关键字:继续在该节点的左子树上进行查找;

3)若给定的K值大于二叉排序树的根节点的关键字:继续在该节点的右子树上进行查找。

二叉排序树总结

1)查找过程与顺序结构有序表中的折半查找相似,查找效率高;

2)中序遍历此二叉树,将会得到一个关键字的有序序列(即实现了排序运算);

3)如果查找不成功,能够方便地将被查元素插入到二叉树的叶子结点上,而且插入或删除时只需修改指针而不需移动元素。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容