- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学第5章 数据结构与算法.ppt
计算机学科导论
第5章 数据结构与算法
本 章 教 学 目 的
理解数据结构的概念,理解数据结构的逻辑和存储结构
理解算法的概念和算法的基本特性,了解算法复杂度的度量方法
理解线性数据结构,掌握栈和队列、串和数组等典型线性数据结构
了解非线性的数据结构,了解树、二叉树和图等典型非线性数据结构
理解排序、查找的概念,了解排序、查找的典型算法及其比较分析方法
理解递归的概念,了解递归的实际应用
本 章 教 学 内 容
数据结构概述
线性结构
非线性结构
基本算法
递归
本 章 学 习 重 点
数据结构的基本概念
算法的描述、流程图的使用以及算法的复杂度的衡量
顺序存储和链式存储的方法
栈、队列、串和数组的概念和用法
二叉树数据结构
查询、排序和递归算法
第一节 数据结构概述
5.1 数据结构概述
5.1.1 数据结构
数据是对客观事物的符号表示,是信息的载体,它能够被计算机识别、存储和加工处理,是计算机加工处理的对象,它可以是数值数据,也可以是非数值数据。数值数据是一些整数、实数或复数,主要用于工程计算、科学计算和商务处理等;非数值数据包括字符、文字、图形、图像、语音等。
数据元素是构成数据的基本单位。对于复杂事务的数学描述往往需要多个组成成分,每个基本的成分称为一个数据元素。有时,一个数据元素可以细分为一组数据项,数据项是数据中不可再分割的最小单位。研究具体问题时可以根据实际需要,确定数据的组成,即需要有多少数据元素,具体的数据元素是否再细分为数据项。
4.1 数据结构概述
4.1.1 数据结构
数据结构则是指互相之间存在着一种或多种关系的数据元素的集合。在任何问题中,数据元素之间都不会是孤立的,它们之间总是存在着这样或那样的关系,这种数据元素之间的关系称为结构。
根据数据元素间关系的不同特性,通常有下列四类基本的结构:
集合结构。在集合中,各数据元素间的关系是“属于同一个集合”。集合是元素关系极为松散的一种结构,各元素间没有直接的关联。
线性结构。该结构的数据元素之间存在着一对一的关系。
树型结构。该结构的数据元素之间存在着一对多的关系。
图形结构。该结构的数据元素之间存在着多对多的关系,图形结构也称作网状结构。
5.1 数据结构概述
5.1.1 数据结构
图 5‑1 四类基本结构的示意图
5.1 数据结构概述
4=5.1.1 数据结构
逻辑结构——数据元素之间的逻辑关系(设计算法—数学模型)
物理结构——数据结构在计算机中的映像(存储结构—算法的实现)
顺序存储结构——借助元素在存储器的相对位置来表示数据元素之间的逻辑关系。
链式存储结构——借助指示元素存储地址的指针表示数据元素之间的逻辑关系。
5.1 数据结构概述
5.1.1 数据结构
数据结构主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。因此,主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。
5.1 数据结构概述
5.1.2 算法
用计算机解决一个复杂的实际问题,大体需要如下的步骤。
(1)将实际问题数学化,即把实际问题抽象为一个带有一般性的数学问题。这一步要引入一些数学概念,精确地阐述数学问题,弄清问题的已知条件、所要求的结果、以及在已知条件和所要求的结果之间存在着的隐式或显式的联系。
(2)对于确定的数学问题,设计其求解的方法,即所谓的算法设计。这一步要建立问题的求解模型,即确定问题的数据模型并在此模型上定义一组运算,然后借助于对这组运算的调用和控制,从已知数据出发导向所要求的结果,形成算法并用自然语言来表述。这种语言还不是程序设计语言,不能被计算机所接受。
(3)用计算机上的一种程序设计语言来表达已设计好的算法。换句话说,将非形式自然语言表达的算法转变为一种程序设计语言表达的算法。这一步叫程序设计或程序编制。
(4)在计算机上编辑、调试和测试编制好的程序,直到输出所要求的结果。
5.1 数据结构概述
5.1.2 算法
1. 算法的概念
算法: 对问题求解的描述,为解决问题给出的一个确定的、有限长的操作序列。
算法具有以下五个重要的特征:
1)有穷性:一个算法必须保证执行有限步之后结束。
2)确切性:算法的每一步骤必须有确切的定义。
3)输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件。
4)输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法没有实际意义。
5)可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
5.1 数据结构概述
5
文档评论(0)