【发布时间】:2016-11-02 13:42:58
【问题描述】:
我已经阅读了 wiki 页面和其他 StackOverflow 答案。希望有人能解释一下这两种算法的作用。
谢谢
【问题讨论】:
标签: tree binary-tree binary-search-tree heapsort treesort
我已经阅读了 wiki 页面和其他 StackOverflow 答案。希望有人能解释一下这两种算法的作用。
谢谢
【问题讨论】:
标签: tree binary-tree binary-search-tree heapsort treesort
Treesort 使用在二叉搜索树 (BST) 上执行的中序遍历。构建 n 项的 BST 需要 O(n * depth of tree) = O(n * log n) 时间。
堆排序的工作原理是最大的项目存储在堆的根部。构建一堆n 项目需要O(n * each_heapify_TimeComplexity) = O(n * log n) 时间。
对于螺旋树结构,Treesort 的 TC 将是 O(n^2)。虽然 Heapsort 在这方面不同,因为它通过将自身塑造成一棵完整的二叉树来将深度保持在最小可能值。
【讨论】: