计算机软件技术基础 教学课件 作者 杨建军 第4章 算法与数据结构.ppt

计算机软件技术基础 教学课件 作者 杨建军 第4章 算法与数据结构.ppt

ID:50212407

大小:59.00 KB

页数:9页

时间:2020-03-10

计算机软件技术基础 教学课件 作者 杨建军 第4章 算法与数据结构.ppt_第1页
计算机软件技术基础 教学课件 作者 杨建军 第4章 算法与数据结构.ppt_第2页
计算机软件技术基础 教学课件 作者 杨建军 第4章 算法与数据结构.ppt_第3页
计算机软件技术基础 教学课件 作者 杨建军 第4章 算法与数据结构.ppt_第4页
计算机软件技术基础 教学课件 作者 杨建军 第4章 算法与数据结构.ppt_第5页
资源描述:

《计算机软件技术基础 教学课件 作者 杨建军 第4章 算法与数据结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章算法与数据结构主讲教师:杨建军Talentscomefromdiligence,andknowledgeisgainedbyaccumulation.天才源于勤奋,知识源于积累。教学重点算法及其表示常用算法结构分析数据结构表示与描述常用数据结构表示与描述(线性表、二叉树、图)查找和排序文件及其组织结构4.1算法1.算法的定义算法(Algorithm)是一系列解决问题的清晰指令,算法代表用系统的方法描述解决问题的策略机制。算法应该能够对一定规范的输入,在有限时间内获得所要求的输出。算法也可以理解为有基本运算及规定的运算顺序

2、所构成的完整的解题步骤。或者将算法看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。4.1算法2.算法的特征一个算法应该具有以下五个重要的特征:(1)有穷性(Finity)算法的有穷性是指算法必须能够在执行有限个步骤之后终止。(2)确定性(Unambiguousness)算法的每一个步骤必须有确切的定义,语意不能存在二义性。(3)能行性(Realizability)算法中执行的任何计算步都可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成。(4)输入(Input)一个算法可以有0

3、个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件。(5)输出(Output)一个算法必须有一个或多个输出,以反映对输入数据加工后的结果。没有任何输出的算法是毫无意义的。4.1算法的概念3.算法的评价标准对于一个特定的计算机问题,如果采用的数据结构不同,其设计的算法一般也不同。即使采用同一种数据结构,也可以使用不同的算法。那么,对于解决同一问题的各种算法,究竟选择哪一种算法比较合适,以及如何对已有的算法进行改进,从而设计出更适合数据结构的算法,这就是算法评价的问题。评价一个算法优劣的主要标准如下:(

4、1)正确性(Correctness)。算法的执行结果应当满足预先设定的功能和性能的要求,这是评价一个算法最基本的标准,也是最重要的标准。算法的正确性还应该包括对于输入、输出处理的明确而无歧义的描述。(2)可读性(Readability)。一个好的算法应当思路清晰、层次分明、简单明了、易读易懂。即使算法已转变成计算机可执行的代码,也需要考虑人能较好地阅读理解。一个可读性强的算法也有助于排除算法中隐藏的错误。(3)健壮性(Robustness)。一个算法应该具备很强的容错能力,当用户输入不合法的数据时,算法应当能做出适当的处理,而

5、不至于引起严重的后果。健壮性要求算法应全面细致地考虑所有可能出现的异常情况和边界情况,并对这些情况做出妥善的处理,尽可能避免意外情况的发生。(4)运行时间(RunningTime)。运行时间是指一个算法在计算机上运行所花费的总时间,它等于算法中所有语句执行时间的总和。如果对于同一个问题有多个算法可以选择,那么应尽可能选择执行时间较短的算法。一般情况下,算法的执行时间越短,说明算法的性能越好。(5)占用空间(StorageSpace)。占用空间是指一个算法在计算机上存储所占用的存储空间,其中包括存储算法本身所占用的存储空间、算法

6、输入及输出数据所占用的存储空间和算法在运行过程中临时所占用的存储空间。算法占用的存储空间是指算法在执行过程中所需要的最大存储空间,如果对于一个问题有多个算法可供选择,那么应尽可能选择存储量需求较低的算法。4.1算法4算法的表示算法的表示可以采用自然语言、伪代码或流程图的方式进行描述。早期的编程语言“ALGOL”就叫做算法语言。后来人们发现用编程语言描述算法过于严格,于是就用伪代码进行算法的设计,再用编程语言来实现这个设计。也就是说,“用伪代码写算法,用编程语言写程序”。伪代码没有统一的标准,例如类PASCAL、类VB、类C之类

7、的伪代码,也不尽相同。4.3查找与排序4.3.2排序排序(Sort)是计算机内经常进行的一种操作,其目的是将一组同类型的记录序列调整为按照元素关键字有序的记录序列。例如将学生记录按学号排序,将课程记录按课程编码排序。4.3查找与排序冒泡排序冒泡排序的基本思路是:第一趟排序对全部记录R1,R2,…,Rn自左向右顺次两两比较,若Rk大于Rk+1则交换Rk和Rk+1(k=1,2,…,n-1),第一趟排序完成后Rn成为序列中最大记录。第二趟排序对序列前n-1个记录采用同样的比较和交换方法,第二趟排序完成后Rn-1成为序列中仅比Rn小的

8、次大的记录。第三趟排序对序列前n-2个记录采用同样处理方法。如此做下去,最多做n-1趟排序,整个序列就排序完成。图4.33显示了在序列{45,21,13,18,21}上应用冒泡排序的过程。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。