计算机结构中的树状结构,树形结构和图状结构是四种基本的逻辑结构.ppt

内容提要第章绪论什么是数据结构基本概念和术语算法描述算法的重要特性算法的描述方法算法分析算法设计的要求算法时间效率的度量分析小结习题第章绪论什么是数据结构自计算机诞生以来其应用的发展远远超出了人们对它的预料计算机的应用已不再局限于数值计算或科学计算的范畴而更多地应用于数据处理信息管理自动控制等这些称作为非数值计算的领域与此相适应计算机加工处理的对象由纯粹的数值发展到字符表格和图像等各种具有一定结构的数据这样给程序设计带来了新的问题为了编写出一个好的程序必须分析处理对象的特性以及各处理对象之间存在

内容提要 第1章 绪论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 算法描述  1.3.1 算法的重要特性 1.3.2 算法的描述方法 1.4 算法分析 1.4.1 算法设计的要求 1.4.2 算法时间效率的度量分析 1.5 小结 习题 第1章 绪论 1.1 什么是数据结构 自计算机诞生以来,其应用的发展远远超出了人们对它的预料,计算机的应用已不再局限于数值计算或科学计算的范畴,而更多地应用于数据处理、信息管理、自动控制等这些称作为非数值计算的领域。与此相适应,计算机加工处理的对象由纯粹的数值发展到字符、表格和图像等各种具有一定结构的数据,这样给程序设计带来了新的问题。为了编写出一个“好”的程序,必须分析处理对象的特性以及各处理对象之间存在的关系。 用计算机解决一个具体问题时,需要经过的步骤 例1:学生信息表(线性结构) 例2:教师的组织结构图(树) 例3: 交通咨询问题(图) 数据结构的概念 1.2 基本概念和术语 1.3 算法描述 1.3.1 算法的重要特性 正确性 算法必须满足具体问题的需求,完成所期望的功能,给出正确的输入 确定性 算法执行的每一步和下一步必须确定,不能有二义性 有穷性 算法必须由有限步组成。不能进入死循环 输 入 一个算法有零个或多个输入 输 出 一个算法有一个或多个输出 1.3.2 算法的描述方法 使用自然语言(非形式算法描述) 使用流程图、N-S图 用“类语言”算法描述 用语言编写的算法或函数 1.4 算法分析 1.4 算法分析 时间复杂度举例 1.5 小结 1.5 小结 习题 * * 第1章 绪 论 从具体问题抽象出一个适当的数学模型; 设计一个解此数学模型的算法; 编写出程序; 进行测试、调试直至得到解答;   寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间的关系,然后用方程等数学语言加以描述,如求圆的面积(S=πR2)。然而,更多的问题无法用数学方程加以描述。 我们来分析三个现实生活中常见的典型问题例子。 学号 姓名 性别 出生年月 学历 参加工作时间 0001 张丽萍 女 08/21/1981 大学 07/12/2004 0002 李小明 男 04/12/1982 大专 07/26/2005 0003 王冠英 女 03/12/1980 大学 08/02/2004 0004 李华军 男 08/24/1981 硕士 08/24/2005 ? ? ? ? ? ? 在这个表中,我们把每行称作一条记录或一个结点,则表中结点与结点之间是一种线性关系 学校的组织结构图如上所示,采用以上树形结构能够更加清楚地描述教师的所属关系。   我们把这种数据结构称为树形结构或简称为树。   在交通咨询系统中,我们可以采用一种图的结构来表示实际的交通网络。图中的圆圈(称顶点)表示城市,连线(称边)表示城市间的交通联系,对边所赋予的权值可以表示两城市间的距离、或途中所需的时间、或交通费用等等。考虑到交通图的有向性(如航运,逆水和顺水时的船速不一样等),图中的边可以用弧线来表示。这个咨询系统可以回答旅客提出的各种问题。  例如,从某地到某地应如何走最节省费用,也就是要求从某地到某地的最短距离(路径)。在这个问题中所使用的数据结构称作图。  我们上面讨论的三个例子都是非数值计算问题,这类问题的数学模型不再是数学方程,而是诸如线性表、树和图这样一些复杂的数据关系,这三种数据关系是基本的数据关系,其他各类数据关系都是由这三种基本结构派生出来的。  现实的数据元素之间存在着逻辑关系,数据结构就是解决如何分析数据元素之间的关系、如何确定合适的逻辑结构、如何存储这些数据、在此基础上如何设计算法对这些数据进行操作,并对设计的算法做出时间和空间的分析。由此我们可以说:  数据结构是一门研究非数值应用问题中数据之间的逻辑关系、存储方式及其操作的学科。 《数据结构》作为一门独立的课程最早是美国的一些大学开设的,1968年美国唐·欧·克努特(Donald.Knuth)教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。从 60 年代末到 70 年代初,出现了大型程序,软件也相对独立起来,结构程序设计成为程序设计方法学的主要内容,人们就越来越重视数据结构,认为程序设计的实质是对确定的问题选择一种好的结构,加上设计一种好的算法。 程序=数据结构+算法 数据(Data) 是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值