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

数据结构第一张幻灯片.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数 据 结 构 主讲:吴杰芳 数学与系统科学学院 信息与计算科学教研室 Email: wjf557@163.com 第一章 绪 论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分析 1.1 什么是数据结构 Niklaus Wirth Algorithm + Date Structures= Programs 算 法 + 数据结构 = 程序设计 程序设计:为计算机处理问题编制一组指令集 算法: 处理问题的策略 数据结构:问题的数学模型 全球气象预报 1、求一组(n个)整数中的最大值 算法? 基本操作是比较两个数的大小 模型?整数 2、计算机对弈 算法?对弈的规则和策略 模型?棋盘,棋子 3、足协的数据库 算法?需要管理的项目?如何管理?用户界面 模型?表格,数据库 概括的说 数据结构描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中的表示和实现。 1.2 基本概念和术语 一、数据与数据结构 数据 所有能被输入到计算机中,并被计算机处理的所有这些符号的集合, 可见,数据是计算机操作的对象的总称,是计算机处理的信息的载体,是信息的某一种特定的符号表示形式。 数据元素 数据中的一个“个体”,数据结构中讨论的基本单位。 数据项 数据结构中讨论的最小单位,数据元素是数据项的集合 例如:运动员(数据元素) 数据对象 是性质相同的数据元素的集合,是数据的一个子集 例如,整数数据对象:N={0,±1,±2,…}, 字母字符数据对象:C={‘A’,‘B’, … ‘Z’,} 数据结构 是相互之间存在一种或多种特定关系的数据元素的集合 数据元素相互之间的关系称为结构。 例如,一个含12位数的十进制数可以用三个4位的十进制数表示, 457834292610 — a1(4578),a2(3429), a3(2610) 在a1,a2,a3之间存在“次序”关系 a1,a2, a2,a3 又例,2行3列的矩阵{ a1, a2, a3, a4, a5, a6 } 行的次序关系 row={a1, a2, a2, a3, a4, a5, a5, a6} 列的次序关系 col={a1, a4, a2, a5, a3, a6} 再例,一维数组{ a1, a2, a3, a4, a5, a6 }中存在次序关系: { ai,ai+1 | i=1, 2, 3, 4, 5} 数据的逻辑结构可以归结为以下四类: (1) 线性结构 (2) 树形结构 (3) 图状结构 (网状结构) (4) 集合结构 数据结构的形式定义为: 数据结构是一个二元组 Date_Structures=( D, S ) 其中D是数据元素的有限集, S是D上关系的有限集。 例如:由a1, a2, a3, a4, a5, a6构成的矩阵 定义矩阵是一种数据结构 E ={D,S} D={ a1, a2, a3, a4, a5, a6 } S={ ai,ai+1 | i=1, 2, 3, 4, 5} 数据的存储结构 ——数据结构在计算机中的表示(映像) ——数据结构的存储映像 包括数据元素的映像和关系的映像 数据元素的映像方法: 用二进制位(bit)的位串表示数据元素 (321)10=(501)8=(101000001)2 A=(101)8=(001000001)2 关系的映像方法:(表示x, y的方法) (a1, a2, a3) 链式映像 又称非顺序映像,在整个结构中x和y的存储位置之间没有固定的关系,就是说它们的存储位置是随意的。 以附加信息(指针)表示后继关系 需要用一个和x在一起的附加信息指示y的存储位置。 x元素的存储映像是一个结点,包含两部分信息,其中一部分信息是数据元素x,另一部分信息是指向后继元素的指针。 在不同的编程环境中,存储结构有不同的描述方法。 当用高级程序设计语言进行编程时,通常可用高级编程语言中提供的数据类型描述之。 例如,以三个带有次序关系的整数表示一个长整数时,可利用C语言中提供的整数数组类型,定义整数为: typedef int Long_int[3] 三、数据类型 在用高级程序语言编写的程序中,必须对程序中出现的每个变量、常量或表达式,明确说明他们所属的数据类型。 每个类型

文档评论(0)

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

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

1亿VIP精品文档

相关文档