- 1、本文档共113页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构及其应用data_structrue.ppt
数据结构及其应用 (用面向对象方法与C++描述) 第一章 概述 研究对象:信息的表示方法、数据的组织方法、操作算法设计 意义地位:数据结构+算法=程序 程序设计的基础 系统软件的核心 发展过程:数值计算 非数值计算 建立数学模型 客体及其关系的表示 设计数值计算方法 数据的组织 操作算法的设计 非数值计算应用的发展,促进了数据结构 的研究和发展以及其体系的完善。 基本术语 数 据:描述客观事物的且能由计算机处理的数 值、字符等符号 数据元素:数据的基本单位,在计算机程序中通常 作为一个整体进行考虑和处理(记录、 结点、表目、元素) 数 据 项:数据元素的某一属性。数据元素可以由 若干数据项组成,数据项可以由若干 更小的款项(组合项、原子项)组成。 数据项又称域、字段 关 键 码:能起唯一标识(数据元素)作用的数据项 数据结构:一组同类的数据元素、其间的关系及其上的 一组操作所构成的整体,称为一个数据结构 数据结构的描述方式 逻辑结构:是对数据元素之间逻辑关系(抛开具体的关系含义以及存储方式等)的描述,它可以用一个数据元素的集合和定义在此集合上的几个关系来表示。通常可用图形表示,圆圈表示数据元素,箭头表示关系: 物理结构:数据结构在计算机中的具体表示和实现, 又称存储结构 数据结构的分类 按逻辑结构分类: 纯集合型结构:数据元素之间除了“同属于一个集合”这一 关系外,别无其他关系 线性结构:数据元素之间存在“一个跟着一个”的序列关系 树型结构:数据元素之间存在“每个元素只能跟着一个元素 但可以有多个元素跟着它”的层次关系 图状结构:任意两个数据元素之间都可能存在关系 按存储结构分类: 顺序存储结构 链式存储结构 索引存贮结构 基本操作:任一数据结构均有一组相应的基本操作, 有时操作不同,用途迥异(如栈和队列) 常用的基本操作有插入、 删除、查找、 更新、排序等 算 法:算法是为了解决给定的问题而规定的一个 有限长的操作步骤序列,则重于解决问题 的方法和步骤。当算法由计算机语言表示 时称为程序(代码) 算法设计目标:可维护性 可靠性(正确性、健壮行) 可读性 高效率(时间、空间) 第二章 线性表 2。1 线性表的逻辑结构 定义:由相同种类的数据元素组成的一个有穷序列称为一个线性表。“一个跟着一个” 符号表示法:L=(e1,e2,…en) 图形表示法: 其中: ei ---表示线性表 L 的第 i 个数据元素 n ---表示线性表 L 的表长(n=0) n=0 时的线性表称为空表 ei-1 称为 ei 的前驱,ei+1 称为 ei 的后继 线性表的基本操作: (1)初始化(置空表)——可由构造函数实现 (2)求表长( Length ) (3)查找或定位( Find ) (4)插入( Insert ) (5)删除( Remove ) (6)排序( Sort ) (7)判空( IsEmpty) 2.2 线性表的顺序存储结构 要实现在计算机内表示一个数据结构,要解决两种信息的存贮问题: 数据元素本身的存贮 数据元素之间关系的存贮 定义:利用内存物理结构上的邻接特点,实现线性表 的“一个跟着一个”这一序列关系的存贮方式, 称为线性表的顺序存贮结构,其上的线性表称 为顺序表。 顺序表的类定义:利用数组作为顺序表的存储结构, 它被封装在类的私有域中 template class Type class SeqList {
文档评论(0)