什么样的递归最容易改成循环
最容易改写成循环的是【0】。
阅读更多 →
那递归还有什么好
明知有栈开销还用递归,理由是【0】。
阅读更多 →
递归比迭代多花的是什么
同样的逻辑,递归比迭代多花的是【0】。
阅读更多 →
⚠️ 一次递归两个分支,代价就爆了
阶乘每层只递归一次,斐波那契每层递归两次——同样是 n = 20,调用次数差多少? 补全两个带计数的版本,把两个调用次数拼起来输出(阶乘在前,用 / 隔开)。
阅读更多 →
数出汉诺塔要搬几次
补全 hanoi:搬 n 层要"先搬上面 n-1 层、搬一次最大的、再搬回 n-1 层"。 搬 3 层,输出一共搬了几次。
阅读更多 →
数出递归有多深
补全 fact:算阶乘的同时记下最深压到了第几层。 算 5 的阶乘,输出最大深度。
阅读更多 →
汉诺塔三层要走几步
汉诺塔的递归是"先搬上面 n-1 个,搬一次最大的,再搬回来"。运行下面这段程序: MOVES = 0 def hanoi(n): global MOVES if
阅读更多 →
阶乘的递归有多深
运行下面这段程序,它数的是"最深压了几层": MAXD = 0 def fact(n, d): global MAXD if d > MAXD:
阅读更多 →
怎么从递归树估出复杂度
用递归树估算复杂度,做法是【0】。
阅读更多 →
归并排序的递归树有多高
归并排序每次把问题砍一半,递归树的高度大约是【0】。
阅读更多 →