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

两种存储结构比较(线性表)-数据结构精品课程.ppt

两种存储结构比较(线性表)-数据结构精品课程.ppt

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

第一章 绪论 学习要点: ● 数据、数据元素和数据项基本概念。 ● 数据类型和抽象数据类型基本概念及其联系与区别。 ● 数据结构基本概念,数据逻辑结构的四种基本类型,数据存储结构两种基本类型。 ● 理解数据存储结构除了存储数据元素本身,更重要的是要存储数据元素之间关系。 ● 算法基本概念与特性,如何评价算法的效率。 ● 认识和理解数据结构在计算机学科中的地位与意义。 1.1 数据 1.1.1 数据基本概念 数据是对客观事物的描述,是信息的载体,是能够被计算机识别、存储和加工处理的各种形式的总和。 1.1.2数值型与非数值型数据 ① 数值型数据 主要包括整数、实数和复数等可以“直接”计算的数据,这些数据可以通过数制转换“直接”进入计算机。 ② 非数值型数据 主要包括字符、文字、图像、音频等 1.2数据项与数据元素 数据项: 数据项是数据的不可分割的最小单位,具有独立含义。 数据元素: 对计算机而言,计算机能够处理的一个最小单位是数据元素,在计算机程序中通常作为一个整体考虑。 数据对象是同类型的数据元素的集合,是研究问题的一个子集。 数据对象: 是“同类”的数据元素的集合,它是研究相应问题的一个子集。 1.3数据类型与抽象数据类型ADT 1.3.1数据类型 数据元素中每个数据项有一个数据类型,数据类型是一组性质相同的值的集合以及定义在这个集合上的一组操作的总称。 (原子类型,复杂类型) 1.3.2抽象数据类型ADT 抽象数据类型是定义了对数据元素的一组基本操作的集合。通常是由用户自己定义的一些基本操作的数据模型。 ADT 抽象数据类型名称{ 数据对象(数据元素的组成定义) 数据关系(数据结构的基本描述) 数据操作(基本操作的函数声明) } ADT 抽象数据类型名称 1.4数据模型与数据结构 1.4.1数据逻辑结构 数据结构可分解为“数据”+“结构”。“结构”我们可以这样理解:计算机要处理的这组数据元素并非孤立存在的,它们之间存在某种关系,这种数据元素间的关系称为结构,或者逻辑结构。 1.4.1数据逻辑结构2 (1)集合结构:数据元素同属一个集合,别无任何关系。每个数据元素都和其它任何元素无关系,孤立存在。 (2)线性结构:数据元素存在一个对一个的线性关系,如学籍表,记录一个连着一个,像一条线。 (3)树型结构:数据元素存在一个对多个的关系,层次结构很明显,如人事系统,像一棵倒挂的树。 (4)图型结构:数据元素之间的关系很任意,错综复杂,存在多个对多个的关系,如公交站点,像一个网,所以图型结构也称为网状结构。 四种基本的数据结构图示 1.4.2 数据存储结构 存储结构指的是逻辑结构在存储地址上的映像方式。 顺序存储结构:用一个连续的地址空间,按某个次序依次存放数据元素。 链式存储结构:用任意的地址空间来存放数据元素,数据元素的逻辑关系靠指针来联系。 散列存储结构:散列存储是指选择一个适当的散列函数,将数据元素作为变量,映射到存储地址中去。 索引存储结构:索引存储是将数据元素分组,通过事先设计好的索引表,将组内的数据元素的地址指引到某段存储地址区间,从而方便地读取到数据元素。 1.5数据操作与算法 1.5.1 数据运算 ① 根据运算结果的不同,可以将运算分为“引用型”与“加工型”两种类型。 ②根据运算本身所在组成层次不同,可以将运算分为基本运算和复杂运算两种情形。 1.5.2算法概念与描述 1.算法基本特征 输入。是指算法要操作的对象。这个输入可以是从键盘输入,也可以是文件读取,或者其它程序的运行结果等多种形式的输入。 有穷性。一个算法必须在执行了有穷步之后结束。否则陷入了一个死循环,不能称之为一个合理的算法。 确定性。算法中的每一个指令都必须有确切的含义,不能有二义性。例如分支语句,输入了某个条件,执行语句的哪个分支是明确的,在任何条件下,输入一样,执行的结果也肯定一样。 可行性。算法中描述的操作是可以通过已实现的操作来完成的。就是使用现有的计算机程序语言是可以完成执行的。 输出。是指算法执行的结果,与输入存在着某种关联。 1.5.2算法概念与描述2 2. 算法基本要求 (1)正确性。一个算法必须是正确的,即保证能得到正确的结果,否则就不用用它来解决提出的问题,得出的结果也没有意义。 (2)可读性。一个好的算法要便于用户理解和交流。可读性好的程序便于读者理解,也便于调试与修改,这有赖于程序设计员平时编程风格的形成和良好编程习惯的培养。 (3)健壮性。也叫容错能力,即对非法的输入的抵抗能力。当

文档评论(0)

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

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

1亿VIP精品文档

相关文档