数据结构间的纵横联系_计算机论文.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构间的纵横联系_计算机论文.doc

数据结构间的纵横联系_计算机论文 数据结构间的纵横联系_计算机论文 摘 要 本文详细阐述了数据结构间的纵横联系,所谓“横向联系”是对各种数据结构研究都从逻辑结构、存储结构、操作运算三方面出发的模式思想,所谓“纵向联系”是以简单数据结构类型为基础来实现对较复杂数据结构类型的研究。 关键词 逻辑结构 存储结构 操作运算 横向联系 纵向联系1 引言 数据结构作为计算机核心学科,其主要研究内容:逻辑结构,物理存储结构,操作(或算法)[1]。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。 根据数据元素之间不同特性,把数据结构划分四种基本结构:(1)集合,(2)线型结构,(3)树型结构,(4)图状结构或网状结构。针对每种数据结构均从逻辑结构、存储结构和操作运算等方面进行研究,是贯穿数据结构研究始终的 “红线”,也是数据结构研究的共同切入点,称之为数据结构的“横向联系”。从集合、线型结构等基本数据结构入手,以实现树形结构、图或网状结构等较复杂结构研究,实现数据元素间的关系从简单到复杂探讨,称之为“纵向联系”。 2 逻辑结构、存储结构、操作运算的思想模式——数据结构间的横向联系 逻辑结构的定义、存储结构的实现、操作运算的实现是对数据结构研究的基本思想,一种数据结构的研究首先对这三方面内容有一个清晰的探讨。 集合数据结构与数学中集合概念是一致的,其逻辑结构元素间只是同属关系。存储结构实现只是在计算机内存储,它的操作就是一些交、差、并、补等。 线型结构是N个数据元素的有限序列,至于每一个数据元素的具体的含义在不同的情况下各不相同,其长度可根据需要增长或缩短,其逻辑结构就是它的数据元素间的线形关系,即一个对一个,一个元素最多有一个前驱,最多有一个后继。它的存储结构的实现一般有顺序存储和链式存储两种方法。顺序表是指用一组地址连续的存储单元依次存储线性结构中的数据元素,这是一种随机存取的存储结构;链式存储是数据元素之间的逻辑关系由结点中的指针来表示并且每一个结点有且只有一个指针域。线性结构的操作中,最基本的操作是在线性结构中插入、删除数据元素。存储结构为顺序存储有线性顺序表、数组、串等。存储结构为链式存储结构时有链表等。根据线性表的操作的不同便产生了两种重要的数据结构即栈和队列,这两种数据结构是线性结构的典型例子[2]。 树型结构是一种重要的非线性结构,其中的树和二叉树最为常用。直观看来,树是以分支关系定义的层次结构,其逻辑结构是一对多的关系,而在二叉树中是一个根结点对应左右两个孩子的层次关系。存储结构的实现当采取顺序存储时用一组地址连续的存储单元依上而下、自左向右存储树中的结点元素。在链式存储结构中可采用二叉链表表示法即链表中结点的两个链域分别指向该结点的第一个孩子和下一个兄弟结点,树形结构的最基本的操作是遍历,其它复杂的操作大部分就是遍历操作的衍生与扩展。在树型结构中最有特色的一种数据结构就是二叉树,其独特的逻辑结构是每个结点至多有二棵子树并且还有左右之分,这就决定着它独特的链式存储结构,每个数据元素有且只有两个指针分别指向该结点的左右孩子。二叉树的最基本的操作是遍历二叉树,对每个结点的访问是对其它复杂操作的基础,例如统计结点个数、统计叶子结点数、交换二叉树的左右孩子等一些复杂的操作运算均是遍历二叉树操作的扩展和衍生。基于二叉树的递归定义可得到遍历二叉树递归算法,前序遍历、中序遍历、后序遍历二叉树。 图状结构是一种较线型结构和树更复杂的数据结构,图的逻辑结构是多对多的关系即在图形结构中结点之间的关系是任意的。因此在存储结构中无法以数据元素在存储区中的物理位置来表示数据元素间的关系。即图没有顺序映象但可以借助数组的数据类型表示元素之间的关系,用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系信息[3]。另一方面图的存储结构也可由多重链表实现,即一个由一个数据域和多个指针域组成的结点来表示图中的一个顶点,其中数据域存储该顶点的信息,指针域存储指向邻接点的指针,但由于图中各个结点的度各不相同,结点的指针域设定不易确定,则图的链式存储结构可用邻接多重表表示法,对图中每个顶点建立一个单链表,第一个单链表的结点表示依附于顶点V的边,每个结点由三个域组成其中邻接点域指示顶点V的邻接点在图中的位置,链域指示下一条边或弧的结点,数据域存储和边或弧相关的信息,如权值等。每个链表附有一个表头结点。在表头结点中除了设有链域指向链表中第一个结点外还设有存储顶点的名或其它有关信息的数据域,这样实现了图的链式存储。遍历是最基本的操作也是最重要的操作运算,它是求解图的连通性、拓扑排序和求关键路径的基础,然而图的遍历比树的遍历复杂的多,因为图的任一顶点都有可能和其余的顶点相邻接。所以在访问某个顶点之后可能沿着某条路径搜索之后又

您可能关注的文档

文档评论(0)

wyj199218 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档