algorithm记录总结

Posted by enoshx on November 7, 2019

分而治之D&C

  1. 找出基线条件,使得该条件尽可能小
  2. 对问题进行分解,直至符合基线条件

*所涉及递归的数组,基线条件为空或只包含一个元素

动态规划问题

  1. 不能解决连续问题,即有依赖关系的情况

散列表

  1. 模拟映射关系
  2. 防止重复
  3. 缓存/记住数据
  4. 结合散列函数和数组创建散列表
  5. 使用最大限度减少冲突的散列函数
  6. 散列表的查找、插入和删除速度都非常快
  7. 一旦填装因子超过0.7, 就该调整散列表的长度

广度优先搜索(解决到X的最短路径问题)

  1. 使用图来建立问题模型
  2. 使用广度优先搜索解决问题 对于选择过的路线,务必不要再去检查,可能导致无限循环