算法概要
算法核心内容
- 递归与分治法
- 动态规划
- 贪心算法
- 回溯法
- 分支界限法
算法学习流程
- 提出问题
- 分析问题
- 算法设计
- 算法分析
- 编程实现
- 解决问题
算法
算法的定义
一个解决问题的方法或过程,用来将输入数据转换成目标的输出结果
算法的性质
- 有零个或多个输入(输入)
- 至少有一个输出(输出)
- 组成算法的每条指令清晰,无歧义(确定性)
- 算法中每条指令的执行次数有限,执行时间有限(有限性)
- 算法描述的操作可以通过已经实现的基本操作执行优先次数来实现(可行性)
注:根据网上标注,可行性和有限性的区别在于有限性只是要求必须结束,而可行性要求目标的步骤必须可以执行,并且在有限次数之内执行完成
三种常用的描述算法的形式
- 自然语言:通俗但缺乏确定性
- 程序流程图:形象、直观但成本较高
- 伪代码:以上两个的结合体但难以规范
注:伪代码最容易转化成代码