算法

2018-06-19  本文已影响7人  奔跑的蜗牛最开心

1.很多算法都可以通过递归和循环两种方式实现。

通常基于递归的实现算法代码会比较简洁,但性能不如基于循环的实现算法。

2.通常排序与查找是面试考察算法的重点。

重点掌握冒泡排序,快速排序,二分法查找

3.如果面试要求在二数组(具体表现为迷宫或者棋盘)上搜索路径,那么我们可以尝试使用回溯法。

通常回溯法很适合用递归的代码实现,如果不允许,可以考虑用栈来模拟递归的过程

4.如果面试题是求某个问题的最优解,并且该问题可以分为多个子问题,那么我们可以尝试用动态规划。在使用自上而下的递归思想去分析动态规划问的时候,我们会发现重叠的更小的子问题,为了避免不必要的重复代码,我们用自上而下的循环代码来实现

如果提示说分解子问题的时候是不是存在特殊的选择,如果选择特殊的选择将一定会得到最优解,说明可能适用贪婪算法;

上一篇下一篇

猜你喜欢

热点阅读