《C语言程序设计与数据结构》课件祥解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计与数据结构 第12章 数据结构绪论 教学目标:通过本章的学习,使读者能够掌握数据结 构的概念和有关的术语。 12.1 什么是数据结构 计算机科学技术的广泛应用已从传统的数值计算领域发展到各种非数值计算领域。为了有效地处理数据,需要为数据建立一定的结构,描述所处理的对象的特性以及各对象之间的关系。 数据结构这门学科主要是研究各种结构、定义在各种结构上的操作和这些操作在计算机中的实现方法。 用计算机解决一个具体问题时要考虑以下步骤 从具体问题中抽象出一个适当的数学模型。即从具体问题中找出操作对象之间含有的关系,然后用数学语言加以描述。 设计一个适合该数学模型的算法(Algorithm)。 编写程序。 (4) 进行测试、调整、修改,直至解决问题。 所以,数据结构是研究程序设计中计算机操作的对象以及它们之间的关系和运算的一门学科。 对象之间的关系 实际问题中,各个对象之间的关系有: 线性的:列车中各车箱之间的关系,排队买车票的人之间的关系,一叠盘子中各盘子之间的关系都是线性的。 层次的:在军队的编制中,军下面是师,师下面是团,军、师、团之间是层次关系;在人的辈分关系中,祖辈下是父辈,父辈下是子辈,这些是层次关系;在学校的编制中,学校分成若干个学院、学院下又分成若干个系、系下又分成若干个教研室,这些也都是层次关系。 网状的:在城市铁路交通图中,各城市之间的关系是网状关系。在电话网中,各电话之间是网状关系。 12.2 基本概念和术语 数据 数据是人们利用文字符号、数字符号以及其他规定的符号对现实世界的事物及其活动所做的描述。在计算机科学中,数据的含义非常广泛,我们把一切能够输入到计算机中并被计算机程序处理的信息,包括文字、表格、图象等,都称为数据。 数据举例 一个个人书库管理程序所要处理的数据可能是一张如表所示的表格。 结点 结点也叫数据元素,它是组成数据的基本单位。在程序中通常把结点作为一个整体进行考虑和处理。例如,在上表所示的个人书库中,为了便于处理,把其中的每一行(代表一本书)作为一个基本单位来考虑,故该数据由10个结点构成。 一般情况下,一个结点中含有若干个字段(也叫数据项)。例如,在上表所示的表格数据中,每个结点都有登录号、书号、书名、作者、出版社和价格等六个字段构成。 字段是构成数据的最小单位。 逻辑结构 结点和结点之间的逻辑关系称为数据的逻辑结构。 在上表所示的表格数据中,各结点之间在逻辑上有一种线性关系,它指出了10个结点在表中的排列顺序。根据这种线性关系,可以看出表中第一本书是什么书,第二本书是什么书,等等。 存储结构 数据在计算机中的存储表示称为数据的存储结构。 在上表所示的表格数据在计算机中可以有多种存储表示,例如,可以表示成数组,存放在内存中;也可以表示成文件,存放在磁盘上,等等。 数据处理 数据处理:是指对数据进行查找、插入、删除、合并、排序、统计以及简单计算等的操作过程。 例: 从数据结构S中找出满足条件的结点在 S 中位置的运算是___型运算。 从数据结构S中读出结构中指定位置上内容运算是___型运算。 从数据结构S中修改结构中某指定结点内容的运算是____型运算。 数据结构(Data Structure) 数据结构:是研究数据元素(Data Element)之间抽象化的相互关系和这种关系在计算机中的存储表示(即所谓数据的逻辑结构和物理结构),并对这种结构定义相适应的运算,设计出相应的算法,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。 为了叙述上的方便和避免产生混淆,通常我们 把数据的逻辑结构统称为数据结构;把数据的物理结构统称为存储结构(Storage Structure)。 数据类型 数据类型是指程序设计语言中各变量可取的数据种类。数据类型是高级程序设计语言中的一个基本概念,它和数据结构的概念密切相关。 一方面,在程序设计语言中,每一个数据都属于某种数据类型。类型明显或隐含地规定了数据的取值范围、存储方式以及允许进行的运算。可以认为,数据类型是在程序设计中已经实现了的数据结构。 另一方面,在程序设计过程中,当需要引入某种新的数据结构时,总是借助编程语言所提供的数据类型来描述数据的存储结构。 算法 简单地说就是解决特定问题的方法。特定的问题可以是数值的,也可以是非数值的。 解决数值问题的算法叫做数值算法,科学和工程计算方面的算法都属于数值算法,如求解数值积分,求解线性方程组、求解代数方程、求解微分方程等。 解决非数值问题的算法叫做非数

文档评论(0)

光光文挡 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档