【发布时间】:2016-12-24 18:18:14
【问题描述】:
在链表中,插入是 O(1),因为我们假设我们已经知道要插入的位置。在二叉搜索树中,插入是 O(logN),因为我们必须在插入之前找到插入的位置(但是,实际的插入过程应该是常数时间)。为什么在 LinkedList 的情况下我们假设我们已经有了位置,而在 BST 中我们假设我们必须遍历节点才能找到插入位置(导致时间复杂度为 O(logN)?
【问题讨论】:
-
我们在哪里假设它(以及“我们”是谁)?如果我们假设我们知道新元素应该去哪里,我们就知道了。如果我们不这样做,我们就不会。这不是一个真正的编程/计算机科学问题。
标签: algorithm data-structures linked-list binary-search-tree