网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构C语言版课件作者吴子东第1章节绪论.ppt

数据结构C语言版课件作者吴子东第1章节绪论.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.1 数据结构的基本概念和术语 1. 数据(Data) 是指能输入到计算机中并能被计算机处理的一切对象。 2. 数据元素(Data Element) 是一个数据整体中相对独立的单位。 3. 数据对象(Data Object) 是具有相同性质的数据元素的集合,是数据的一个子集。 4.数据结构(Data Structure) 是指相互之间存在着一种或多种特定关系的数据元素的集合。 数据元素之间的相互关系包括三个方面:数据的逻辑结构、存储结构和运算方法。 ⑴ 逻辑结构 数据的逻辑结构可以看作是从具体问题抽象出来的数学模型,它反映的是数据元素之间的相互关系。 Data_Structure=(D,S) 其中Data_Structure表示某一种逻辑结构,D是该结构中数据元素的有限集合,S是D上关系的有限集合。 例 根据下表所给数据,用二元组表示法和图形表示法构造线性结构、树形结构和图形结构。 1) 线性结构的二元组表示 Line_List=(D,S) 其中 2) 树形结构的二元组表示 Tree=(D,S) 其中 3) 图形结构的二元组表示 Graph=(D,S) 其中 D={1,2,3,4,5,6,7} S={1,2,2,1,1,4,4,1,2,3,3,2,2,6,6,2,2,7,7,2,3,7,7,3,4,6,6,4,5,7,7,5} ⑵ 物理结构(存储结构) 存储结构表示的是数据元素及其关系在计算机的存储器中的物理位置。 1)顺序存储 把逻辑上相邻的元素存储在物理位置相邻的存储单元中。 2)链式存储 对逻辑上相邻的元素并不要求其物理位置一定相邻,元素间的逻辑关系可以通过指针的链接来表示。 3)索引存储 在存储数据元素本身之外,再建立一张指示逻辑数据与物理数据之间一一对应关系的表,即索引表。 4)散列存储 由数据元素的值来确定存储地址,由于该地址是元素值的函数,因此,该函数也称散列函数。 ⑶ 运算方法 是对已建立的逻辑结构和存储结构的具体操作。 1) 加工型运算 其操作改变了原结构中数据元素的个数或数据元素的内容。 基本运算 :插入、删除、更新、排序 2) 引用型运算 其操作不改变原结构中数据元素的个数或数据元素的内容,只是从结构中提取某些信息作为运算的数据。 基本运算 :查找、读取 5. 数据类型(Data Type) 是一个值的集合和定义在这个值集合上的一组操作的总称。 数据类型中定义了两个集合:值的集合和操作集合 数据类型可分为两类:一类是原子类型,另一类则是结构类型。原子类型的值是不可分解的。而结构类型的值是由若干成分按某种结构组成的。 6. 抽象数据类型(Abstruct Data Type,简称ADT) 由一组数据结构和在该组数据结构上的一组操作所组成。 抽象数据类型和数据类型实质上是一个概念 。 抽象数据类型可以用以下三元组表示: (D,S,P) 其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。 7. 算法(Algorithm) 是对特定问题求解步骤的一种描述,是指令的有限序列。 ⑴ 有穷性 一个算法必须在执行有限步之后结束,即必须在一定时间内完成。 ⑵ 确定性 算法中的每一条指令必须有确切的定义,无二义性。在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入仅有唯一的一条输出路径。 ⑶ 可行性 一个算法是可行的,即算法中描述的各种操作都可以通过已知的一组基本运算来实现。 ⑷ 输入 一个算法可以具有零个或多个输入,这些输入取自特定的数据对象集合。 ⑸ 输出 一个算法必须有一个或多个输出,这些输出是算法对输入进行运算的结果。 作业 1.数据的非线性结构有那几种,各自的特点是什么? 2.做教材习题中的以下题目。 单项选择题:(1),(3) 填空题:(1),(2),(3) 应用题:(1) 1.2 算法描述和算法分析 1.2.1 算法描述 1.2.2 算法分析 作业 1.2.1 算法描述 程序流程图 ⒋ 程序设计语言和伪代码 直接使用某种程序设计语言来描述算法 。 伪码语言介于高级程序设计语言和自然语言之间,它忽略高级程序设计语言中一些严格的语法规则与描述细节。因此它比程序设计语言更容易描述和被人理解,而比自然语言更接近程序设计语言。 5. C语言做为算法描述语言 ⑴ C数据类型概述 C语言数据类型如表所示。 ⑵ C语言使用的基本语句 ⑵ C

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档