T09. Recursion
没啥东西。就讲了讲普通递归、记忆化(动态规划)、快速幂、归并排序。
不过这个归并排序看起来怪怪的,里面有个 workspace 的概念,不知道是指啥东西(好像是数组名?)。看示例代码中规中矩的。后面还分析了一下归并排序的性能(copy 和 comparison 多少次之类的)
最后讲了一下汉诺塔问题。好像有点不好懂。
public static void doTowers(int topN, char src, char inter, char dest) {
if (topN == 1) {
System.out.println("Disk 1 from " + src + " to " + dest);
} else {
// Move top N-1 from src to inter
doTowers(topN - 1, src, dest, inter);
// Move the biggest disk from src to dest
System.out.println("Disk " + topN + " from " + src + " to " + dest);
// Move top N-1 from inter to dest
doTowers(topN - 1, inter, src, dest); // inter to dest
}
}