算法之回溯、动态规划、贪心、位运算

算法与数据操作也是面试时经常问到的题目。很多算法都有递归和循环的实现,同时查找和排序也是很基础的内容,除此之外,回溯法、贪心法、动态规划等针对一类问题的算法都是非常重要的。 --> 回溯法 回溯法可以看作蛮力法的升级版,它从解决问题每一步的所有可能选项里系统地选出一个可行的解决方案。 回溯法非常适合由多个步骤组成的问题,并且每个步骤都有多个选项。当我们在某一步 ...

算法之递归、循环、查找

算法与数据操作也是面试时经常问到的题目。很多算法都有递归和循环的实现,同时查找和排序也是很基础的内容,除此之外,回溯法、贪心法、动态规划等针对一类问题的算法都是非常重要的。 --> 1 递归与循环 通常基于递归的代码比较简洁,也比较容易实现,但性能却不如基于循环的实现方法,因为递归时会存在额外的函数调用,内存栈操作以及重复计算,甚至有时会出现调用栈溢出的情况。 ...

算法之排序

算法与数据操作也是面试时经常问到的题目。很多算法都有递归和循环的实现,同时查找和排序也是很基础的内容,除此之外,回溯法、贪心法、动态规划等针对一类问题的算法都是非常重要的。 --> 1 排序 插入排序、冒泡排序、归并排序、快速排序的特点及分析。 1.1 插入排序 插入排序的思想是通过构建有序序列,对未排序的序列,在已排序的序列中从后往前扫描,找到 ...