tree - 如何最好地描述 TreeSort 和 HeapSort 算法是什么?

标签 tree binary-tree binary-search-tree heapsort treesort

我已通读 wiki 页面和其他 StackOverflow 答案。希望有人能解释一下这两种算法的作用。

谢谢

最佳答案

Treesort 使用二叉搜索树 (BST) 上的中序遍历。构建 n 项的 BST 需要 O(n * 树深度) = O(n * log n) 时间。

堆排序的工作逻辑是最大的项存储在堆的根部。构建 n 项的堆需要 O(n *each_heapify_TimeComplexity) = O(n * log n) 时间。

对于螺旋树结构,Treesort 的 TC 将为O(n^2)。从这个角度来看,堆排序是不同的,因为它通过将自身塑造为完整的二叉树来将深度保持在尽可能小的值。

关于tree - 如何最好地描述 TreeSort 和 HeapSort 算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40381475/

相关文章:

Java foreach递归返回(树中的 child 数)

python - Python 中的任意字典 (JSON) 到更严格的树状字典 (JSON)

haskell - Haskell : which wins? 中不同二叉树的定义

scheme - Scheme 中的二叉树

oop - 一棵树,其中每个节点可以有多个父节点

javascript - 使用D3.JS在同一层显示所有叶子

php - php 和 mysql 中的二叉树实现(家谱)

algorithm - OCaml 中的二叉搜索树预排序算法

arrays - 列出出现在两个列表中的元素?

tree - 从给定数据构建二叉树