放开本王 2017-07-19 03:20 采纳率: 100%
浏览 2830
已采纳

以下在数组指定位置插入元素的两种方法哪个时间复杂度更低,效率更高?

废话不多说,直接上图。
图片说明
图片说明
以上两种算法都是在数组指定位置插入一个数字,哪一种算法时间复杂度更低,换句话说效率更高,我指的是当数组中数据很多的时候,最坏时间复杂度。

  • 写回答

1条回答 默认 最新

  • Planet1987 2017-07-19 03:43
    关注

    看起来一样,都是O(n)。
    list在指定位置插值是用的System.arraycopy,直接基于内存复制,在数据量大的时候有优势(具体大到什么程度,未经测试)。
    当然你本地用数组插值也换成System.arraycopy,那肯定是下面的效率更高点。毕竟上面多了一个往List的转换函数。
    总体来说,双方类似。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?