Java中的数组以及使用数组进行增删改查的算法复杂度

1、数组的优缺点:1)、优点:插入数据快。

                 2)、缺点:查找和删除比较慢,而且数组的长度固定(一旦创建数组,那么数组大小就不可以改变)。

2.数组的两种定义方式:例如:

                int[] array=new int[100];

                或者是:int array[]=new int[100];主意:上述数组没有赋值,他们一直是特殊的null对象。

               定义并且初始化数组:

               int[] array={1,3,4,6,5,4,32,,4,322,4};

3、无序数组的插入:常数

       无序数组的插入使我们到现在为止所见过的算法中唯一一个与数组中的数据项无关的算法,新的数据项总是被放在下一个有空的地方,无论数据中的数据项个数n有多大,一次插入总是用相同的时间,可以把向一个无序数组中插入一个数据项的时间T看做一个常数。T=K

   在现实情况下,插入所需要的实际时间与以下这些因素有关:1)微处理器2)编译程序生成代码的效率等等。


4.线性查找:与N成正比

         在数据项的线性查找中,查找特定数据项所需要的比较次数为数据项总数的一般,因此设N为数据项总数,搜索时间T与N的一半成正比:

          T=K*N/2(查找时间与数组大小成正比)




5.二分查找:与log(N)成正比



总结如下:

    线性查找:O(N)

    二分查找:O(logN)

    无序数组的插入:O(1)

    有序数组的插入、无序数组的删除、有序数组的删除:O(N)

       










      














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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值