跳转至

算法设计

算法是精确定义的结构化过程——问题求解过程,输入(问题实例)-> 算法(指令序列)-> 输出(问题的解)。

问题求解

对问题求解,就是将所要解决的问题进行抽象,转化为一个基础的数据结构,然后应用相关的算法。

算法设计与分析过程

理解问题 -> 算法策略 -> 数据结构 -> 算法描述 -> 算法证明 -> 算法分析 -> 算法实现。

算法策略

  • 蛮力法
  • 减治法
  • 分治法
  • 变治法
  • 回溯法
  • 贪婪法
  • 时空权衡
  • 动态规划

算法实现

一个算法,可以用 N 个编程语言描述。但是,编程语言的表达力是各异的。

Go 版 LeetCode

Z 认为,Ruby 更适合原型设计与开发。

写在最后

针对算法面试,重在算法理解、分析和应用,而非算法设计。


最后更新: September 10, 2023