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

在单链表中查找节点的时间复杂度

张献
2023-03-14

在我的DSA课程期中考试中,我有一个问题:

考虑单个链表包含n个节点(n)

选择一个:

a、 O(N)和O(N)

B.O(1)和O(1)

C.O(1)和O(N)

d、 O(N)和O(1)

给出的正确答案是c。O(1)和O(N)。不过我认为正确答案是a。我知道如果N=8,从一开始就需要O(1)时间来找到第8个节点(只需返回尾部节点),但在这种情况下N

提前感谢您能提供的任何帮助。

共有1个答案

黄凌龙
2023-03-14

O(1)表示恒定的运行时间。换句话说,它不依赖于输入大小。

当您在这里应用该定义时,您可以看到,无论输入大小如何,获取第8个元素始终是一个常量操作。这是因为,无论输入的大小(例如:10100100…),get(8)操作将始终花费相同的时间。而且,因为我们确信n

 类似资料:
  • 我很难找出平均和最坏情况下的时间复杂度。因此,我使用以下逻辑删除了BST节点 删除二元搜索树中的节点时,有3种情况 那么,如何计算总体平均时间复杂度和最差时间复杂度??

  • 对于下面的循环, 时间复杂度是多少,我应该怎么想?我的猜测是外环总共运行。内环运行次。因此,时间复杂度应该是。 我说得对吗? 提前感谢。

  • 如何检测单个链表是否有循环??如果有循环,则如何找到循环的起始点,即循环开始的节点。

  • 本文向大家介绍在C ++中的两个双链表中查找公共节点数,包括了在C ++中的两个双链表中查找公共节点数的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个双向链表。我们必须在两个双向链表中都找到公共节点的总数。因此,如果两个列表像[15、16、10、9、7、17]和[15、16、40、6、9],则有三个公共节点。 使用两个嵌套循环遍历两个列表,直到列表的末尾,对于列表中的每个节点,检查它是否与

  • 我不完全理解leetcode上“查找链表中间位置”问题的循环条件: 给定一个非空的、带头节点头的单链表,返回链表的中间节点。 如果有两个中间节点,则返回第二个中间节点。 对于循环,我认为条件是 但当我这么做的时候,我会收到一个错误 条件声明应该是 我不明白为什么。下面是带有正确而循环的整个代码: