楼主加油啊,我也是转cs小白,我最近做题在recursion方面有了些进步,总结了下思路,仅个人经验,不知能否对你有帮助。基础是已经学过数据结构和算法,算法看的Introduction to algorithms,没有学里面的advanced algorithms。刷题先刷tree的高频题,刷大概3-4道,不看答案,尽量自己做出来,实在不行可以看几眼solution找个hint,这一步骤的目的在于自己想通整个算法思路,想明白为什么要这样写又为什么不能那样写。如果这一步做好了,tree的题的考点基本上你就熟练掌握了,之后继续做dynamic programming(这里推荐MIT公开课关于dp的讲解,当时让我获益匪浅),做的方法和做tree的时候一样。接着就是同样的方法做backtracking, divide and conquer(这个算法在Introduction to algorithms 的Chapter 4就有介绍),graph(先后顺序随意)。希望有帮助,有帮助的话求加米,不会损失你自己的大米hhhh