算法设计与今折
算法设计与分析
教材与参考书 计算机算法基础(第三版), 余祥宣,华中 科技大学出版社 ● 算法设计与分析(第三版), 王晓东,电子工 业出版社 算法导论(第二版影印版),Introduction to Algorithms(Second Edition),(美) Thomas H.Cormen等,高等教育出版社 ●1 计算机程序设计艺术(英文影印版) (1-3卷 精装全套)The Art of Computer Programming Volumes 1-3 Boxed Set )Donald E.Knuth,清华大学出版社
教材与参考书 • 计算机算法基础(第三版), 余祥宣,华中 科技大学出版社 • 算法设计与分析(第三版),王晓东,电子工 业出版社 • 算法导论(第二版 影印版),Introduction to Algorithms(Second Edition ), (美) Thomas H.Cormen等,高等教育出版社 • 计算机程序设计艺术(英文影印版)(1-3卷 精装全套)The Art of Computer Programming Volumes 1-3 Boxed Set(美 )Donald E.Knuth,清华大学出版社
®序 计算机算法是计算机科学和计算机应用的核心 ·数据结构+算法=程序 算法:计算机软件的灵魂
序 • 计算机算法是计算机科学和计算机应用的核心 • 数据结构+算法 = 程序 • 算法:计算机软件的灵魂
e 章节安排 第一章导引与基本数据结构 第二章递归算法设计与分析√ 第三章分治法√ 第四章贪心方法√ 第五章 动态规划√ ● 第六章 检索与周游 V ● 第七章 回溯法 第八章分枝-限界 第九章 NP-问题 ⊙ 第十章并行算法 ⊙
章节安排 • 第一章 导引与基本数据结构 √ • 第二章 递归算法设计与分析√ • 第三章 分治法√ • 第四章 贪心方法√ • 第五章 动态规划 √ • 第六章 检索与周游 √ • 第七章 回溯法 √ • 第八章 分枝-限界 √ • 第九章 NP-问题 ⊙ • 第十章 并行算法 ⊙
第一章:导引与基本数据结构 【学习内容】 ●】 算法的定义 ·问题求解过程与抽 ·算法的描述与表示 ·算法复杂度分析 ·基本数据结构 重点:算法的描述和算法复杂度分析 难点:算法复杂度的分析 掌握:用C++和Java语言描述算法
第一章:导引与基本数据结构 【学习内容】 • 算法的定义 • 问题求解过程与抽象 • 算法的描述与表示 • 算法复杂度分析 • 基本数据结构 重点: 算法的描述和算法复杂度分析 难点: 算法复杂度的分析 掌握:用C++和Java语言描述算法
e 」第一章导引与基本数据结构 ·1.1算法定义及特性 ·1.2分析算法 ·1.3算法表示(设计) ·1.4基本数据结构(栈队列树图等)
第一章 导引与基本数据结构 • 1.1算法定义及特性 • 1.2分析算法 • 1.3算法表示(设计) • 1.4基本数据结构(栈队列树图等)
第一章导引与基本数据结构 1.1算法的定义及特性 1. 什么是算法? 算法如数字、计算一样,是一个基本概念。 算法是解一确定类问题的任意一种特殊的方法。 在计算机科学中,算法是使用计算机解一类问题 的精确、有效方法的代名词: 算法是一组有穷的规则,它规定了解决某一特定 类型问题的一系列运算
第一章 导引与基本数据结构 1.1 算法的定义及特性 1. 什么是算法? 算法如数字、计算一样,是一个基本概念。 算法是解一确定类问题的任意一种特殊的方法。 在计算机科学中,算法是使用计算机解一类问题 的精确、有效方法的代名词: 算法是一组有穷的规则,它规定了解决某一特定 类型问题的一系列运算
e 2. 算法的五个重要特性 确定性、能行性、输入、输出、有穷性 1)确定性:算法的每种运算必须要有确切的定 义,不能有二义性。 例:不符合确定性的运算 5/0 将6或7与x相加 未赋值变量参与运算
2. 算法的五个重要特性 确定性、能行性、输入、输出、有穷性 1)确定性:算法的每种运算必须要有确切的定 义,不能有二义性。 例:不符合确定性的运算 • 5/0 • 将6或7与x相加 • 未赋值变量参与运算
e 2)能行性 算法中有待实现的运算都是基本的运算, 原理上每种运算都能由人用纸和笔在有限的时 间内完成。 例:整数的算术运算是“能行”的 实数的算术运算是“不能行”的
2)能行性 算法中有待实现的运算都是基本的运算, 原理上每种运算都能由人用纸和笔在有限的时 间内完成。 例:整数的算术运算是“能行”的 实数的算术运算是“不能行”的
3)输入 每个算法有0个或多个输入。这些输入是在算法开始之 前给出的量,取自于特定的对象集合一定义域(或值域) 4)输出 一个算法产生一个或多个输出,这些输出是同输入有某 种特定关系的量
3)输入 每个算法有0个或多个输入。这些输入是在算法开始之 前给出的量,取自于特定的对象集合——定义域(或值域) 4)输出 一个算法产生一个或多个输出,这些输出是同输入有某 种特定关系的量