- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 绪论 1.1 基本术语 1.2 数据结构的定义及研究的内容 1.2.1 数据的逻辑结构 1.2.2 数据的存储结构 1.2.3 数据的运算 1.3 算法 1.3.1 算法的概念及特性 1.3.2 算法的描述 1.3.3 算法的评价 1.4 学习数据结构的意义和目的 1.2 数据结构的定义及研究的内容 数据结构的定义及研究的内容 数据结构(Data Structure):按照某种逻辑关系组织起来的一批数据,用一定的存储方式存储在计算机的存储器中,并在这些数据上定义一个运算的集合,就称为一个数据结构(Data Structure)。 数据结构重点研究的内容: (1)数据的逻辑结构:即数据之间的逻辑关系。 (2)数据的存储结构:即数据及数据之间的关系在计算机存储器中的表示。 (3)数据的运算:即对数据施加的各种操作。 数据的逻辑结构 数据的逻辑结构(Logical Structure:的是数据元素之间的逻辑关系。它是人们根据实际问题的需要和问题本身所含数据之间的内在联系而抽象出来的数学模型,与如何利用计算机存储和处理无关,所以被称为数据的逻辑结构。 由于数据的逻辑结构是数学模型,可以借助数学方法来表示,具体的可以用离散数学中关系代数的二元组表示: Data_Structure =(D,S) 通常取S中的一个关系rj来进行讨论,rj可以表示为数据元素的序偶di,dj的集合。如果集合中有序偶di,dj,表示数据元素di和dj之间有rj这种关系。 用二元组表示的数据的逻辑结构,有如下的常用术语 (1)前趋结点、后继结点、相邻结点 (2)开始结点、终端结点、内部结点 数据的逻辑结构还能够利用更形象的图形表示 数据的逻辑结构有两大类: (1)线性结构:经典的线性结构是线性表。 线性结构的逻辑特征是:有且仅有一个开始结点和一个终端结点,其余的内部结点都有且仅有一个前趋结点和一个后继结点,也就是说结构中的数据元素间存在着一对一的相互关系。 (2)非线性结构:经典的非线性结构有树形结构和图形结构。 树形结构的逻辑特征是:有且仅有一个开始结点,可有若干个终端结点,其余的内部结点都有且仅有一个前趋结点,可以有若干个后继结点,也就是说结构中的数据元素间存在着一对多的层次关系。 图形结构的逻辑特征是:可有若干个开始结点和终端结点,其余的内部结点可以有若干个前趋结点和若干个后继结点,也就是说结构中的数据元素间存在着多对多的网状关系。 例1.1 在表1.1中,八名学生按学号从小到大排列,形成一个线性结构。假设表示这种逻辑结构的关系为r1,则r1可以定义为学生按学号顺序递增排列的关系,该线性结构的逻辑结构可用二元组表示为: L =(D,S),r1∈S D ={01,02,03,04,05,06,07,08} r 1 ={01,02,02,03,03,04,04,05, 05,06,06,07,07,08} 例1.2 在表1.1中,学生之间还存在着领导与被领导关系,其中01号学生为团长,直接领导02和03号学生,他们分别是组长,02号学生直接领导04和05号学生,03号学生直接领导06、07和08号学生,假设表示这种逻辑结构的关系为r2,则r2可以定义为学生之间的领导与被领导关系,该数据结构的逻辑结构可用二元组表示为: T =(D,S),r2∈S D ={01,02,03,04,05,06,07,08} r2 ={01,02,01,03,02,04,02,05, 03,06,03,07,03,08 } 例1.3 在表1.1中,学生之间还有好友关系,如01和02、03、05号是好友,02和04号是好友,03和05号是好友,04和05、06号是好友,06和07之间是好友,08无好友,假设表示这种逻辑结构的关系为r3,则r3可以定义为学生之间的好友关系,该数据结构的逻辑结构可用二元组表示为: G =(D,S),r3∈S D ={01,02,03,04,05,06,07,08} r3 ={01,02,02,01,01,03,03,01,01,05,05,01,02,04,04,02,03,05,05,03,04,05,05,04,04,06,06,04,06,07,07,06} 数据的存储结构 数据的存储结构(Storage Structure),是指数据的逻辑结构到计算机存储器的映射。 对于数据的逻辑结构G =(D,S),在映射中,一方面要将数据集D中的数据元素存放到存储器中,另一方面还要体现关系集S,常见的体现关系S的方式有显示和隐含两种。 常用的实现数据存储结构的方法有如下四种: 1.顺序存储 2.
文档评论(0)