算法导论 Chap6 习题lumicia 发布于 2021-04-22 包括在 Algorithm6.1 6.1-1 每层都完全填满的二叉堆第 $i$ 层元素个数是 $2^{i - 1}$。 由几何级数公式 $A.5$,高度为 $h$ 的堆中元素个数最多为 $\displaystyle \sum_{i = 1}^{h + 1} 2^{i - 1} = \cfrac{2^{h + 1} - 1}{2 -
算法导论 Chap8:线性时间排序lumicia 发布于 2021-04-20如果排序算法的最终结果中,各元素的次序依赖于它们之间的比较,则把这种排序算法称为比较排序。我们对比较排序算法需要比较的最少次数感兴趣,即算法
算法导论 Chap6:堆、堆排序和优先级队列lumicia 发布于 2021-04-16 包括在 Algorithm堆是一个数组,可用近似完全二叉树1表示。表示堆的数组的两个属性: 数组长度; 堆大小。 堆大小表示数组中实际存储在堆中的数据。堆大小不小于 $0$,
算法导论 Chap5:概率分析和随机算法lumicia 发布于 2021-04-15 包括在 Algorithm本章讨论了当算法的运行时间不是算法重点时的分析方法。以雇用问题举例,每次对候选的应聘者进行比较,只要比上一位应聘者要好,就立即雇用,直到最后
算法导论 Chap4:分治策略lumicia 发布于 2021-04-10 包括在 Algorithm分治策略 分治策略的三个步骤: 分解:分解原问题为形式相同但规模更小的子问题; 解决:递归求解子问题,对规模足够小的子问题直接求解; 合并:合并子问
算法导论 Chap3 习题lumicia 发布于 2021-04-07 包括在 Algorithm3.1 3.1-1 因为 $f(n)$ 和 $g(n)$ 都是渐近非负的,所以对于 $f(n)$ 和 $g(n)$ 有: $$ \begin{aligned} \exists n_1:\quad f(n) & \geqslant 0\quad \text{for all}\ n > n_1 \\ \exists n_2:\quad g(n) & \geqslant 0\quad \text{for all}\ n > n_2 \end{aligned} $$ 令 $n_0 = \max(n_1, n_2)$,则对于 $n > n_0$
算法导论 Chap3:函数的增长lumicia 发布于 2021-04-03 包括在 Algorithm渐近记号 当算法的输入规模足够大时,运行时间与增长量级密切相关。此时,需要通过渐近分析来研究输入规模趋近无限时,算法的运行时间如何随输入规模的
算法导论 Chap2 习题lumicia 发布于 2021-04-02 包括在 Algorithm2.1 2.1-1 略。 2.1-2 1 2 3 4 5 6 7 for j = 2 to A.length key = A[j] i = j - 1 while i > 0 and A[i] < key A[i + 1] = A[i] i = i - 1 A[i + 1] = key 修改成 A[i] < key 即可。 2.1-3 1 2 3 4 for i = 1 to A.length if
算法导论 Chap2:算法基础lumicia 发布于 2021-03-26 包括在 Algorithm循环不变式 当我们写完程序后,通常会编写测试来检查程序是否产生预期的结果。如果结果和预期一致,则认为程序能正常完成任务。但是有限的测试用例无法
lumicia 发布于 0001-01-01Arch + WSL2 下载 arch.zip:https://github.com/yuk7/ArchWSL/releases。 解压,执行 Arch.exe: 1