- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第一章讲.ppt
数据结构(C语言版本) ;前 言 ; 第1章 绪论;1.1 引言 ;
因此,再把电子数字计算机简单地看作是进行数值计算的工具,把数据仅理解为纯数值性的信息,就显得太狭隘了。现代计算机科学的观点,是把计算机程序处理的一切数值的、非数值的信息,乃至程序统称为数据(Data),而电子计算机则是加工处理数据(信息)的工具。
由于数据的表示方法和组织形式直接关系到程序对数据的处理效率,而系统程序和许多应用程序的规模很大,结构相当复杂,处理对象又多为非数值性数据。因此,单凭程序设计人员的经验和技巧已难以设计出效率高、可靠性强的程序。于是,就要求人们对计算机程序加工的对象进行系统的研究,即研究数据的特性以及数据之间存在的关系——数据结构(Date Structure)。
;1.2 数据结构的发展简史及其在计算机科学中所处的地位;地位:
“数据结构”在计算机科学中是一门综合性的专业基础课。
数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。
数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。;1.3 什么是数据结构; 表 1-1 个人书库;
2.结点
结点也叫数据元素,它是组成数据的基本单位。在程序中通常把结点作为一个整体进行考虑和处理。例如,在表1-1所示的个人书库中,为了便于处理,把其中的每一行(代表一本书)作为一个基本单位来考虑,故该数据由10个结点构成。
一般情况下,一个结点中含有若干个字段(也叫数据项)。例如,在表1-1所示的表格数据中,每个结点都有登录号、书号、书名、作者、出版社和价格等六个字段构成。字段是构成数据的最小单位。
;
3.逻辑结构
结点和结点之间的逻辑关系称为数据的逻辑结构。
在表1-1所示的表格数据中,各结点之间在逻辑上有一种线性关系,它指出了10个结点在表中的排列顺序。根据这种线性关系,可以看出表中第一本书是什么书,第二本书是什么书,等等。
4.存储结构
数据在计算机中的存储表示称为数据的存储结构。
在表1-1所示的表格数据在计算机中可以有多种存储表示,例如,可以表示成数组,存放在内存中;也可以表示成文件,存放在磁盘上,等等。
;
5.数据处理
数据处理是指对数据进行查找、插入、删除、合并、排序、统计以及简单计算等的操作过程。在早期,计算机主要用于科学和工程计算,进入八十年代以后,计算机主要用于数据处理。据有关统计资料表明,现在计算机用于数据处理的时间比例达到80%以上,随着时间的推移和计算机应用的进一步普及,计算机用于数据处理的时间比例必将进一步增大。
;6.数据结构(Data Structure)
数据结构是研究数据元素(Data Element)之间抽象化的相互关系和这种关系在计算机中的存储表示(即所谓数据的逻辑结构和物理结构),并对这种结构定义相适应的运算,设计出相应的算法,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。
为了叙述上的方便和避免产生混淆,通常我们把数据的逻辑结构统称为数据结构,把数据的物理结构统称为存储结构(Storage Structure)。
;四种基本数据结构:
(1)集合:结构中的数据元素之间除了“同属于一个集合”的关
系外,别无其他关系。
(2)线性结构:结构中的数据元素之间存在一个对一个的关系。
如:图书馆的书目检索系统
(3)树形结构:结构中的数据元素存在一个对多个的关系。
如:计算机和人对奕问题 工厂的组织管理
(4)图状结构:结构中的数据元素存在多个对多个的关系。
如:多叉路口的交通灯管理问题 最短路径问题
同一个逻辑结构可以有不同的内部存储结构;反之,数据的存储结构一定要映像数据之间的逻辑关系。
数据结构的形式定义:数据结构是一个二元组
data_structure=(D,S)
其中:D是数据元素的有限集,S是D上关系的有限集。
;例1 一种结构 lineority=(K,R)
K={k1,k2,k3,k4,k5,k6,k7}
R={r}
r={k3,k1,k1,k5,k5,k6,k6,k4,k4,k2,k2,k7}
则有:k3-k1-k5-k6-k4-k2-k7 一种线性结构
例2 tree=(K,R)
K={01,02,
文档评论(0)