数据机构第1章.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教材;作业及考核;课件;C语言 数据结构 软件工程;前期课程;第1章 绪论 ;第一章 绪论;《数据结构》是一门什么课程;数值问题:;非数值问题:;例2,计算机和人对奕问题。;例3,地图的着色问题。;; 1. 数据(Data) ; 2. 数据元素(Data Element) 数据元素是组成数据的基本单位, 是数据集合的个体,在计算机中通常作为一个整体进行考虑和处理。 ;例如 有一个学生表如下所示。这个表中的数据元素是学生记录,每个数据元素由四个数据项(即学号、姓名、性别和班号)组成。; 3. 数据结构(Data Structure) 数据结构是指相互之间存在一种或多种特定关系的数据元素集合, ;D = { ki | 1≤i≤n, n≥0} ki表示集合D中的第i个结点或数据元素 n为D中结点的个数 若n=0, 则D是一个空集, 表示D无结构可言, 有时也可以认为它具有任意的结构;S={rj| 1≤j≤m, m≥0} rj 表示集合S中的第j个二元关系(简称关系) m为S中关系的个数 若m=0, 则S是一个空集, 表明集合D中的元结点间不存在任何关系, 彼此是独立的; D上的一个关系r是序偶的集合, 对于r中的任一序偶x,y(x,y∈D),我们称序偶的第一结点为第二结点的直接前驱结点(通常简称前驱结点),称第二结点为第一结点的直接后继结点(通常简称后继结点)。如在x,y的序偶中,x为y的前驱结点,而y为x的后继结点。 若某个结点没有前驱,则称该结点为开始结点;若某个结点没有后继,则称该结点为终端结点;除此之外的节点称为内部节点。 “尖括号”表示有向关系,“圆括号”表示无向关系。; 例如,用二元组表示学生表,学生表中共有7个结点,依次用k1~k7表示,则对应的二元组表示为 Data_Structure=(D,S) 其中: D={k1, k2, k3, k4, k5, k6, k7} S= {k1,k2, k2,k3, k3,k4, k4,k5, k5,k6, k6,k7};逻辑结构图:可以将数据结构用图形形象地表示出来,图形中的每个结点对应着一个数据元素,两结点之间的连线对应着关系中的一个序偶。 上述“学生表”数据结构用下图的图形表示。;例1,内部关系,复数Complex = ( C,R );例3、设数据的结构描述如下: Tree = (D, R) D = {1,2,3,4,5,6} R = {1,2, 1,3, 3,4, 3,5, 4,6} 画出其逻辑结构图? ;1.2 数据结构的内容;按照逻辑关系的不同特性分类: 集合:(同属于一个集合) 线性结构:(一对一) 非线性结构: 树型结构:(一对多) 图形结构:(多对多);(1)线性结构 所谓线性结构,该结构中的结点之间存在一对一的关系。 其特点是:开始结点和终端结点都是惟一的,除了开始结点和终端结点以外,其余结点都有且仅有一个前驱结点,有且仅有一个后继结点。 顺序表就是典型的线性结构。;(2)非线性结构 所谓非线性结构,该结构中的结点之间存在一对多或多对多的关系。它又可以细分为树形结构和图形结构两类。; 所谓树形结构,该结构中的结点之间存在一对多的关系。其特点是每个结点最多只有一个前驱,但可以有多个后继,可以有多个终端结点。非线性结构树形结构简称为树。 ;UNIX文件系统的系统结构图; 所谓图形结构,该结构中的结点之间存在多对多的关系。其特点是每个结点的前驱和后继的个数都可以是任意的。因此,可能没有开始结点和终端结点,也可能有多个开始结点、多个终端结点。图形结构简称为图。;2. 存储结构(物理结构) 逻辑结构在计算机中的存储映象,是逻 辑结构在计算机中的实现,它包括数据元素的表示和关系的表示。;例如 用顺序存储法和链式存储法表示下面的学生表。;用顺序存储法存放学生表的结构体定义为: struct Stud { int no; /*学号*/ char name[8]; /*姓名*/ char sex[2]; /*性别*/ char class[4]; /*班号*/ } Studs[7]={ {1,“张斌”,“男”,“9901”}, …, {5,王萍,女,9901} };; 结构体数组Studs各元素在内存中按顺序存放,即第i(1≤i≤6)个学生对应的元素Studs[i]存放在第i+

文档评论(0)

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

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

1亿VIP精品文档

相关文档