摘要:
快速排序的最优时间复杂度是 $O(nlogn)$,最差时间复杂度是 $O(n^2)$,期望时间复杂度是 $O(nlogn)$。 这里我们证明一下快排的期望时间复杂度。 设 $T(n)$ 为对长度为 $n$ 的序列进行快速排序所需要的期望时间。我们有: $$T(0) = 0$$ 以及: $$T(n) 阅读全文
摘要:
建堆的复杂度先考虑满二叉树,和计算完全二叉树的建堆复杂度一样。 对满二叉树而言,第 $i$ 层(根为第 $0$ 层)有 $2^i$ 个节点。 由于建堆过程自底向上,以交换作为主要操作,因此第 $i$ 层任意节点在最不利情况下, 需要经过 $(n i)$ 次交换操作才能完成以该节点为堆根节点的建堆过程 阅读全文