我已通读 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/