第一章 算法与程序精选文档.ppt
《第一章 算法与程序精选文档.ppt》由会员分享,可在线阅读,更多相关《第一章 算法与程序精选文档.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 算法与程序5/3/20231本讲稿第一页,共四十六页数据结构课程地位l 数据结构与其它课程关系图:数据结构与其它课程关系图:数据结构数据库数据库人工智能人工智能专业基础课专业基础课操作系统操作系统编译原理编译原理非线性程序设计非线性程序设计离散数学离散数学语言程序设计语言程序设计计算机原理设计计算机原理设计5/3/20232本讲稿第二页,共四十六页数据结构的应用程序=算法+数据结构例:火车进出站问题例:火车进出站问题5/3/20233本讲稿第三页,共四十六页参考书籍数据结构(C语言版)严蔚敏C程序设计(第三版)谭浩强 5/3/20234本讲稿第四页,共四十六页课程安排l本课程理论教学5
2、0学时,实践教学20学时,共70学时,实验为五个实验序号序号实验项目名称实验项目名称实验学时实验学时实验类型实验类型一一线性表及其应用线性表及其应用(多项式相加、相多项式相加、相乘乘)4验证验证二二哈夫曼树及哈夫曼编码译码的实哈夫曼树及哈夫曼编码译码的实现现4验证验证三三Dijkstra最短路径最短路径或或Prim最小生成树最小生成树4验证验证四四实现实现Fibonacci检索算法检索算法4验证验证五五快速、堆、基数排序算法的设计快速、堆、基数排序算法的设计4综合综合5/3/20235本讲稿第五页,共四十六页第一章 算法与程序算法与程序5/3/20236本讲稿第六页,共四十六页第1章 算法与程
3、序l1.11.1 算法的基本概念算法的基本概念l1.2 1.2 算法的表示算法的表示l1.31.3 算法的设计与评价算法的设计与评价l1.41.4 算法与程序算法与程序5/3/20237本讲稿第七页,共四十六页1.1.11.1.1什么是算法什么是算法从欧几里德算法谈起l例:求解两个正整数m和n的最大公因子的欧几里德算法。以n除m,并令所得余数为r(必有rn)。若r为0,输出结果n,算法结束;否则继续步骤。令m=n,n=r,返回步骤,继续进行。思考:最小公倍数该如何计算?思考:最小公倍数该如何计算?5/3/20238本讲稿第八页,共四十六页1.1.11.1.1什么是算法什么是算法算法是求解问题的
4、方法和步骤。算法是求解问题的方法和步骤。这些方法与步骤是机械的,甚至繁琐,工这些方法与步骤是机械的,甚至繁琐,工作量巨大的,定义了这样机械的步骤后,作量巨大的,定义了这样机械的步骤后,就可以交给机器处理就可以交给机器处理比如:圆周率的计算方法与步骤。比如:圆周率的计算方法与步骤。5/3/20239本讲稿第九页,共四十六页1.1.2 1.1.2 算法的基本特性1.输 入:有多个或0个输入 2.输 出:至少有一个或多个输出。3.确定性:算法中的每一个步骤必须有确定含义,无二义性得以实现。4.有穷性:有限步骤之内正常结束,不能形成无穷循环5.有效性:即算法的可行性,所描述的操作都是建立在可以通过、已
5、经实现的基本运算的基础上。5/3/202310本讲稿第十页,共四十六页1.2 算法的表示 l1.2.1 自然语言 如:上述中欧几里德算法的3步骤 l 优点:易理解;l 缺点:易产生歧义、描述冗长、不简洁、不直观5/3/202311本讲稿第十一页,共四十六页1.2.2 流程图的表示:表示算法的起止:表示输入输出:表示判断语句:表示处理:如赋值,加减等:表示算法的走向:表示解释5/3/202312本讲稿第十二页,共四十六页1.2.2 流程图的表示 优点:易理解、步骤清晰;缺点:不易表示层次结构、过早考虑流程而忽视数据结构、篇幅大、编辑费时费力 结束开始输入m,nm mod nrr=0?n m,r
6、n输出n5/3/202313本讲稿第十三页,共四十六页1.2.3 N-S图四种基本图形ABPABTF当PA直到P5/3/202314本讲稿第十四页,共四十六页1.2.3 N-S图欧几里德算法的欧几里德算法的N-S图表示图表示输入输入m,nm mod n r输出输出nn m,r nWhile r不等于不等于0 repeatM mod n r5/3/202315本讲稿第十五页,共四十六页1.2.4 伪代码表示lbeginl input m,nl m mod n rl while r0 dol beginl n ml r nl m mod n rl endl output nl end 优点:无须严
7、格的语法、简练;缺点:不直观5/3/202316本讲稿第十六页,共四十六页1.2.5 程序语言表示l#include lvoid main()ll int m,n,r;l coutm;l coutn;l r=m%n;l while(r!=0)l l m=n;n=r;l r=m%n;l l cout”the biggest common factor is”n;l5/3/202317本讲稿第十七页,共四十六页1.3 算法的设计与评价1.3.1 评价算法的标准 正确性:满足具体问题的要求,结果正确,能解决实际问题,经得起一切可能输入的考验;可读性:算法描述可以阅读、理解,便于交流和审核;健壮性(鲁
8、棒性):能应对异常,控制程序的执行;高效率:既要在尽可能短的时间内执行完成,又要尽可能地节省存储空间。(5)简洁性:所设计出来的算法要尽可能地简洁。5/3/202318本讲稿第十八页,共四十六页1.3.2算法的时间和空间效率 与时间有关l算法执行时间l算法执行时间复杂度l复杂度计算方法常见法则l平均时间复杂度和最坏或最好时间复杂度与空间有关l算法空间复杂度5/3/202319本讲稿第十九页,共四十六页1.3.2算法的时间和空间效率 1.算法执行时间 算法执行时间=每条语句执行次数(频度)这里假设每条语句执这里假设每条语句执行的时间都是单位时行的时间都是单位时间;间;这些语句包括加法语句,这些语
9、句包括加法语句,赋值语句等赋值语句等不是具体的时间,而不是具体的时间,而是所有语句执行次数是所有语句执行次数总和;总和;5/3/202320本讲稿第二十页,共四十六页1.3.3算法的时间和空间效率 例:计算两矩阵相乘所耗费的时间l 1 for(i=1;i=n;i+)l 2 for(j=1;j=n;j+)l 3 cij=0;l 4 for(k=1;k=n;k+)l 5 cij=cij+aik*bkj;l 对应的语句频度对应的语句频度总执行次数为总执行次数为n的函数:的函数:T(n)=2n3+3n2+n+1n+1n(n+1)n2n2(n+1)n35/3/202321本讲稿第二十一页,共四十六页1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 算法与程序精选文档 算法 程序 精选 文档
限制150内