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

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

普通数组

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

有序数组 & 二分法查找

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

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

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

数据结构和算法-2-数组_第1张图片

 

数据结构和算法-2-数组_第2张图片

 

数据结构和算法-2-数组_第3张图片

 

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

数据结构和算法-2-数组_第4张图片

 

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

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

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

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

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

数据结构和算法-2-数组_第5张图片

你可能感兴趣的:(数据结构和算法,数据结构,算法,java,android)