数据结构与算法

数据结构第二季 Day14 递归 、回溯

2021-10-19  本文已影响0人  望穿秋水小作坊

一、递归练习

1、上楼梯?(每次都过一下题目,感觉还是没理解透彻)

image.png image.png

2、汉诺塔(Hanoi)?

image.png image.png

3、汉诺塔的时间复杂度和空间复杂度是多少?

image.png

4、递归函数的调用栈情况是怎么样的(脑海中要有个大概)?递归能转换成非递归吗?

image.png

5、递归转非递归的万能之法是什么?

image.png

6、从上述自定义栈帧思想,我们可以看出递归转非递归的核心在什么(细细品味,优化方向问题,很重要)?

image.png

二、尾调用

1、什么是尾调用?什么是尾递归?

image.png image.png

2、对于尾调用,编译器如果要进行优化,需要什么技术支持?尾调用能被优化的原因是什么?

3、为什么尾递归的优化比尾调用简单多了?要能简述尾递归优化思路?

image.png image.png image.png

4、使用尾递归的思想优化斐波那契数列(了解即可)?

image.png

三、回溯(Back Tracking)

1、回溯(Back Tracking)的思想是什么?之前学过的什么搜索是典型的回溯应用?

image.png

2、八皇后问题描述?

image.png

3、八皇后解决思路?

image.png

4、 使用回溯法解决此问题的思路?(太神奇、太强了!)

image.png image.png image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读