Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 找到链接列表中最大元素的时间_Search_Data Structures_Linked List_Time Complexity - Fatal编程技术网

Search 找到链接列表中最大元素的时间

Search 找到链接列表中最大元素的时间,search,data-structures,linked-list,time-complexity,Search,Data Structures,Linked List,Time Complexity,我有一个有序的链表。我想知道在这两种情况下找到max元素的时间: 如果我保持一个指向链表末尾的尾部指针,并且 如果我不这样做 对于有序链表: O(1) O(n)如果列表从最小值到最大值排序,如果您进一步使用尾部指针,它将变成O(1)。原因是max元素是链接列表中的最后一个元素。因此,您必须遍历到尾部(O(n))。另一方面,这将是O(1)当您有尾部指针时,您只需返回尾部指针指向的内容 对于未排序的链表: 始终O(n)无论您是否有尾部指针。原因是,对于未排序的行列表,您必须遍历(O(n))每

我有一个有序的链表。我想知道在这两种情况下找到max元素的时间:

  • 如果我保持一个指向链表末尾的尾部指针,并且
  • 如果我不这样做

对于有序链表:

  • O(1)

  • O(n)
    如果列表从最小值到最大值排序,如果您进一步使用尾部指针,它将变成
    O(1)
    。原因是max元素是链接列表中的最后一个元素。因此,您必须遍历到尾部(
    O(n)
    )。另一方面,这将是
    O(1)
    当您有尾部指针时,您只需返回尾部指针指向的内容

对于未排序的链表:

  • 始终
    O(n)
    无论您是否有尾部指针。原因是,对于未排序的行列表,您必须遍历(
    O(n)
    )每一个列表,以确定哪一个是最大值。即使使用尾部指针,它也无济于事

和O(n)如果是无序列表,无论您是否有尾部指针。@keshlam是的,您是对的。将其添加到答案中。谢谢。:)如果有任何解释的话会很好,因为OP显然是不知道的。。。