数据结构 第1章 绪论.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? 教材 《数据结构案例教程》(C语言版) 徐翠霞 北京大学出版社 21世纪计算机专业大专系列教材《数据结构》 彭波 清华大学出版社 考试成绩 平时成绩——30%-40% 上机实践、练习——10%-20% 考勤——10% 课堂提问,学习态度——10% 笔试成绩——60%-70% 程序=数据结构+算法 数据结构:数据的组织,存储,读写的方式 算法:解决问题的办法 通俗的例子: 一杯奶茶=配料+配制方案 配料实际上就是数据结构 配制方案就是实现的办法,比如调冰珍珠奶茶,就要先加入奶茶粉,加入水,再加上冰,然后再充分混合最后包装 对于我们程序设计来说,数据结构就是涉及到数据的组织,存储,访问。 比如大家发送短信。 短信:文字 对于移动,电信,联通这些公司来说,大家发送的短信要通过它们各自的短信网关,利用相应的协议,比如SMGP,这个时候将大家的文字转为字符,数组存储下来,然后呢,通过通信网络在转到接收的对象(你要发消息给的那个人),这个转发的处理中会碰到的问题,我们解决它,就是算法要干的事 举例: 1.数值计算的程序设计问题 (1)结构静力分析计算━ 线性代数方程组 (2)全球天气预报━ 环流模式方程 (球面坐标系) 是介于数学、计算机硬件和计算机软件三者之间的一门核心课程 元素n …….. 元素i …….. 元素2 元素1 L0 L0+m L0+(i-1)*m L0+(n-1)*m 存储地址 存储内容 Loc(元素i)=L0+(i-1)*m 顺序存储结构 1536 元素2 1400 元素1 1346 元素3 ∧ 元素4 1345 h 1346 元素3 1536 ……. …….. ……. 1536 元素2 1400 ……. …….. ……. ∧ 元素4 1346 1400 元素1 1345 指针 存储内容 存储地址 链式存储结构 h 在不同的编程环境中,存储结构可有不同的描述方法 当用高级程序设计语言进行编程时,通常可用高级编程语言中提供的数据类型描述之。称之为“虚拟存储结构” 【例】以三个带有次序关系的整数表示一个长整数时,可利用 C 语言中提供的整数数组类型 typedef int Long_int [3] 定义长整数为: 二. 数据类型 在用高级程序语言编写的程序中,必须对程序中出现的每个变量、常量或表达式,明确说明它们所属的数据类型。 【例】C/C++语言中提供的基本数据类型有: 整 型 int 浮 点 型 float 字符型 char 逻辑型 bool ( C++语言) 双精度型 double 数据类型:是一个值的集合和定义在此集合上的一组操作的总称。 不同类型的变量,其所能取的值不同 / 所能进行的操作不同。 原子类型:不可分解的,如C语言中的基本类型。 结构类型:由若干成分按某种结构组成的,其成分可以是原子的,也可以是结构的。 三. 抽象数据类型 (Abstract Data Type , ADT) 抽象数据类型:是指一个数学模型以及定义在此数学模型上的一组操作。 与其在计算机内部的表示和实现无关 “抽象”在于数据类型的数学抽象特性。 抽象数据类型不仅仅局限于固有数据类型,包括用户自定义的数据类型 软件系统框架应该建立在数据之上,而不是操作之上 ADT 按照其值得不同特性,分为3种类型: 原 子 类 型:不可分解; 固定聚合类型:其值由确定数目的成分组成; 可变聚合类型:值的成分的数目不确定。 结构类型 ADT 有两个重要特征: 数据抽象: 用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。 数据封装: 将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。 【例】抽象数据类型复数的定义: 数据对象: D={e1, e2|e1,e2∈RealSet } 数据关系: R1={e1, e2 | e1是复数的实数部分, | e2 是复数的虚数部分 } ADT Complex { 基本操作: AssignComplex( Z, v1, v2 ) 操作结果:构造复数 Z,其实部和虚部分别被赋以参数 v1 和 v2 的值。 DestroyComplex( Z) 操作结果:复数Z被销毁。 GetReal( Z, real

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档