算法设计与分析电子教案第1章算法引论
22页1、1,中国计算机学会 “21世纪大学本科计算机专业系列教材” 算法设计与分析,王晓东 编著,2,主要内容介绍,第1章 算法引论 第2章 递归与分治策略 第3章 动态规划 第4章 贪心算法 第5章 回溯法 第6章 分支限界法,3,主要内容介绍(续),第7章 概率算法 第8章 NP完全性理论 第9章 近似算法 第10章 算法优化策略,4,第1章 算法引论,1.1 算法与程序 1.2 表达算法的抽象机制 1.3 描述算法 1.4 算法复杂性分析,本章主要知识点:,5,1.1 算法与程序,输 入:有零个或多个外部量作为算法的输入。 输 出:算法产生至少一个量作为输出。 确定性:组成算法的每条指令清晰、无歧义。 有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。,是算法用某种程序设计语言的具体实现。 程序可以不满足算法的性质(4)即有限性。,是满足下述性质的指令序列。,算法:,程序:,6,1.从机器语言到高级语言的抽象,1.2 表达算法的抽象机制,高级程序设计语言的主要好处是:,(4)把繁杂琐碎的事务交给编译程序,所以自动化程度高,开发周期短,程序员可以集中时间和精力从事更重要的创造
2、性劳动,提高程序质量。,(1)高级语言更接近算法语言,易学、易掌握,一般工程技术人员只需 要几周时间的培训就可以胜任程序员的工作;,(2)高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;,(3)高级语言不依赖于机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可植性好、重用率高;,7,2.抽象数据类型,1.2 表达算法的抽象机制,抽象数据类型是算法的一个数据模型连同定义在该模型上 并作为算法构件的一组运算。,抽象数据类型带给算法设计的好处有:,(1)算法顶层设计与底层实现分离; (2)算法设计与数据结构设计隔开,允许数据结构自由选择; (3)数据模型和该模型上的运算统一在ADT中,便于空间和时间耗费的折衷; (4)用抽象数据类型表述的算法具有很好的可维护性; (5)算法自然呈现模块化; (6)为自顶向下逐步求精和模块化提供有效途径和工具; (7)算法结构清晰,层次分明,便于算法正确性的证明和复杂性的分析。,8,在本书中,采用Java语言描述算法。 1.Java程序结构,1.3 描述算法,以下,对Java语言的若干重要特性作简要概
3、述。,(1)Java程序的两种类型:应用程序和applet 区别:应用程序的主方法为main,其可在命令行中用命令 语句 java 应用程序名 来执行; applet的主方法为init,其必须嵌入HTML文件,由 Web浏览器或applet阅读器来执行。,(2)包:java程序和类可以包(packages)的形式组织管理。,(3)import语句:在java程序中可用import语句加载所需的包。 例如,import java.io.*;语句加载java.io包。,9,1.3 描述算法,2.Java数据类型,Java对两种数据类型的不同处理方式:,s = new String(“Welcome”); String s = new String(“Welcome”);,10,1.3 描述算法,表格1-1 Java基本数据类型,11,1.3 描述算法,3.方法,在Java中,执行特定任务的函数或过程统称为方法(methods) 。 例如,java的Math类给出的常见数学计算的方法如下表所示:,12,1.3 描述算法,3.方法,计算表达式 值的自定义方法ab描述如下:,public sta
4、tic int ab(int a, int b) return (a+b+Math.abs(a-b)/2; ,(1)方法参数:Java中所有方法的参数均为值参数。上述方法ab中,a和b 是形式参数,在调用方法时通过实际参数赋值。,(2)方法重载:Java允许方法重载,即允许定义有不同签名的同名方法。 上述方法ab可重载为:,public static double ab(double a, double b) return (a+b+Math.abs(a-b)/2.0; ,13,1.3 描述算法,4.异常,Java的异常提供了一种处理错误的方法。当程序发现一个错误,就引发一个异常,以便在合适地方捕获异常并进行处理。,通常用try块来定义异常处理。每个异常处理由一个catch语句组成。,public static void main(String args) try f ( ); catch (exception1) 异常处理; catch (exception2) 异常处理; finally finally块; ,14,1.3 描述算法,5.Java的类,(4)访问修饰,Java的类一
《算法设计与分析电子教案第1章算法引论》由会员E****分享,可在线阅读,更多相关《算法设计与分析电子教案第1章算法引论》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-03-21 39页
2024-03-21 41页
2024-03-21 40页
2024-03-21 34页
2024-03-21 33页
2024-03-21 35页
2024-03-21 21页
2024-03-21 45页
2024-03-21 33页
2024-02-20 85页