数组能够完成工作中的一切?

版权声明:本文为博主原创文章,未经博主允许不得转载,转载请标明原文出处。 https://blog.csdn.net/qq_31408331/article/details/79967563

        在平常的工作中,如果没有去深入的思考下数据存储的方式,我们会觉得数组似乎可以完成所有的工作需求。

对于这个问题首先要从数组的优缺点出发。

        如果是一个无序数组,我们可以进行很快的插入(O(1))操作,但是查找比较慢(O(N));

        对于一个有序数组,我们可以使用二分查找查找(O(logN))的很快,但是插入却是慢的(O(N));

        而无论是有序还是无序的数组,我们在进行删除操作时都是慢的(O(N));

        除此之外,数组被new之后,大小尺寸就被固定住了,但是我们在开发的时候,有时候是不知道会有多少数据会放到数组中的。

        既然这样,如果有一种数据结构,其插入数据,查找数据,删除数据 都是很快的(比如说(O(1) 或者 O(logN)));岂不是美哉。

        

        ps : java 中有一个类 为 Vector ,使用起来很像数组,但是它可以扩展,这些附加的功能是已效率为代价的。


        

         fuck 实现原理和 我上次 的删除操作是一样的  查看点这里(里面的删除方法)

        
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页