当前位置: 首页 > 知识库问答 >
问题:

Java中LinkedList的实时效率

南宫保臣
2023-03-14

我们知道,如果您已经在要插入的位置之前或之后获得了节点,则双链接列表数据结构具有在O(1)时间内插入节点的优势。(例如,如果你有一个双链接列表:a-B-C-D,如果你已经得到了节点C,那么在节点C之前或之后插入一个新节点只需要O(1)个时间)。

如果在Java/C中手动构造一个双链表,这相当容易理解,但我最近对Java中的LinkedList库感兴趣,它是Java中提供的一种双链表数据结构。util。如果我想使用java提供的库LinkedList,我该如何执行第1段中提到的O(1)插入或删除操作?我做了一些研究,你可以创建一个LinkedList的ListIterator,它可以向前和向后遍历,然后插入和删除前一个或后一个节点。但它仍然需要遍历。如果我已经有了节点C,如何在O(1)时间内直接得到相应的迭代器?

共有1个答案

段干玺
2023-03-14

LinkedList类在遍历期间或列表的开始/结束时提供O(1)个插入/删除时间。这并不意味着你可以在列表中间取一个随机节点并删除它,或者在O(1)时间内插入它旁边的一些节点。

 类似资料:
  • 本文向大家介绍java LinkedList的实例详解,包括了java LinkedList的实例详解的使用技巧和注意事项,需要的朋友参考一下 java LinkedList的实例详解 站在Java的角度看,玩队列不就是玩对象引用对象嘛! 实例代码:   单链表反转:  对于数组问题,一般我们要新建数组,必要时移动下标 以上就是java LinkedList 的实例,如有疑问请留言或者到本站社区交

  • 问题内容: 我正在读一本书,重新整理了我的数据结构,它提出的一个问题是不使用“第一个”和“最后一个”指针来构建一个循环的单链表,而是通过使用一个引用来访问它。当前”。我不确定我是否理解这个问题,我一直以为我至少需要第一个或最后一个。这是我的实现,但是它具有“ first”,不确定如何解决。您能否评论一下如何调整代码以消除对第一代码的依赖? 然后是列表本身: 问题答案: 如果您有一个循环链表,则每个

  • 主要内容:1 什么是Java LinkedList,2 Java LinkedList的层次结构,3 双向链表,4 Java LinkedList的语法,5 Java LinkedList的构造方法,6 Java LinkedList的方法,7 Java LinkedList的例子,8 Java LinkedList添加元素,9 Java LinkedList删除元素,10 Java LinkedList反转元素1 什么是Java LinkedList Java LinkedList类使用双向链

  • 本文向大家介绍如何实现Java中一个简单的LinkedList,包括了如何实现Java中一个简单的LinkedList的使用技巧和注意事项,需要的朋友参考一下 LinkedList与ArrayList都是List接口的具体实现类。LinkedList与ArrayList在功能上也是大体一致,但是因为两者具体的实现方式不一致,所以在进行一些相同操作的时候,其效率也是有差别的。 对于抽象的数据结构——

  • 我创建了自己的linkedlist。我想使用集合对我的linkedlist进行排序。排序方法。所以我将MyLinkedList类扩展到java。util。链接列表。我还创建了Comparator和Comparable实现。但两者都不起作用。请查找下面的代码。 //链接列表实现。 //测试链接列表 //员工类

  • 本文向大家介绍区分Java中的ArrayList和LinkedList,包括了区分Java中的ArrayList和LinkedList的使用技巧和注意事项,需要的朋友参考一下 一:ArrayList和LinkedList的大致区别如下: 1.ArrayList是实现了基于动态数组的数据结构,ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高 2.Li