算法思路

递归与循环

分解问题,返回当最小子问题情况的结果,其他问题分解为已知结果和子问题。 对子问题,迭代调用当前函数。
一般可以用递归解决的问题都可以用栈来解决。效率更高

考点

斐波那契数列

青蛙跳台阶

汉诺塔

查找

顺序查找
二分查找
哈希查找
二叉树查找

考点

旋转数组的最小数字

排序

快速排序
归并排序
堆排序
桶排序

回溯法

类似暴力解法

考点

机器人运动范围

动态规划

动态规划(Dynamicprogramming)通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题.大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。一旦某个给定子问题的解已经算出,则将其数组存储,以便下次需要同一个子问题解之时直接查表。相当于逆向的递归

考点

剪绳子

贪心算法

Dijkstra算法

摊还分析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容