- 1、本文档共142页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
吉林大学数据结构课件第一章序论
数据结构;About me;教学计划;答疑和上机时间;第一章 绪论;为什么要学习数据结构;为什么要学习数据结构;为什么要学习数据结构;为什么要学习数据结构;第一章 绪论;数据结构的发展历史;数据结构的发展历史;数据结构的发展历史;/~uno/;/~uno/;数据结构的发展历史;数据结构的发展历史;数据结构的发展历史;数 据 结 构;数 据 结 构;什么是数据?;数据;数据; 数据是指对象的表示,即按照适合于通信、解释或处理(借助人或自动装置)的方式所形成的关于事实、概念或指令的表示;数据只是表示,而无含义[3] 。
【3】张效祥等. 计算机科学技术百科全书. 北京: 清华大学出版社, 2005.
;;数据元素(元素、结点、顶点、Data Element );数据项;数 据 结 构;什么是结构?;什么是结构;数据;线性结构;数据的存储结构/物理结构;数据上的运算集合;定义1.2 数据结构是指由若干数据成分按照一定方式构成的复合数据以及作用于其上的函数或运算。数据成分(元素)及其间的数据约束关系合称为数据结构的逻辑结构。数据结构从数学上可用适当的数学结构以及其上的函数变换统一地定义[3] 。
但迄今为止,关于数据结构之定义在计算机科学技术界还未取得完全认同。有些学者认为数据结构应由数据的逻辑结构、数据的存储结构及其运算(操作)三部分组成。 ?;数据结构的组成:;逻辑结构;逻辑结构;逻辑结构;例3 L=(N,R), N={k1,k2,…,k9} R={r},r={ k1,k2 , k1,k3 ,
k1,k4 , k1,k7 , k1,k8 ,
k4,k5 , k4,k6 , k8,k9 };例3 L=(N,R), N={k1,k2,…,k4} R={r},r={( k1,k2 ), ( k1,k3 ), ( k3,k4 ), ( k2,k3 ) }
r={( k1,k2 ), ( k2,k1 ), ( k1,k3 ), ( k3,k1 ), ( k3,k4 ), ( k4,k3 ), ( k2,k3 ), ( k3,k2 ) }
;逻
辑
结
构;逻辑结构的分类
线性结构
结构中有且仅有一个始结点和一个终结点,始结点只有一个后继结点,终结点只有一个前趋结点,每个内结点有且仅有一个前趋结点和一个后继结点。
非线性结构(树、图)
结构中的结点可能有多个前趋结点和多个后继结点。;数据结构的组成:;存储结构
是指数据的逻辑结构在计算机中所需的存储空间、空间的构成结构及对该存储结构的访问方式等的总称
数据的存储结构是建立一种由逻辑结构到存储结构的映射:
建立结点集合 N 到存储区域 M 的映射:N-M,中每个结点j∈N都对应唯一的连续存储单元c∈M
对于每一个关系元组a,b∈ r,映射为存储单元的地址顺序关系(或指针的地址指向关系);存储结构
是指数据的逻辑结构在计算机中所需的存储空间、空间的构成结构及对该存储结构的访问方式等的总称
数据的存储结构是建立一种由逻辑结构到存储结构的映射:;存储结构
是指数据的逻辑结构在计算机中所需的存储空间、空间的构成结构及对该存储结构的访问方式等的总称
数据的存储结构是建立一种由逻辑结构到存储结构的映射:
顺序、链接、索引和散列四种方法
;1)顺序存储
顺序存储将一组结点存放在地址相邻的存储单元内,结点间的逻辑关系由存储单元的自然顺序关系来表达,即用一块无空隙的存储区域存储结点数据。
例如,用数组存储线性数据结构,数组的元素是数据结点,按照顺序存储方法存储,结点之间的线性关系用地址单元的顺序关系来自然表达。;2)链接存储
链接存储通过在结点的存储结构中附加指针字段来存储结点间的逻辑关系,任意的逻辑关系r都可以用指针地址来表达。其中,数据结点一般由两部分组成:数据字段和指针字段。数据字段存放结点本身的数据,指针字段存放指向后继结点的指针。
链接存储灵活性很大,适用于那些需要经常动态变化(插入、删除等操作)的数据结构;通常借助高级语言中的指针类型来实现。 ;3)索引存储
索引存储可以看作顺序存储方法的一种推广,通过建造一个由整数域Z映射到存储地址域的函数,把整数索引值映射到结点的存储地址,从而形成一个存储一串指针的索引表,每个指针指向存储区域的一个数据结点。
;4)散列存储
散列存储利用散列函数(hash functions)进行索引值的计算,然后通过索引表求出结点的指针地址,是索引方法的一种延伸和扩展。
散列存储适用于高速检索的结构。散列存储的关键问题是如何恰当地选择散列函数,建造散列表,并解决在构建散列表时的“冲突”问题。我们将在第 8 章详细介绍散列存储。
小结:以上介绍的四种存储方法,既可单独使用,又可组合起来对数据结
文档评论(0)