![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
查找算法
文章平均质量分 84
客院载论
I'm a coder!!
展开
-
二叉树——堆排序
二叉树——堆排序基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序的算法,是不稳定排序,最好和最坏的时间复杂度都是O(nlogn)堆是具有以下性质的二叉树:每一个结点大于或等于其左右的子节点的值;或者每一个节点小于或者是等于其左右节点的值,分类:大顶堆:每一个结点大于或者等于其左右节点的值,最大值在上面。* 顺序存储的表达式:arr[i] >= ar...原创 2020-01-29 21:44:02 · 1046 阅读 · 0 评论 -
查找算法——斐波那契查找法(黄金分割法)
查找算法——斐波那契查找法(黄金分割法)基本介绍:斐波那契中除去第一项的相邻的两项比值近似为黄金分割点的比值。在二分法的基础上,中点的确定采用黄金分割点的定义来求得。黄金分割点的定义:其中一部分的比值与全程的比值等于另一部分与这部分的比值,即:a / (a + b) = b/ a。原理讲解:中间点采用公式 mid = left + F(k - 1) -1;left...原创 2020-01-16 16:03:15 · 1114 阅读 · 0 评论 -
查找算法——插值查找
查找算法——插值查找基本介绍:插入算法是采用了自适应mid的二分查找,更加快速原理介绍:将二分查找中求mid索引的公式变成:mid = left + (key -arr[left]) / (arr[right] - arr[left]) * (right - left),其中key为所需要查找的值。将key待查找值与总长度作比较,然后转化成对应的索引长度。弥补二分查找的缺陷:当用二分法查找...原创 2020-01-16 11:20:19 · 263 阅读 · 0 评论 -
查找算法——二分查找
查找算法——二分查找简单介绍:对有序数组,通过递归,不断进行折中,直到其中间值等于所需要查找的数字思路分析:确定该数组的中间下标,mid = (left + right) / 2然后将需要查找的数与中间值mid进行比对- 比中间值大,那就再以中间值mid为left,right为right进行同样的折半查找- 比中间值小,那就再以中间值mid为right,left为left进行同样的...原创 2020-01-16 09:57:37 · 308 阅读 · 0 评论 -
查找算法——顺序查找
查找算法——顺序查找常用的查找算法顺序查找(线性查找)二分法查找/折半查找插值查找斐波那契查找顺序查找/线性查找算法简单介绍:按照数据自身的顺序,从前往后查找,一旦找到数据就返回下标。代码实现: package seqsearch;public class SeqSearch { public static void main(String[] ar...原创 2020-01-15 19:13:03 · 280 阅读 · 0 评论