( 5)有穷性 个算法总是在执行了有穷步的运算之后终止。 计算过程:只满足确定性、能行性、输入、输出四个特 性但不一定能终止的一组规则。 准确理解算法和计算过程的区别: 不能终止的计算过程:操作系统 算法是“可以终止的计算过程” 算法的时效性:只能把在相当有穷步内终止的算法投 入到计算机上运行
5)有穷性 一个算法总是在执行了有穷步的运算之后终止。 计算过程:只满足确定性、能行性、输入、输出四个特 性但不一定能终止的一组规则。 • 准确理解算法和计算过程的区别: ➢ 不能终止的计算过程:操作系统 ➢ 算法是“可以终止的计算过程” ➢ 算法的时效性:只能把在相当有穷步内终止的算法投 入到计算机上运行
(@算法和程序 程序:一个计算机程序是对一个算法使用某种 程序设计语言的具体实现 ·任何一种程序设计语言都可以实现任何一个算 法 ·算法的有穷性意味着不是所有的计算机程序都 是算法
算法和程序 • 程序:一个计算机程序是对一个算法使用某种 程序设计语言的具体实现 • 任何一种程序设计语言都可以实现任何一个算 法 • 算法的有穷性意味着不是所有的计算机程序都 是算法
(@以两段西法的情性:7 void fun1o[ n=2 yhi|e(mh‰2=0 违反有穷性 n+2 print n o void fun2O[ whi le(y>0 违反确定性 X-X/y y=y-1 pr int x, y: I
以下两段程序是否具备算法的特性? • void fun1(){ n=2; while(n%2==0) n=n+2; print n;} • void fun2(){ while(y>0) {x=x/y y=y-1} print x,y;} 违反有穷性 违反确定性
>被实践证明是有用的 基本设计策略 3.我们的主要任务 算法学习将涉买个方面的内容: 1)设计算法:创造性的活动>算法所需时间和空间 2)表示算法:思想的表示形的定量分析 3)确认算法:证明算 恒序的证明 4)分析算法:算法时空特性分析 5)测试程序:“调试只能指出有错误,而不能指出 它们不存在错误” 本课程集中于学习算法的设计与分析。通过学习,掌握计 算机算法设计和分析基本策略与方法,为设计更复杂、更有 效的算法奠定基础
3. 我们的主要任务 算法学习将涉及5个方面的内容: 1)设计算法:创造性的活动 2)表示算法:思想的表示形式 3)确认算法:证明算法的正确性 程序的证明 4)分析算法:算法时空特性分析 5)测试程序: “调试只能指出有错误,而不能指出 它们不存在错误” • 本课程集中于学习算法的设计与分析。通过学习,掌握计 算机算法设计和分析基本策略与方法,为设计更复杂、更有 效的算法奠定基础。 ➢ 被实践证明是有用的 基本设计策略 ➢ 算法所需时间和空间 的定量分析
( 4.课程关系 数据结构、离散数学 程序设计语言:结构化设计 数学基础 非数值计算领域的基本知识
4. 课程关系 数据结构、离散数学 程序设计语言:结构化设计 数学基础 非数值计算领域的基本知识