数据结构教程

数据结构教程

ID:34561690

大小:983.69 KB

页数:92页

时间:2019-03-07

数据结构教程_第1页
数据结构教程_第2页
数据结构教程_第3页
数据结构教程_第4页
数据结构教程_第5页
资源描述:

《数据结构教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、努力就有进步,坚持就能成功第二部分数据结构概述数据结构是计算机专业基础课程之一,是十分重要的核心课程。计算机的所有系统软件和应用软件都要用到各种类型的数据结构。要想更好运用计算机来解决实际问题,仅仅学习计算机语言而缺乏数据结构知识是远远不够的,瑞士著名的计算机专家沃思(N.Writh)曾经说过:“算法+数据结构=程序”。可见有了程序设计的基本知识,掌握了一种程序设计语言,并不一定就能设计出比较好的程序,解决比较复杂的实际问题,还必须掌握数据结构及算法设计的基本知识。数据(Data)数据是信息的载体。它能够被

2、计算机识别、存储和加工处理,是计算机程序加工的"原料"。随着计算机应用领域的扩大,数据的范畴包括:整数、实数、字符串、图像和声音等。数据元素(DataElement)数据元素是数据的基本单位。数据元素也称元素、结点、顶点、记录。一个数据元素可以由若干个数据项(也称为字段、域、属性)组成。数据项是具有独立含义的最小标识单位。为了增加对数据结构的感性认识,下面举例来说明有关数据结构的概念。【例1.1】学生成绩表,见下表。注意:在表中指出数据元素、数据项、开始结点和终端结点等概念数据结构(DataStructur

3、e)数据结构指的是数据之间的相互关系,即数据的组织形式。1.数据结构一般包括以下三方面内容:①数据元素之间的逻辑关系,也称数据的逻辑结构(LogicalStructure);数据的逻辑结构是从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的。数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。②数据元素及其关系在计算机存储器内的表示,称为数据的存储结构(StorageStructure)数据的存储结构是逻辑结构用计算机语言的实现(亦称为映象),它依赖于计算机语言。对机器语言而言,存储结构是具体的。一

4、般,只在高级语言的层次上讨论存储结构。200努力就有进步,坚持就能成功③数据的运算,即对数据施加的操作。数据的运算定义在数据的逻辑结构上,每种逻辑结构都有一个运算的集合。最常用的检索、插入、删除、更新、排序等运算实际上只是在抽象的数据上所施加的一系列抽象的操作。所谓抽象的操作,是指我们只知道这些操作是"做什么",而无须考虑"如何做"。只有确定了存储结构之后,才考虑如何具体实现这些运算。(1)逻辑结构表中的每一行是一个数据元素(或记录、结点),它由学号、姓名、各科成绩及平均成绩等数据项组成。表中数据元素之间的

5、逻辑关系是:对表中任一个结点,与它相邻且在它前面的结点(亦称为直接前趋(ImmediatePredecessor))最多只有一个;与表中任一结点相邻且在其后的结点(亦称为直接后继(ImmediateSuccessor))也最多只有一个。表中只有第一个结点没有直接前趋,故称为开始结点;也只有最后一个结点没有直接后继。故称之为终端结点。例如,表中"马二"所在结点的直接前趋结点和直接后继结点分别是"丁一"和"张三"所在的结点,上述结点间的关系构成了这张学生成绩表的逻辑结构。(2)存储结构该表的存储结构是指用计算机

6、语言如何表示结点之间的这种关系,即表中的结点是顺序邻接地存储在一片连续的单元之中,还是用指针将这些结点链接在一起?(3)数据的运算在上面的学生成绩表中,可能要经常查看某一学生的成绩;当学生退学时要删除相应的结点;进来新学生时要增加结点。究竟如何进行查找、删除、插入,这就是数据的运算问题。搞清楚了上述三个问题,也就弄清了学生成绩表这个数据结构。2.数据的逻辑结构分类在不产生混淆的前提下,常将数据的逻辑结构简称为数据结构。数据的逻辑结构有两大类:(1)线性结构线性结构的逻辑特征是:若结构是非空集,则有且仅有一个

7、开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。线性表是一个典型的线性结构。栈、队列、串等都是线性结构。(2)非线性结构非线性结构的逻辑特征是:一个结点可能有多个直接前趋和直接后继。数组、广义表、树和图等数据结构都是非线性结构。第一章线性表“线性表”是指由有限多个类型相同的数据元素组成的集合,它有以下的特点:(1)有唯一的头结点(即第一个数据元素)和尾结点(即最后一个数据元素);(2)除结点外,集合中的每个数据元素均只有一个前驱;(3)除尾结点外,集合中的每一个数据元素均只有一个后

8、继。“线性表”是一种运用非常广范的数据结构。例一、某旅馆有100个房间,以1到100编号,第一个服务员来了,他将所有的房门都打开,第二个服务员再把所有编号是2的倍数的房门都关上,第三个服务员对编号是3的倍数的房门原来开的关上,原来关上的打开,此后的第四,五...服务员均照此办理。问第100个服务员走进后,有哪几扇门是开着的。201努力就有进步,坚持就能成功Programlt7_1_1;vardoor:array[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。