第一章复杂度和其分析.pptVIP

  • 8
  • 0
  • 约1.21万字
  • 约 79页
  • 2018-08-18 发布于湖北
  • 举报
§1. 算法的复杂度 算法的定义: 问题的算法是有限条指令的序列, 其中每条指令都有明确的含义, 每条指令的执行包含着有限的工作量, 序列的执行会在有限时间内停止下来, 并给出问题实例的解答. 问题: 一个一般化的概念. 例如: 排序问题 实例: 问题的一个实际情况. 例如, 排序问题中待排序的量的个数、每个量的值构成了问题的一个实例。 算法为问题而建立,但是算法不能为问题而运行; 算法只能为问题的实例而运行。 算法的特性为有穷性 有限序列 有限工作量 有限时间,这一点更要强调 专业人才不仅注意算法设计的技巧,更注重算法运行所需的时间和存储空间 更应当分析算法的品性。 一个问题往往有多个算法, 评判比较解决同一问题的各种不同算法优劣的标准。 对算法的要求 易于理解:易于编程 易于调试 高效:时间上快 存储空间小 这两者是互相矛盾的 高效的算法往往不易于理解、编程、调试 易于理解、编程、调试的算法往往低效 如何选择 取决于实际需求 只运行一两次的程序, 不必高效, 易于编程即可 多次反复运行的程序, 则要求高效, 宁可编程时候多花费时间, 但将来多次运行可以节省大量时间 以排序问题为例子。 汽泡法最直观简单,但时间要求最长; 快速排序法快一点,但是其思路不是那么易懂; 堆排序最快,可是它的思路更加难懂。 算法或由它写成的程序运行所需要的时间决定于两个因素

文档评论(0)

1亿VIP精品文档

相关文档