《数据结构(C语言描述)(第2版)》教学课件1-03算法及算法分析_第1页
《数据结构(C语言描述)(第2版)》教学课件1-03算法及算法分析_第2页
《数据结构(C语言描述)(第2版)》教学课件1-03算法及算法分析_第3页
《数据结构(C语言描述)(第2版)》教学课件1-03算法及算法分析_第4页
《数据结构(C语言描述)(第2版)》教学课件1-03算法及算法分析_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2016数据结构Data structure讲授:简勇 算法及算法分析常州信息职业技术学院02三、链表的插入03算法及算法分析0.3123452算法的重要特性 输入:一个算法应该有零个或多个输入。有穷性:一个算法必须在执行有穷步骤之后正常结束,而不能形成无穷循环。确定性:算法中的每一条指令必须有确切的含义,不能产生多义性。 可行性:算法中的每一条指令必须是切实可执行的,即原则上可以通过已经实现的基本运算执行有限次来实现。输出:一个算法应该有一个或多个输出,这些输出是同输入有某个特定关系的量。 1算法:是对特定问题求解步骤的一种描述,是求解步骤(指令)的有限序列。一个算法是将输入转换为输出的计算

2、步骤。一、算法及其特性04算法及算法分析0.312343算法描述:算法描述的方法主要有以下4种:(1)框图算法描述:使用流程图或N-S图来描述算法。(2)非形式算法描述:使用自然语言(中文或英文)和程序设计语言中的语句来描述算法。这类描述方法自然、简洁,但缺乏严谨性和结构性。(3)类高级语言算法描述:使用类C或C+的所谓伪语言来描述算法。这种算法不能直接在计算机上运行,但专业设计人员经常使用它来描述算法,它具有容易编写、阅读和格式统一的特点。(4)高级语言算法描述:使用高级语言来描述算法。这是可以在计算机上运行并获得结果的算法描述。本课程将采用 C语言进行算法描述。4算法与程序的关系算法和程序

3、都是用来表达解决问题的逻辑步骤;算法是对解决问题的方法的具体描述,程序是算法在计算机中的具体实现;程序是算法,但算法不一定是程序。05算法及算法分析0.3影响算法运行时间的因素主要包括:1算法设计的要求(1)正确性:算法应能正确地实现预定的功能和处理要求。(2)易读性:算法应易于阅读和理解,便于调试、修改和扩充。(3)健壮性:由正确的输入能够得到正确的输出。当遇到非法输入时应能作适当的反应或处理,而不会产生不需要或不正确的结果。通常从以下五个方面评价算法的质量:(4)高效性:解决同一问题所执行时间越短,算法的时间效率就越高。(5)低存储量:解决同一问题所占用存储空间越少,算法的空间效率就越高。2影响算法运行时间的因素(1)计算机硬件。(2)实现算法的语言。(3)编译生成的目标代码的质量。(4)问题的规模。二、算法分析06算法及算法分析0.33算法的时间效率分析一个算法所耗费的时间,应该是该算法中每条语句执行时间之和,而每条语句执行时间是该语句执行次数(也称为频度)与该语句执行一次所需时间的乘积。但当算法转换为程序之后,每条语句执行一次所需的时间取决于机器的指令性能、速度以及编译所产生的代码质量,这是很难确定的。我们假设每条语句执行一次所需的时间均是单位时间,这样,一个算法的时间耗费,就是该算法中所有语句执行频度之和。于是,我们就可以独立于机器的软、硬件系统来分析算法的时间耗费

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论