前言:算法和数据结构是什么?
算法是在对问题进行深入的思考和分析之后按照已有的框架和模式设计出合乎问题内在规律的解决办法,数据结构就是算法解决问题时进行组合的“零件”,好比乐高零件和拼凑图纸,要解决一个问题,成功拼出一个模型,必不可少的要将两者相结合,既要掌握已有的零部件,也要将它们放在合适的位置,使整个结构正常运转。接下来笔者将把自己在算法学习中的心得简洁的详尽叙述清楚,希望对于刚入门的同学有所帮助,因为笔者也是这么学过来的,聪明的你一定也可以。一、递归
1.什么是递归?
递归作为算法中解决问题的经典设计模式,第一个特点是允许函数和过程进行自我调用,这能对现实问题中反复出现的结构和形式从本质进行刻画,进而导出更为高效的算法。
2.线性递归
1、是什么
递归的基本形式
2、特点
这类递归问题可划分为两个子问题,其中一个问题可以直接求解,另一个问题的结构与第一个问题相同
3、问题的处理方式
减而治之
3.二分递归
1、是什么线性递归的解决对象往往是比较简单的问题,面对庞大复杂的问题不能直接得出整体线性递归的规律时,我们可以