算法分析与设计 2022.1.14 by ponytail 算法的定义 1.给定计算问题,算法是一系列良定义的计算步骤,逐一执行计算步骤即可得预期的输出 算法的性质 1.有穷性 有限 2.确定性 没有歧义 3.可行性 可以机械地一步一步执行基本操作步骤 算法的表示 自然语言 方法优势 贴近人类思维,易于理解 不便之处 不严谨,描述繁琐,容易产生歧义、 机器语言 方法优势 精准表达,避免歧义 不便之处 不同编程语言存在区别 伪代码 非正式语言 移植编程语言书写形式作为基础和框架 按照接近自然语言的形式表达算法过程 兼顾自然语言和编程语言优势 简洁,准确 伪代码的书写约定 定义算法的输入输出 循环有缩进,赋值的语句,有注释,用目的代替代码。 算法的分析 机器的运算速度影响算法的运行时间 统一机器性能后,算法运行的时间依赖于问题输入的规模与实例 相同输入规模,实例影响运行 通过情况下选用最坏情况分析算法 算法分析的工具 渐进分析 渐进记号 课程规划