三个规模看它怎么爆

用会计数的朴素 fib 分别算 fib(10)、fib(12)、fib(15),把三个调用次数用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

记忆化在做什么

第 1 步:memo 表:-1 表示还没算 第 2 步:f(2) 算完先写表 第 3 步:f(3) 算完先写表 第 4 步:f(4) 算完先写表 第 5 步:f(5) 算完先写表 第 6 步:再要 f(3):直接查表 ? ? ? ? ? ?

开始练习 →

记忆化要在哪两处动手(C++)

给一个递归加记忆化,要动的是【0】。

开始练习 →

记忆化会不会改变结果(C++)

加上记忆化之后,算出来的答案【0】。

开始练习 →

记忆化属于哪一类写法(C++)

记忆化搜索属于【0】。

开始练习 →

记忆化之后调用几次

给 fib 加上记忆化,再算一次 fib(12),数调用次数。 运行下面这段程序: #include <algorithm> #include <iostream> #include <string> #

开始练习 →

写一个记忆化 fib

补全 fib_memo:memo 里 -1 表示还没算。进函数先查 memo,算完先写 memo。把 fib(12) 的值和调用次数拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

只查不写等于没加

两个版本各算一次 fib(12),只输出两个调用次数:fib_bad 有查表那一句,但算完忘了写 memo;fib_cnt 是完全不加记忆化的朴素版。两个数用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

省了多少且结果必须一样

朴素版和记忆化版各算一次 fib(12),输出三样:朴素的调用次数 / 记忆化的调用次数 / 两者结果是否相同(相同输出 结果一致,否则 结果不一致)。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

填表法和记忆化差在哪

第 1 步:先填好最小的两格 第 2 步:第 2 格 = 前两格相加 第 3 步:第 3 格 = 前两格相加 第 4 步:第 4 格 = 前两格相加 第 5 步:第 5 格 = 前两格相加 第 6 步:第 6 格 = 前两格相加 第 7 步

开始练习 →