网站大量收购闲置独家精品文档,联系QQ:2885784924

第一章_绪论 -.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章_绪论 -

《数据结构》的前导课程 高级程序设计语言(C语言) 参考书:C程序设计第四版,谭浩强著,清华大学出版社 离散数学 参考书:离散数学,屈婉玲 耿素云 张立昂,高等教育出版社 教材 课程选用教材 《数据结构》——用C语言描述,唐策善 编著 高等教育出版社 参考教材: 《数据结构》——C语言版,严蔚敏 编著 清华大学出版社 第一章 概论 1.1数据结构概念-术语 1.2为什么要学习数据结构 1.3 算法描述 1.4 算法分析 1.1 数据结构的概念 数据 信息的载体,被计算机识别、存储和加工处理的对象。 数据元素(元素、结点、顶点、记录) 数据的基本单位,是数据集合中的一个有意义的个体。 数据项 一个数据元素可由若干个数据项组成。 1.1 数据结构的概念 数据类型 具有相同性质的计算机数据的集合及在这个数据集合上的一组操作。可以分为原子数据类型和结构数据类型。 数据结构 数据之间的相互关系,即数据的组织形式。包括 A.数据元素之间的逻辑关系,也称为数据的逻辑结构。 B.数据元素及其关系在计算机存储器内的表示,称为数据的存储结构。 C.对数据施加的操作。 1.1 数据结构的概念 数据结构的定义:按某种逻辑关系组织起来的一批数据,应用计算机语言、按一定的存储表示方式把它存储在计算机的存储器中,并在这些数据上定义了一个运算的集合,就叫做一个数据结构。 1.1 数据结构的概念 数据元素之间的关系(逻辑结构)分为: (1)线性结构(线性表、栈、队列、字符串) 一个结点(除头结点外)有且仅有一个直接前驱 一个结点(除尾结点外)有且仅有一个直接后继 (2)非线性结构 (树形、图状、多维数组、广义表) 一个节点可能有多个直接前驱和直接后继。 1.1 数据结构的概念 数据的存储结构(物理结构) 数据结构在计算机中的表示(又称映像) 顺序存储结构:把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。借助于数组来实现。 链式存储结构:不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针段表示的。借助于指针类型来实现。 索引存储结构:在存储结点信息的同时,建立附加的索引表。索引表中的每一项称为索引项,索引项包括(关键字,地址),关键字能唯一标识一个结点的那些数据项。 散列(hash)存储结构:根据结点的关键字直接计算出结点的存储地址。 (1)顺序存储:数据元素依次放在连续的存储单元中。 a1 a2 ... ai ... an (2)链式存储:在存储结点中增加若干指针域,记录后继或者相关结点的地址(指针)。 a1 1220 ... a3 1342 ... a21072 ... 运算(操作):在数据逻辑结构上定义的一组数据被使用的方式,其具体实现要在存储结构上进行。 几种常用的运算有: (1)建立数据结构 (6)检索* (2)清除数据结构 (7)更新 (3)插入数据元素 (8)判空和判满* (4)删除数据元素 (9)求长* (5)排序 *操作为引用型操作,即数据值不发生变化; 其它为加工型操作。 1.2 为什么要学习数据结构 数值计算的程序设计问题 例1:鸡兔同笼问题 有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔? 非数值计算的程序设计问题 例一:图书馆的书目检索系统自动化问题 例二 人机对弈 例三 铺设通信管线,投资最少 1.2 为什么要学习数据结构 尼克劳斯.沃思:算法+数据结构=程序 由上述例子可见,描述这类非数值计算问题的数学模型不再是数学方程,而是诸如表、树和图之类的数据结构。因此,简单来说,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。 1.3 算法描述 常用的算法模式大致有如下一些: 穷举法 (百钱买百鸡) 贪心法 (Huffman树、Prim等) 分治法 (二分检索法) 回溯法 (树、图等的深度优先搜索) 动态规划法 (最佳二叉排序树) 分枝界限法 算法的概念: 建立在数据结构基础上的、求解问题 的一系列确切的步骤。 一个算法必须满足以下五个重要

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档