- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章数据结构与程序设计scx教程
第六章 数据结构与程序设计;;数据结构是对各种数据关系的总结、归纳和抽象。本章首先介绍了数据和数据类型的基本概念以及数据结构的产生,并详细讲解了数据结构研究的内容,包括数据、数据的逻辑结构以及在相应存储结构下对数据的操作运算。针对常见的数据结构——线性与非线性结构进行了讲解。最后通过对程序概念的提出,阐述了程序设计的步骤、常用工具,并对软件工程和软件开发的常用模型进行了概述。;6.1 数据与数据类型;数据: 是对客观事物的符号表示,是一组表示数量、行动和目标的非随机数字或字母的可鉴别的符号。在计算机中,数据通常是指一切可以输入到计算机中并能被计算机程序处理的所有符号的总称,包括文本、声音、图形、图像、动画和视频等。
数据结构:在计算机科学中,数据之间的关系称为数据结构。数据结构是对各种各样的数据关系的总结、归纳和抽象,对数据结构的研究分为数据的逻辑结构和物理结构两个方面。;数据类型是对具有同类性质的数据的抽象,是计算机程序设计语言特有的概念。在计算机程序中变量存储数据,而变量都应属于某种特定的数据类型。
①决定数据在计算机中所占的存储空间大小。
②决定数据的存储方式。
③决定数据的操作运算。
不同问题其数据的含义各不相同,数据间的联系称为结构,数据及其关系的研究在计算机中要考虑数据表示和存储两方面。;6.2 数据结构;计算机不局限于单纯的数值计算,更多地应用于控制、管理及信息处理等非数值计算的数据处理工作。
对于不同的处理对象,如何组织数据和处理数据,如何根据问题的要求及数据元素之间的特性,确定相应的存储结构和算法,这都数据结构研究的内容。
数据结构就是研究非数值处理问题的学科。;数据结构通常通过抽象数据类型来描述,包括:
逻辑结构:指数据元素之间的逻辑关系,与数据在计算机内部是如何存储无关,数据的逻辑结构独立于计算机。数据的逻辑结构一般有集合、线性结构、树形结构、图形结构等四种类型。
存储结构:指数据元素在计算机存储设备中的存储方式。一般分成顺序存储和链式存储两种。
数据的运算:插入、删除、检索和排序等与问题相关的处理。;线性结构
最常用且最简单的数据结构,是一个有序数据元素集合,如线性表、栈、队列、双队列、数组和串等。这些数据元素之间除了在表中的排列次序即先后次序不同外,没有其他的联系,这一类的表属于线性表。
从数据结构的角度出发,线性表是n个数据元素组成的有限序列,其中n≥0,记为(a1,a2,…..,an-1,an)
当n为0时,线性表为空表。;在线性表中,除了第一个和最后一个数据元素外,每个数据元素都有一个直接前趋和一个直接后继。
线性表可以用不同的方式存储在计算机中,其中最简单也是最常见的是用一组连续的内存空间,依次存放线性表中的每一个数据元素,称为线性表的顺序存储结构,用这种方法存储的线性表称为顺序表。
在高级语言中,可以用一维数组来实现。;线性表还可以采用链式方式进行存储。
每个数据结点独立保存在内存的一片连续区域之中,结点和结点之间不要求连续,为了能反映数据逻辑上的先后次序,在链式存储方式中,每个结点就必须有一个能反映逻辑上后继结点在内存位置的信息,存放该信息的部分称为链域,结点之间通过链域连接。
这样只要给出逻辑上第一个结点的位置,就可以通过链域找到所有数据。第一个结点的位置称为链表首指针。;非线性结构
逻辑特征是一个结点元素可能有多个直接前趋或多个直接后继。常用的有树和图两类。
树形结构
一种简单的非线性结构,所有数据之间有明显的层次特性。树结构 (除了根结点外)每个元素都有且仅有一个直接前趋,有且仅有零个或多个直接后继。;树是n个结点的有限集合,在任一棵非空树中:
①有且仅有一个称为根的结点。
②其余结点可分为互不相交的集合,而且这些集合中的每一集合本身又是一棵树,称为根的子树。
从逻辑结构看:
①树中只有根结点没有前趋;
②除根外,其余结点都有且仅一个前趋;
③树的结点,可以有零个或多个后继;
④除根外的其他结点,都存在唯一条从根到该结点的路径;
⑤树是一种分支结构。;图形结构
一种多对多的结构关系,每个元素可
以有零个或多个直接前趋;零个或多个直接后继。
针对图中边的不同定义,图又分为无向图(在图中,若所有边是无向边,则称为无向图);有向图(在图中,若所有边是有向边,则称为有向图);混和图(在图中,即有无向边也有有向边,则称为混合图)。
用计算机处理交通线路规划,电路图、各种流程图等都要使用图形结构,因此图形结构也是一种重要的数据结构。
;6.3 程序设计;指完成某些事务的一种既定方式和过程。从计算机应用的观点看,程序就是人与计算机交流信息的基本方式。算法 + 数据结构 = 程序
程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功能,以实现任务。
算法是程序的逻辑抽象,是解决
文档评论(0)