龙空技术网

数据结构和算法-2-数组

今阳 171

前言:

眼前看官们对“数组 二分法”大约比较注意,朋友们都需要学习一些“数组 二分法”的相关知识。那么小编也在网摘上搜集了一些有关“数组 二分法””的相关文章,希望同学们能喜欢,看官们一起来了解一下吧!

数组可以说是我们平时应用最广泛的数据存储结构了,而且使用非常简单,非常适合作为介绍数据结构的起步点。

普通数组

相信每个Android或java开发者都已经非常熟悉了,这里也就不再多说了。

有序数组 & 二分法查找

二分查找也称折半查找,是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

公式:2的n次幂>=arr.size, n为查找所需次数 ,2的n次幂为n次查找可覆盖的范围, 即 范围是次数的指数,次数是范围的对数。

有序数组及二分查找实现如下:

可以在java的main方法中调用下面方法进行测试

为什么不用数组表示一切?

为什么不用数组进行所有的数据存储?因为数组还是又许多缺点和不足的

1. 无序数组插入快,查找和删除慢;有序数组查找快,插入和删除慢;没有一个最优的解决方案。

2. 数组创建后大小是固定的,而程序开发中往往不知道一共有多少项数据,容易触发数组角标越界的异常。

我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章

标签: #数组 二分法