文档详情

计算机算法设计与分析(第4版).PDF

发布:2017-06-10约2.38万字共51页下载文档
文本预览下载声明
计算机算法设计与分析(第4版) 福州大学数学与计算机科学学院 福州大学数学与计算机科学学院 《算法设计与分析》课程组 《算法设计与分析》课程组 2015/7/26 ygfu@ 1/51 ygfu@ 第1章 算法概述 学习要点:  理解算法的概念。  理解什么是程序,程序与算法的区别和内在联系。  掌握算法的计算复杂性概念。  掌握算法渐近复杂性的数学表述。  掌握用C++语言描述算法的方法。 2015/7/26 2/51 算法(Algorithm) • 算法是指解决问题的一种方法或一个过程。 • 算法是若干指令的有穷序列,满足性质: • (1)输入:有外部提供的量作为算法的输入。 • (2)输出:算法产生至少一个量作为输出。 • (3)确定性:组成算法的每条指令是清晰,无歧义的。 • (4)有限性:算法中每条指令的执行次数是有限的,执 行每条指令的时间也是有限的。 2015/7/26 3/51 程序(Program) • 程序是算法用某种程序设计语言的具体实现。 • 程序可以不满足算法的性质(4)。 • 例如操作系统,是一个在无限循环中执行的程序,因 而不是一个算法。 • 操作系统的各种任务可看成是单独的问题,每一个问 题由操作系统中的一个子程序通过特定的算法来实现。 该子程序得到输出结果后便终止。 2015/7/26 4/51 问题求解(Problem Solving) 理解问题 精确解或近似解 选择数据结构 算法设计策略 设计算法 证明正确性 分析算法 设计程序 2015/7/26 5/51 算法复杂性分析 • 算法复杂性= 算法所需要的计算机资源 • 算法的时间复杂性T(n); • 算法的空间复杂性S(n)。 • 其中n是问题的规模(输入大小)。 2015/7/26 6/51 算法的时间复杂性 • (1)最坏情况下的时间复杂性 • Tmax(n) = max{ T(I) | size(I) n }
显示全部
相似文档