数据结构提纲(完).docVIP

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

数据结构提纲 2010-12-13 目录: 第一章 绪论 - 4 - 1.1《数据结构》课程研究的内容 - 4 - 1.2 《数据结构》课程的发展历史及课程的重要性 - 4 - 1.3 基本概念和术语 - 4 - 1.4 抽象数据类型的表示与实现 - 5 - 1.5 算法和算法分析 - 9 - 第二章 线性表 - 10 - 2.1 线性表的定义 - 10 - 2.2 基于抽象数据类型线性表的操作 - 11 - 2.3 线性表的存储结构 - 11 - 2.4 基于顺序存储结构的线性表操作算法 - 12 - 2.5 基于链式存储的线性表操作算法 - 14 - 2.6 循环链表的操作算法 - 15 - 2.7 双向链表的操作算法 - 16 - 2.8 顺序存储线性表与链式存储线性表的比较 - 17 - 2.9 一元多项式的表示及相加 - 17 - 第三章 栈和队列 - 19 - 3.1栈的概念 - 19 - 3.2栈的存储结构 - 19 - 第一章 绪论 1.1《数据结构》课程研究的内容 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象及其关系和操作的学科。它主要研究: 数据的逻辑结构--数据关系之间的逻辑关系 数据的存储结构--数据的逻辑结构在计算机中的表示 操作算法--插入、删除、修改、查询、排序等 其中,·数据的逻辑结构: 集合 线性结构 -----表、栈、队列 非线性结构 -----树、图 ·数据的存储结构: 顺序存储结构 -----数组 链式存储结构 -----指针 1.2 《数据结构》课程的发展历史及课程的重要性 ·1968年在美国开设。它随着大型程序的出现而出现。 ·我国1980s年代初开设。它是计算机专业的核心课程,考研必考。 ·学习《数据结构》的目的:  ①提高复杂程序设计的能力  ②培养算法设计能力  ③为后继课程(如操作系统、编译原理等)打基础。 ? 1.3 基本概念和术语 1、数据 2、数据元素 3、数据项 4、数据对象 5、数据结构 6、存储结构 7、数据类型 数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。???? 8、抽象数据类型抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。 ????抽象数据类型和数据类型实质上是一个概念。例如,各个计算机都拥有的整数类型是一个抽象数据类型,尽管它们在不同处理器上实现的方法可以不同,但由于其定义的数学特性相同,在用户看来都是相同的。 ????和数据结构的形式定义相对应,抽象数据类型可以用以下三元组表示(D,S,P) 其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。 ????抽象数据类型的定义格式如下: ????????ADT 抽象数据类型名{ ??????????数据对象:数据对象的定义 ??????????数据关系:数据关系的定义 ??????????基本操作:基本操作的定义 ????????}ADT 抽象数据类型名例子:抽象数据类型三元组的定义: ADT Triplet{ ??数据对象:D={e1,e2,e3|e1,e2,e3∈ElemSet(定义了关系运算的某个集合)} ??数据关系:R1={e1,e2,e2,e3} ??基本操作: ????InitTriplet(T,v1,v2,v3) ??????操作结果:构造了三元组T,元素e1,e2和e3分别被赋以参数v1,v2和v3的值。 ????DestroyTriplet(T) ??????操作结果:三元组T被销毁。 ????Get(T,i,e) ??????初始条件:三元组T已存在,1≤i≤3。 ??????操作结果:用e返回T的第i元的值。 ????Put(T,i,e) ??????初始条件:三元组T已存在,1≤i≤3。 ??????操作结果:改变T的第i元的值为e。 ????IsAscending(T) ??????初始条件:三元组T已存在。 ??????操作结果:如果T的三个元素按升序排列,则返回1,否则返回0。 ????IsDescengding(T) ??????初始条件:三元组T已存在。 ??????操作结果:如果T的三个元素按降序排列,则返回1,否则返回0。 ????Max(T,e) ??????初始条件:三元组T已存在。 ??????操作结果:用e返回T的三个元素中的最大值。 ????Min(T,e) ??????初始条件:三元组

文档评论(0)

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

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

1亿VIP精品文档

相关文档