什么是递归树
递归树画的是【0】。
阅读更多 →
分治的结果必须和直接算的一样
把 dsum 和 dmax 都写出来,和 Python 内置的 sum / max 比一比。 两个都对上输出 两项一致,否则输出 有不一致。
阅读更多 →
用分治求最大值
补全 dmax:两边各自求出最大值,再取大的那个。 ⚠️ 这道题的"合"这一步不是相加,而是取较大的——同一套骨架,换个合并方式就换了用途。
阅读更多 →
用分治求和
补全 dsum:把数组从中间切开,两边各自递归求和,再把两个结果加起来。
阅读更多 →
分治求最大值
运行下面这段程序: def dmax(a): if len(a) == 1: return a[0] m = len(a) // 2 left = dmax(a
阅读更多 →
分治求和得多少
把数组一分为二各自求和再相加。运行下面这段程序: def dsum(a): if len(a) == 0: return 0 if len(a) == 1:
阅读更多 →
哪个不是分治
下面这几个里,不算分治的是【0】。
阅读更多 →
分治和普通递归的区别
分治比普通递归多的那一步是【0】。
阅读更多 →
分治的三步
分治法的三步是【0】。
阅读更多 →
⚠️ 出口有了,但参数没变小
下面这个递归有出口,却还是停不下来——往下递归时传的还是原来那个 n。 把它改对,然后算 5 的阶乘。
阅读更多 →