- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库zsh第1章
数 据 结 构 总 目 录 第1章 绪 论 第2章 线性表 第3章 链式存储结构 第4章 栈和队列 第5章 其他线性数据结构 第6章 树和二叉树 第7章 图 第8章 查找 第9章 内部排序 第1章 绪 论 1.1 引言 1.2 基本概念和术语 1.3 算法描述 1.4 算法分析 习题 1.1 引言 电子计算机是20世纪科学技术最卓越的成就之一。自1946年第一台电子计算机问世以来,计算机产业和应用的发展远远超出了人们对它的预料。如今,计算机的应用已不再局限于科学计算,而更多地用于数据处理、信息管理、实时控制等非数值计算的各个方面。用数字计算机解决任何问题都离不开程序设计。为了编制“好”的程序,必须分析程序处理的数据的特性及数据之间的关系,这就是“数据结构”这门学科形成和发展的背景。 数据结构主要研究非数值应用问题中数据之间的逻辑关系和对数据的操作,同时还研究如何将具有逻辑关系的数据按一定的存储方式存放在计算机内。 分析数据之间的逻辑关系和确定数据在计算机内的存储结构是程序设计前两个必须完成的任务。 处理非数值计算问题和数值计算问题的解决方案不同。例如,求解梁架结构中应力的数学模型为线性方程组,预报人口增长情况的数学模型为微分方程。但还有更多的非数值计算问题是无法用数学方程加以描述的。 例1.1 某单位职工档案的管理。 图1.1中的职工档案表就是一个数据结构。计算机档案管理的主要功能包括: 查找、浏览、插入、修改、删除、统计等。如果把表中的一行看成一个记录并称为一个结点,则在此表中,结点和结点之间的关系是一种最简单的线性关系。 例1.2 某学校教师的名册。虽然可以用例11中的二维表格将全校教师的名单列出,但采用图1.2所示的结构更好。它像一棵根在上而倒挂的树,清晰地描述了教师所在的系和教研组,这样一来可以从树根沿着某系某教研组很快找到某个教师,查找的过程就是从树根沿分支到某个叶子的过程。类似于树这样的数据结构可以描述家族的家谱、企事业单位中的人事关系,甚至可用树来反映人机下棋的动态过程等。 例1.3 在n个城市之间建立通信网络,要求在其中任意两个城市之间都有直接的或间接的通信线路,在已知某些城市之间直接通信线路预算造价的情况下,使网络的造价最低。 当n很大时,这样的问题只能用计算机来求解。我们可以用图1.3(a) 中描述的关系来说明:图中的小圆圈表示一个城市,两个圆圈之间的连线表示对应城市之间的通信线路,连线上的数值表示该通信线路的造价。这一描述的结构为图状结构,利用计算机可以求出满足要求的通信网络,如图1.3(b)所示。 通过上面三个例子可以看出:数据结构中元素和元素之间存在着逻辑关系,而线性表,树,图是三种基本的逻辑结构,其他各类的数据结构都是由这三 种基本结构派生的。数据结构就是解决如何分析数据元素之间的关系、如何确立合适的逻辑结构、如何存储这些数据,并对为完成数据操作所设计的算法做出时间和空间的分析。“数据结构”在计算机科学中是一门综合性的专业基础课,它不仅是一般程序设计(特别是非数值计算的程序设计)的基础,而且也是设计和实现编译程序、操作系统、数据库系统及大型应用程序的重要基础。 简单来说,数据结构是研究程序设计中非数值计算的数据以及它们之间的关系和操作等的一门课程,重点分析数据之间抽象的相互关系,不涉及数据的具体内容。 1.2 基本概念和术语 数据 (data) 指所有能输入到计算机中并被计算机程序处理的符号的总称。计算机输入和处理的数据除数值外,还有字符串、表格、图像甚至声音等,它们都是数字编码范畴。 数据元素(data element) 数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项组成,也可以只由一个数据项组成。数据元素又被称为元素、结点(node)或记录(record)。 数据项(data item) 指数据的不可分割的、含有独立意义的最小单位,数据项有时也称字段(field)或域。上面的职工档案表格是要存放到计算机中进行处理的数据,表中每一行记录了一个职工的档案信息,在数据操作中作为一个整体考虑,对应为一个数据元素,又称为一个记录。这个记录中包含有工号、姓名、学历等若干个数据项。操作的基本单位是记录,如职工的插入或删除一定是作用于一个职工的全部信息即一个记录,而不可能是作用于其中的某个数据项。设想删除操作只删除某个职工的姓名或工号,将引起数据的不完整等严重后果。每个数据项(如职工的姓名或工号)均有独立的含义,但在档案管理这个实际问题中并无完整的意义,而组 合在一个记录中构成职工的档案,就具有了完整的实际意义。数据、数据元素、数据项实际上反映了数据组织的三个层次:数据可由若干个数据元素构成
文档评论(0)