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

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

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

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

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

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

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

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

        

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


        

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

        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值