数据结构——查找:折半查找、二叉查找(排序)树、平衡二叉树
七大查找算法: https://www.cnblogs.com/zhang-qc/p/8745153.html 学习的地址 https://www.bilibili.com/video/av27831455?p=20 关于查找表: 上面,静态查找表,找的过程中不改变表。动态查找表,过程中表会变。 静态查找表,对确定的数据元素关系的表查找,不一定是线性表。 关于查找: 上面,概率相同。 我们可以改变元素的排列顺序,可能比较次数会少一点。 平均查找长度,表征效率的问题。 下面为 顺序查找 : 顺序查找适合于存储结构为顺序存储或链接存储的线性表,时间复杂度为O(n) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 折半查找(二分查找): (数据要先有序才行 ,如果是无序的则要先进行排序操作。 ) 最大比较次数就是 log2n 下面2种查找方法(斐波那契查找和插值查找),思想和上面类似,都是按照某个函数给元素分段。 斐波那契查找 : 二分查找的一种提升算法,通过运用黄金比例的概念在数列中选择查找点进行查找,要求开始表中记录的个数为某个斐波那契数小1,及n=F(k)-1;开始将k值与第F(k-1)位置的记录进行比较(及mid=low+F(k-1)-1)。如果>,low=mid+1,k-=2;如果<,high=mid-1,k-=1。 差值查找