【问题标题】:Why does the get operation have a runtime of O(1) for an ArrayList, but O(N) for a LinkedList?为什么 ArrayList 的 get 操作的运行时间为 O(1),而 LinkedList 的运行时间为 O(N)?
【发布时间】:2020-09-11 16:35:59
【问题描述】:

这两个运行时有什么区别,又是如何实现的?如果我也能得到关于运行时的解释,那就太好了!

【问题讨论】:

    标签: arraylist linked-list runtime big-o


    【解决方案1】:

    Arraylists 使用具有索引的数组来实现数据结构。如果您知道从中获取数据的索引,则获取时间为 O(1)。

    LinkedLIst 使用相对引用来实现数据结构。您不可避免地必须遍历链接才能找到您想要的链接。每个链接都是通往另一个链接的通道。因此,它是 O(n)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      • 2021-08-04
      • 2013-12-28
      • 1970-01-01
      相关资源
      最近更新 更多