【问题标题】:Time complexity of inserting a node in a sorted linked list在有序链表中插入节点的时间复杂度
【发布时间】:2017-04-17 16:51:36
【问题描述】:

在 Java 中将节点插入排序链表的时间复杂度是多少?有没有复杂度小于O(n)的算法?

【问题讨论】:

  • 通常不会,除非您引用了列表中的多个节点。
  • 只有 O(1) 引用到列表中(例如头 + 尾),然后没有。
  • @OliverCharlesworth Java 中没有指针。
  • @Omore - NullPointerException 不同意 ;) (没有注意到这被标记为 Java...)

标签: java algorithm linked-list time-complexity sortedlist


【解决方案1】:

如果您只有一个链接的链接,并且您是从头部开始的,那么在最坏的情况下,您必须遍历整个列表才能找到插入点。这给出了 O(n) 最坏情况的时间。

skiplist 之类的东西可能会给 O(log n) 插入。但是,这与您所询问的数据结构不同(树等也是如此)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-15
    • 2010-12-26
    • 2014-10-07
    • 2014-05-01
    • 2020-04-01
    • 1970-01-01
    • 2021-05-30
    • 2013-11-18
    相关资源
    最近更新 更多