数据结构课件第一章绪论幻灯片.ppt

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. 熟悉各名词、术语的含义,掌握基本概念。 2. 理解算法五个要素的确切含义。 本章学习要点 3. 掌握计算语句频度和估算算法时间复杂度的方法。 中文 英文 数据 data 数据元素 data element 数据对象 data object 数据结构 data structure 逻辑结构 logical structure 存储结构 storage structure 数据类型 data type 抽象 abstract 抽象数据类型 abstract data type,简称ADT 算法 algorithm 程序 program 渐进复杂度 asymptotic complexity 问题规模 problem scope 基本语句 basic statement * * * * typedef struct { float realpart; float imagpart; }complex; // -----存储结构的定义 // -----基本操作的函数原型说明 void Assign( complex Z, float realval, float imagval ); // 构造复数 Z,其实部和虚部分别被赋以参数 // realval 和 imagval 的值 float GetReal( cpmplex Z ); // 返回复数 Z 的实部值 float Getimag( cpmplex Z ); // 返回复数 Z 的虚部值 void add( complex z1, complex z2, complex sum ); // 以 sum 返回两个复数 z1, z2 的和 // -----基本操作的实现 void add( complex z1, complex z2, complex sum ) { // 以 sum 返回两个复数 z1, z2 的和 sum.realpart = z1.realpart + z2.realpart; sum.imagpart = z1.imagpart + z2.imagpart; } { 其它省略 } 抽象数据类型概念 --抽象数据类型的表示与实现 C语言的角度理解,它有些类似C语言中的结构(struct)类型,但增加了相关的服务。从C++的角度理解,通过模板类来实现它。 在上机时要用具体语言实现,如C或C++等。 模板 (template):适合多种数据类型的类定义或算法,在特定环境下通过简单地代换,变成针对具体某种数据类型的类定义或算法。 1.3 算法和算法的衡量 一、算法 二、算法设计的原则 三、算法效率的衡量方法和准则 四、算法的存储空间需求 算法是为了解决某类问题而规定的一个有限长的操作序列。一个算法必须满足以下五个重要特性: 1.有穷性 2.确定性 3.可行性 4.有输入 5.有输出 一、算法 1.有穷性 对于任意一组合法输入值,在执行有穷步骤之后一定能结束,即: 算法中的每个步骤都能在有限时间内完成。 2.确定性 对于每种情况下所应执行的操作,在算法中都有确切的规定,使算法的执行者或阅读者都能明确其含义及如何执行。并且在任何条件下,算法都只有一条执行路径。 3.可行性 算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现之。 4.有输入 作为算法加工对象的量值,通常体现为算法中的一组变量。有些输入量需要在算法执行过程中输入,而有的算法表面上可以没有输入,实际上已被嵌入算法之中。 5.有输出 它是一组与“输入”有确 定关系的量值,是算法进行信息加工后得到的结果,这种确定关系即为算法的功能。 例题:考虑下列两段描述: (1)、 void exam1 ( ) (2)、void exam2 ( ) { n=2; { y=0; while (n%2==0) x=5/y; { n=n+2; printf(“%d,%d”,x,y)’; printf(“%d\n”,n); } } } 以上两段算法是否能满足算法的特性,如不满足,则违反了那些特性? 答案:(1)是死循环,违反了

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档