哈工大c语数据结构作业解析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈工大c语数据结构作业解析

第—部分数据结构绪论计算机应用相当普遍,计算机的应用已不再局限于科学计算,而更多用于控制、管理及数据处理等非数值计算的处理工作。与此相应,计算机加工处理的对象由纯粹的数值发展到字符、表格和图像等各种具有一定结构的数据,这就给程序设计带来一些新的问题。为了编写出一个好的程序,必须分析待处理的对象的特性以及各处理对象之间存在的关系。这就是数据结构学科形成和发展的背景。1.1数据结构一般来说,用计算机解决一个问题时,需要经过如下几个步骤:首先要从具体问题中抽象出一个适当的数学模型,然后设计一个对此数学模型进行操作的算法,最后编写出程序直至得到解答。例l:图书馆的书目检索系统。当你想借阅一本参考书时,你需要到图书馆去查阅图书目录卡片。如果利用计算机实现自动检索,则计算机处理的对象便是这些目录卡片上的书目信息,列在卡片上的一本书的书目信息可由登录号、书名、作者名、分类号、出版单位和出版时间等各项组成。每一本书都有唯一的一个登录号。在书目自动检索系统中建立一张按登录号顺序排列的书目文件,如图1.1,这个文件就是书目自动检索系统中的数学模型。计算机的主要操作就是按照某个特定要求(如给定书名)对书目文件进行查询。001高等数学樊映川S01……002理论力学罗远祥L01……003高等数学华罗庚S01……004线性代数栾汝书S02…………………图1.11.2 基本概念1.2.1数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。如数值、字符串、图像、声音都是数据。1.2.2数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理单位,通常—个数据元素可由若干个数据项组成。如书目文件中一本书的书目信息就是一个数据元素。书目信息中的每一项(如书名、作者名)为一个数据项,数据项是不可分割的最小单位。1.2.3数据对象是性质相同的数据元素的集合,是数据的子集。1.2.4数据结构简单的说,是相互之间存在一种或多种特定关系的数据元素的集合。数据结构没有一个明确的定义,它包括三个要素:1. 数据的逻辑结构数据的逻辑结构抽象地反映数据元素之间的逻辑关系,而不管这种逻辑关系在计算机中是如何表示的。数据的逻辑结构分为线性结构和非线性结构。若各个数据元素之间的逻辑关系可以用一个线性序列简单的表示出来,则称之为线性结构,否则称为非线性结构。如书目文件中表示一个数据元素,书目文件可表示成(,,……),所以它是一个线性结构。如图二:数据元素之间的逻辑关系不能用一个线性序列表示出来,所以数据的逻辑结构是非线性结构。图二2. 数据的存储结构数据的存储结构是逻辑结构在计算机存储器里的实现。数据的逻辑结构在存储器中的映像应包括数据元素自身值和数据元素之间关系的表示。这样在存储器中,某个结点有两个域,一个是存放自身值的域,用标识符info表示这个域;另一个是存放该结点与其它结点关系的域,用标识符1ink表示这个域。3. 数据的运算数据的运算是定义在数据的逻辑结构上的,但运算的具体实现要在存储结构上进行。数据的各种逻辑结构都有相应的运算,常用的运算有检索、插入、删除、更新和排序等。1.3 主要的数据存储方式数据之间的逻辑关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,相应的得到两种不同的存储结构:顺序存储结构和链式存储结构。1.3.1顺序存储结构把逻辑上相邻的数据元素存储在物理上相邻的存储单元里。特点:只有信息域,没有指针域。可以通过计算直接确定第i个结点的存储地址。,其中是第一个结点的存储地址,m是每个结点所占用的存储单元数。插入操作和删除操作不方便。1.3.2链式存储结构链式存储结构就是每个结点至少包括一个指针域,用指针来体现数据元素之间的逻辑关系。特点:除了有信息域,还有指针域;逻辑上相邻,物理上不必相邻;插人操作和删除操作方便。4C语言简介第二章线性表2.1 线性表1. 定义线性表的逻辑结构是个数据元素的有限序列,(),其中,称为空表,称为始结点,称为终结点,其余的结点有且仅有一个后继结点,有且仅有一个前趋结点。2. 线性表具有以下特性(1)线性表中所有数据元素,其性质是相同的,即数据类型是一致的。(2)数据元素之间的相对位置是线性的。3. 对线性表经常进行的一些操作(l) 查找操作查找第i个结点查找值为x的结点(2) 插入操作在线性表的第i个结点前面插入一个新结点在线性表的第i个结点后面插入一个新结点在线性表的值为x的结点前面插入一个新结点在线性表的值为x的结点后面插入一个新结点(3) 修改操作用新结点替换线性表中的第i个结点用新结点替换线性表中值为x结点(4) 排列操作按结点值递增的顺序重新排列线性表的结点按结点值递减的顺序重新排列线性表的结点这是常见的对线性表进行的几种操作。2.2 线性表的顺序存储

文档评论(0)

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

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

1亿VIP精品文档

相关文档