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

Splay树最坏情况搜索时间

鲁才艺
2023-03-14

由于splay树是一种不平衡的二元搜索树(brilliant.org/wiki/splay树),它不能保证最大高度为O(log(n))。因此,我认为它不能保证最坏情况下的搜索时间为O(log(n))。

但根据bigocheatsheet。通用域名格式:

Splay树的最坏情况搜索时间为O(log(n))???

共有1个答案

鲁滨海
2023-03-14

你是对的;对于不平衡树,在八字树中查找的成本可以达到Θ(n)。

许多资源(如big-O备忘单)要么简化假设,要么只是包含事实上不正确的数据。目前还不清楚他们在这里是错是错,还是在谈论摊销后的最坏情况,等等。

最好了解正在使用的数据结构的内部结构,以便了解运行时的来源。

 类似资料:
  • 本文向大家介绍intellij-idea 使用情况搜索,包括了intellij-idea 使用情况搜索的使用技巧和注意事项,需要的朋友参考一下 示例 查找用法/在文件中查找用法 Windows / Linux:Alt++ F7/ Ctrl+F7 OS X / macOS:Option++ F7/ Ctrl+F7 突出显示文件中的用法 在Windows / Linux的:Ctrl+ Shift+F7

  • 我在学术论文中被问到过这个问题。请告诉我答案? 假设我们有一个算法,,在二维数组中查找元素x。算法 循环访问 的行,并在每个行上调用算法 直到找到 或搜索了 的所有行。 这个算法最坏的运行时间是多少 一个。如果每行中的元素都已排序? (二)如果每行中的元素未排序?

  • 我有一个二进制搜索树,它的每个节点都有两个值。 所以它的节点是这样的。 我已经根据节点的“name”变量的升序在BST中插入了值。所以树的顺序遍历将按“name”的升序返回节点。 现在我想根据“值”变量的升序显示树节点。无需更改原始树。哪种算法/方法对此最有效?

  • 我需要帮助解决以下问题。有一个搜索树(二进制搜索树),我需要找到一个特定的元素,以便搜索搜索树。但这只需要在伪代码中显示(因此不需要实际的搜索树,因此仅举个例子,根为75,需要搜索的元素为24)。 例如,步骤1:打印根目录,2:打印树....(直到找到正确的元素)。 到目前为止,我已经这样做了: 1) def findval (node,lookForElement):< br > 2)while