第一章

来源:互联网 发布:单片机程序 编辑:程序博客网 时间:2024/05/17 21:45

第一章 绪论

1. 程序开发过程:

① 分析阶段:将问题严格化,又称需求分析。

② 设计阶段:设计解决问题的算法,或叫解决问题的计算过程模型。是程序设计的核心

③ 编码阶段:用某种程序语言把第②步设计的方案实现。

④ 检查编译

⑤ 测试调试

2. 算法的性质

① 有穷性;②能行性;③确定性;④终止性;⑤输入/输出

3. 算法的常用设计模式

① 贪心法:根据已知的局部信息,完成尽可能多的工作。此方法可以得到正确解,但可能得不到最优解。

② 枚举法:列举所有可能的情况,筛选出问题的解,再从解中择优

③ 分治法:把复杂问题分解为子问题分别求解,再把解合起来得到原问题的解

④ 回溯法(搜索法)

⑤ 动态规划法

⑥ 分支限界法

4. 算法复杂度的描述

① 把空间或时间的开销描述为问题实例规模n的函数

② 即使是同一规模,有最好情况、最坏情况和平均情况。

③ 大O记法:只管复杂度的数量级,不管常量因子

④ 常用的复杂度函数:O(1), O(log n), O(n), O(n*log n), O(n^2), O(n^3), O(2^n)等

5. 数据结构的基本分类

① 结构型数据结构:包括集合结构、序列机构、层次结构、树结构、图结构

② 功能性数据结构:包括栈、队列、字典等