二分查找的邻接列表和平均时间复杂度(2 个单独的问题)

Adjacency Lists and average time complexity for binary search (2 separate questions)

在有序数组和二叉搜索树中二分查找成功的平均时间复杂度是否相同,O(log(n)) ?

此外,两者的最坏情况时间复杂度是否相同,O(n)?


绘制图的邻接表时,顺序重要吗?比如改成这样会不会错:

为此(注意第一行2和3是如何切换的):

在排序数组中搜索的最差和平均值是 O(Log n)。那是因为如果对数组进行排序,您将最多进行 O(Log n) 次跳转以得出该元素不存在的结论。

在 BST 中,最差的和平均的分别是 O(n) 和 O(Log n),最坏的情况发生在树完全倾斜并因此表现得像链表时。


它们的顺序在您可能执行的某些执行中可能很重要(例如 DFS 将不同的路径返回到另一个节点),但两种邻接表表示都是完全有效的。