- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 绪论 1.1 什么是数据结构 1.1.1 数据结构的产生与发展 3个阶段:无结构阶段、结构化程序设计阶段和面向对象阶段。 20世纪40年代至60年代是无结构阶段,程序设计主要针对科学计算,所涉及的数据对象比较单纯,程序以算法为中心,程序的设计语言是机器语言或汇编语言。 20世纪60年代末至80年代是结构化程序设计阶段,这一阶段人们已经认识到了程序设计的规范化的重要性,提出程序结构模块化 ,程序模块的内部只允许三种结构即顺序、分支和循环。计算机开始广泛应用于非数值处理领域 ,程序中常用的一些数据结构,如表、栈、队、树、图等被单独研究。 面向对象技术兴起于20世纪80年代初,在面向对象技术中,数据是程序的主体,对象是划分与构造软件系统的基本单位,这与以前的以功能为中心, 软件开发采用功能分解的方法有本质不同。面向对象技术实质上是数据结构概念的自然扩展与继续,随着面向对象技术的发展, 数据结构自身也在不断地发展。 1.1.2 数据结构的基本概念 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。 (1)数据 数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。它是计算机程序加工的“原料”。 (2)数据元素 数据元素是数据的基本单位, 在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位。 (3)数据对象 数据对象是性质相同的数据元素的集合,是数据的一个子集。 (4)数据结构 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 1.1.3 数据的逻辑结构 在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构。根据数据元素之间关系的不同特性,通常有下列4类基本结构: (1)集合 集合结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。 (2)线性结构 结构中的数据元素之间存在一个对一个的关系。 (3)树形结构 树形结构中的数据元素之间存在一个对多个的关系。 (4)图状结构(网状结构) 图状结构中的数据元素之间存在多个对多个的关系。 上述4类基本结构的关系下图所示。 数据结构在形式上可以定义为一个二元组 Data-Structure = (D,S) 其中, D是数据元素的有限集,S是D上关系的有限集。 上述数据结构的定义仅是对操作对象的一种数学描述,它与数据的存储无关,是独立于计算机的,是从具体的问题中抽象出来的数学模型。结构定义中的“关系”描述的是数据元素之间的逻辑关系,因此又称为数据的逻辑结构。然而,讨论数据结构的目的是为了在计算机中实现对它的操作,因此还需研究如何在计算机中表示它。 1.1.4 数据的存储结构 数据结构在计算机中的表示(又称映像)称为数据的物理结构,又称存储结构。 1.顺序存储方法 顺序存储方法是将逻辑上相邻的结点存储在物理位置上也相邻的存储单元里,结点之间的逻辑关系由存储单元的邻接关系来表示,这样只需存储结点的值,不必存储结点之间的关系,这种存储表示称为顺序存储结构。它主要应用于线性的数据结构,非线性的数据结构也可以通过某种线性化的过程后,进行顺序存储。 顺序存储结构的主要特点如下。 (1)结点中只有自身信息域,没有连接信息域。因此存储密度大,存储空间利用率高。 (2)可以通过计算直接确定数据结构的中的任意一个结点的存储地址。 (3)插入和删除都会引起大量的结点移动。 2.链式存储方法 链式存储方法不要求逻辑上相邻的结点在物理位置上也相邻,结点间的关系由附加的指针来表示,指针指向结点的邻接结点,这样将所有结点串联在一起,称为链式存储结构,即链式存储方法不仅存储结点的值,而且还存储结点之间的关系。 链式存储方法中的结点由两部分组成,一是存储结点本身的值,称为数据域;二是存 储该结点的后继结点的存储单元地址,称为指针域, 指针域可以有一个或多个。 链式存储结构的主要特点如下: (1)结点中除自身信息外,还有表示连接信息的指针域,因此比顺序存储结构的存储密度小,存储空间利用率低; (2)逻辑上相邻的结点,物理上不必邻接,可用于线性表、树、图等多种逻辑结构的存储表示; (3)删除和插入操作灵活方便,不必移动结点,只要改变结点中的指针值即可。 3.索引存储方法 索引存储是在存储结点信息的同时,再建立一个附加的索引表,然后利用索引表中索引项的值来确定结点的实际存储单元地址。索引表中的每一项称为索引项,索引项的一般形式为
您可能关注的文档
- 沈阳工业大学文法学院行政法与行政诉讼法学课件 第十四章.ppt
- 沈阳工业大学文法学院行政法与行政诉讼法学课件 第十章.ppt
- 沈阳工业大学文法学院行政法与行政诉讼法学课件 第五章.ppt
- 沈阳工业大学文法学院行政法与行政诉讼法学课件 第一章.ppt
- 沈阳工业大学文法学院经济法学(二)课件 第二十八章.ppt
- 沈阳工业大学文法学院经济法学(二)课件 第二十二章.ppt
- 沈阳工业大学文法学院经济法学(二)课件 第二十九章.ppt
- 沈阳工业大学文法学院经济法学(二)课件 第二十六章.ppt
- 沈阳工业大学文法学院经济法学(二)课件 第二十七章.ppt
- 沈阳工业大学文法学院经济法学(二)课件 第二十三章.ppt
文档评论(0)