作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦
CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者
前言
在前面的两篇文章中,壹哥给大家介绍了常见的排序算法,除此之外,其实还有查找算法也需要我们掌握。接下来壹哥就来给大家讲讲都有哪些查找算法,以及经典的二分查找法该如何实现。
---------------------------------------------前戏已做完,精彩即开始-------------------------------------------
全文大约【3000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富的案例及配图视频,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
配套开源项目资料
Github:
GitHub - SunLtd/LearnJava
Gitee:
从零开始学Java: 从零开始学Java系列稀土掘金专栏地址:https://juejin.cn/column/7175082165548351546CSDN专栏地址:https://yiyige.blog.csdn.net/article/details/129377219?spm=1001.2014.3001.5502
一. 查找算法
1. 常用查找算法简介
Java中常用的查找算法有如下几种:
- 二分查找法
- 线性查找法
- 插值查找法
- 斐波那契查找法
接下来壹哥分别给大家简单说一下这几种查找算法是怎么回事。
2. 二分查找法
二分查找法,是一种查询效率非常高的查找算法,又被称为折半查找法。该算法核心思路就是基于分治策略,将元素排序后,不断的进行折半查找,时间复杂度是O(log2N),空间复杂度是O(1)。
3. 线性查找法
相当于数组循环遍历的方式,找到了就返回数组下标,没有就返回-1,适用于有序和无序的数组。
4. 插值查找法
该方法是在二分查找的基础上