123
返回列表 发新帖
楼主: Colley
跳转到指定楼层
上一主题 下一主题
收起左侧

[动态规划] 你们都怎么学习递归

 
全局:
不断做题 发现套路 要有总体思维 不能按照普通方法一层一层向下想 要不然会乱
回复

使用道具 举报

全局:
过算法的时候 我脑子里形成一栋楼 然后就一边过就一边填满
回复

使用道具 举报

全局:
两步走
1. 假设函数已经实现并处理好了上一部:只需调用函数处理下一步。
2. 回到函数实现的最开头:写出base case。

写完之后看看edge case能不能handle

反复练习binary search, tree traversal, graph traversal.

评分

参与人数 2大米 +2 收起 理由
实皮果 + 1 赞一个
14417335 + 1

查看全部评分

回复

使用道具 举报

🔗
bbff1234 2020-11-3 08:44:57 | 只看该作者
全局:
个人建议两步走- 从下到上,后从上到下。递归类似于高考数列题 - 可以使用演绎法,也可以用归纳。实际操作的话主要看divide and conquer的结构类似了- 楼上多刷题确实是王道

求加米,多谢!

评分

参与人数 1大米 +1 收起 理由
Colley + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
LPT 2020-11-3 09:20:34 | 只看该作者
全局:
递归的本质是个stack,所以先把stack练好。:)
然后递归就是一个带着状态的stack,每个stack都有自己的context (stack frame?)
我个人比较喜欢把需要递归的过程抽象成一个function,需要用到的context都作为入参,这样方法里面我就只要关系这些context就好了

评分

参与人数 2大米 +2 收起 理由
实皮果 + 1 赞一个
14417335 + 1

查看全部评分

回复

使用道具 举报

🔗
Scaffolding 2020-11-3 11:11:16 | 只看该作者
全局:
想学习递归,首先你要会递归。

讲真tips跟其他人的差不多 自己跟着track一次input 看看具体你都写了啥。

但也有很多general recursion 基本上感觉人类的脑子完全理解不了

多写吧,可能多做了题就融会贯通了~

回复

使用道具 举报

🔗
gaowlsuannai 2020-12-18 07:07:28 | 只看该作者
全局:
我觉得动态规划这个东西,比我想象中的简单很多。他主要是建立一维或者二维数组,然后寻找其中的关系。从大问题,变成子问题,然后利用子问题的解,去求大问题。难点有两个。第一个,不知道dp[i][j] 或者dp[i]的定义。简单来说就是,到底是表示前i个做了j事时候的值, 还是以i ,j为结尾时候的值。这个需要不停的练习。纯想是无解的。。。。

评分

参与人数 1大米 +1 收起 理由
实皮果 + 1 赞一个

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表