- 3
- 0
- 约9.94千字
- 约 58页
- 2017-09-11 发布于湖北
- 举报
章节安排 第 2 章 导引与基本数据结构 √ 第 3 章 递归算法 √ 第 4 章 分治法 √ 第 5 章 贪心方法 √ 第 6 章 动态规划 √ 第 7 章 检索与周游 √ 第 8 章 回溯法 √ 第 9 章 分枝-限界 √ 第10章 NP-问题 ⊙ 第11章 并行算法 ⊙ 算法问题举例 问题描述 在N件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W·2……Wn,与之相对应的价值为P1,P2……Pn。 求出获得最大价值的方案。 第 2 章 导引与基本数据结构 2.1 算法的定义及特性 1. 什么是算法? 算法如数字、计算一样,是一个基本概念。 算法是解一确定类问题的任意一种特殊的方法。 在计算机科学中,算法是使用计算机解一类问题的精确、有效方法的代名词: 算法是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。 2. 算法的五个重要特性 确定性、能行性、输入、输出、有穷性 2)能行性 算法中有待实现的运算都是基本的运算,原理上每种运算都能由人用纸和笔在有限的时间内完成。 例:整数的算术运算是“能行”的 实数的算术运算是“不能行”的 3)输入 每个算法有0个或多个输入。这些输入是在算法开始之前给出的量,取自于特定的对象集合——定义域(或值域) 5)有穷性 一个算法总是在执行了有穷步的运算之后终止。 计算过程:只满足确定性、能行性、输入、输出四个特性但不一定能终止的一组规则。 准确理解算法和计算过程的区别: 不能终止的计算过程:操作系统 算法是“可以终止的计算过程” 算法的时效性:只能把在相当有穷步内终止的算法投 入到计算机上运行 算法和程序 程序:一个计算机程序是对一个算法使用某种程序设计语言的具体实现 任何程序设计语言都可以实现任何一个算法 算法的有穷性意味着不是所有的计算机程序都是算法 3. 我们的主要任务 算法学习将涉及5个方面的内容: 1)设计算法:创造性的活动 2)表示算法:思想的表示形式 3)确认算法:证明算法的正确性 程序的证明 4)分析算法:算法时空特性分析 5)测试程序:“调试只能指出有错误,而不能指出它们 不存在错误” 本课程集中于学习算法的设计与实现。通过学习,掌握计算机算法设计和分析基本策略与方法,为设计更复杂、更有效的算法奠定基础 4. 课程关系 数据结构、离散数学 程序设计语言:结构化设计 数学基础 非数值计算领域的基本知识 2.2 分析算法 计算机程序设计的核心目标: 1、设计一个容易理解、编码和调试的算法 2、设计一个能有效利用计算机资源的算法 怎样度量效率?--算法分析 2. 重要的假设和约定 1)计算机模型的假设 Turing机模型:计算机形式理论模型 通用计算机模型: 顺序计算机 有足够的“内存” 能在固定的时间内存取数据单元 2)计算的约定 算法的执行时间 = ∑Fi * ti 其中,Fi是算法中用到的某种运算i的次数, ti是该运算执行一次所用的时间。 确定使用什么样的运算及其执行时间。 从计算时间上,运算的分类: 时间囿界于常数的运算: ·基本算术运算,如整数、浮点数的加、减、乘、除 ·字符运算 ·赋值运算 ·过程调用等 特点:尽管每种运算的执行时间不同,但一般只花 一个固定量的时间(单位时间)就可完成。 2)计算的约定(续) 其他运算: ·字符串操作:与字符串中字符的数量成正
您可能关注的文档
- 第三讲 评标办法.docx
- 公共机构能源管理体系概述在线自测答案详解.docx
- 传播学复习题答案课件.doc
- 浅谈营销话术脚本.docx
- 第08章 美国航空1420号班机空难.docx
- 新媒体导论复习资料汇编.doc
- 及顾客沟通技巧.doc
- 如何找到合适房产代理项目?.docx
- 浅析未来汽车发展趋势.doc
- 详解MAC硬盘中各个文件夹汇编.docx
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
原创力文档

文档评论(0)