算法数据和数据结构课程.pptVIP

  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文档。上传文档
查看更多
算法和数据结构 算法数据和数据结构 刘宇 2001年 程序=算法+数据结构 软件:刻画现实世界,解决现实世界中的问题 语言:实现的工具 算法:解的描述(日常的:如魔方) 数据结构:现实世界的数据模型 程序=算法+数据结构 几个例子(问题) 表达式解释 6+5*4=? 字符串匹配 串“ABCAC”出现在另一个串“ABCABCACAC”的第几个位置上 排序 一个序列,如何最快地对其进行排序 压缩编码 AAAABBBCDDE?? 图的最短路径 地理研究中的交通网络 课程讲述的内容 上述问题的答案,包括 一些常用的数据结构类型以及其应用 与这些数据结构的有关算法 空间数据结构 数据结构(一) 作为学科的数据结构 数据结构是研究非数值计算的程序设计问题中计算机的操作对象以及它们之间关系和操作等等的学科。 非数值计算 操作对象(数组) 数据结构(二) 作为研究对象的数据结构 数据(和信息的关系) 数据项目 数据对象 数据 数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。 数值性数据 非数值性数据 数据元素 数据的基本单位。在计算机程序中常作为一个整体进行考虑和处理。 有时一个数据元素可以由若干数据项(Data Item)组成。数据项是具有独立含义的最小标识单位。 数据元素又称为元素、结点、记录。 数据对象 数据的子集。具有相同性质的数据成员(数据元素)的集合。 整数数据对象 N = { 0, ?1, ?2, … } 学生数据对象 数据结构(三) 数据结构(三) 几个例子 图书管理 对弈 道路交叉口 数据结构的分类(例子) 集合 线性 树型 网状 数据结构(四) 数据结构?物理结构 顺序存储 链式存储 抽象数据类型 数据类型(int,float) 抽象数据类型 原子类型 固定聚合类型 可变聚合类型 面向对象技术与数据结构 抽象数据类型(ADT) 由用户定义,用以表示应用问题的数据模型 由基本的数据类型组成, 并包括一组相关的服务(或称操作) 信息隐蔽和数据封装,使用与实现相分离 算法 定义 为了完成特定任务指令的有穷序列 好的算法的特性 正确性 可读性 健壮性 效率和存储要求 算法的特性 输入 有0个或多个输入 输出 有一个或多个输出(处理结果) 确定性 每步定义都是确切、无歧义的 有穷性 算法应在执行有穷步后结束 有效性 每一条运算应足够基本 算法的效率 时间复杂性 问题规模 大O记法 空间复杂性 线性表的定义 线性表的定义 唯一的第一个元素 唯一的最后一个元素 前驱 后继 相关概念和例子 数据项 纪录 文件 例子 字母表 数据库表 线性表操作(一) 初始化:Initiate 求长度:Length 得到第I个元素:Get 设置第I个元素:Set 求前驱:Prior 求后继:Next 定位:Locate 插入:Insert 线性表操作(二) 删除操作:Delete 判断表是否为空:Empty 置空表操作:Clear 线性表模板类的定义(按值访问) template class T class LinearList { public: void Initiate(); int Length(); T GetAt(int nIndex); void SetAt(int nIndex, T newValue); T Prior(T Value); T Next(T Value); int Locate(T Value); bool Insert(int nIndex, T Value); void Delete(int nIndex); bool IsEmpty(); void Clear(); }; 线性表模板类的定义(按地址访问) typedef voide * POSITION; template class T class LinearList { public: void Initiate(); int Length(); POSITION GetAt(int nIndex); T ValueOf(POSITION p); T operator [] (int nIndex); POSITION Prior(POSITION p); POSITION Next(POSITION p); int Locate(POSITION p); bool Insert(int nIndex, T Value); void Delete(int nIndex); bool IsEmpty(); void Clear(); }; 线性表的存储结构 顺序存储 链式存储 两种存储方式的比较 顺

文档评论(0)

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

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

1亿VIP精品文档

相关文档