英文翻译,软件翻译的不要
发布网友
发布时间:2022-05-30 06:44
我来回答
共4个回答
热心网友
时间:2023-10-13 05:23
摘要
我们已经看到在操作系统,编译器的设计采用树木和搜索。表达式树是作为一个解析树,这是在*编译器设计的数据结构称为一般结构更小的例子。解析树不是二进制,而是树的表达相对简单扩展(虽然他们的算法,以建立没有这么简单)。
搜索树的算法设计非常重要。他们支持几乎所有的有用的操作,以及对数平均成本是很小的。查找树非递归的实现是稍快,但递归版本更时尚,更优雅,更易于理解和调试。与搜索树的问题是,他们的表现在很大程度上取决于被随机输入。如果不是这样,运行时间大幅增加,以至于查找树变得昂贵链表。
我们看到了几种办法来处理这个问题。 AVL树的工作,坚持所有节点的左,右子树不同高度最多之一。这确保了树不能太深刻。这些行动不改变树,插入不作为,都可以使用标准的二叉查找树的代码。行动改变,必须恢复该树树。这可能有点复杂,特别是在删除的理由。
我们说明了如何恢复后,在O(log n)的插入树time.We也审查了伸展树。在散索树节点可以任意深度,但在每一个树是一个有点神秘的方式,调整访问。最终的效果是,任何米行动的先后顺序,为O(米log n)时间,这是一个平衡树一样会。
B树是平衡的米路(而不是2路或二进制)树,可以很好地适用于磁盘,一个特殊情况是2-3树,这是另一个实施均衡查找树的常见方法。
在实践中,所有的平衡树计划的运行时间差(由一个常数因子比简单的二叉查找树),但通常是在可以接受的保护正在对容易得到的最坏情况输入给出。
最后请注意:通过插入到查找树元素,然后执行一个序遍历,我们得到有序的元素。这使一个O(n log n)的算法进行排序,这是一个最坏情况下的约束,如果任何先进的搜索树使用。我们将在第7章更好的方式,但没有说有一个较低的时间约束。
热心网友
时间:2023-10-13 05:24
实在是长
热心网友
时间:2023-10-13 05:24
摘要
我们已经看到在操作系统,编译器的设计采用树木和搜索。表达式树是作为一个解析树,这是在*编译器设计的数据结构称为一般结构更小的例子。解析树不是二进制,而是树的表达相对简单扩展(虽然他们的算法,以建立没有这么简单)。
搜索树的算法设计非常重要。他们支持几乎所有的有用的操作,以及对数平均成本是很小的。查找树非递归的实现是稍快,但递归版本更时尚,更优雅,更易于理解和调试。
与搜索树的问题是,他们的表现在很大程度上取决于被随机输入。如果不是这样,运行时间大幅增加,以至于查找树变得昂贵链表。
我们看到了几种办法来处理这个问题。 AVL树的工作,坚持所有节点的左,右子树不同高度最多之一。这确保了树不能太深刻。这些行动不改变树,插入不作为,都可以使用标准的二叉查找树的代码。行动改变,必须恢复该树树。
我们说明了如何恢复后,在O(log n)的插入树time.We也审查了伸展树。在散索树节点可以任意深度,但在每一个树是一个有点神秘的方式,调整访问。最终的效果是,任何米行动的先后顺序,为O(米log n)时间,这是一个平衡树一样会。
这可能有点复杂,特别是在删除的理由。
在实践中,所有的平衡树计划的运行时间差(由一个常数因子比简单的二叉查找树),但通常是在可以接受的保护正在对容易得到的最坏情况输入给出。
热心网友
时间:2023-10-13 05:25
百度十年纪念奖章