- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
新世纪应用型高等教育
计算机类课程规划教材
数据结构
新世积
1.1.1用计算机求解问题与数据结构
计算机常被人们称为数据处理器。在计算机发展的初期,计算机所处理的数据基本上都是数值型数据,完成的操作基本上都是数值计算。例如,大家熟悉的“鸡兔同笼”问题等。然而,随着计算机软、硬件的发展,计算机的应用范围在不断扩大,计算机处理的对象已不再是单纯的数值型数据,完成的操作也已不是数值计算,而更多的是非数值计算。此时,用计算机处理问题就必须首先考虑数据的组织问题。
第1章绪论
1.1数据结构
1.1.2基本概念和术语
1.数据和信息
数据(Data)指的是描述客观事物且能输入到计算机中并被计算机程序处理的符号的总称;信息指的是其中的内涵。随着应用的推广,数据所能描述的信息越来越丰富,包括整数、实数、字符、文字、图形和音频等。
2.数据元素
数据元素(DE)是数据的基本单位。在计算机程序中通常作为一个整体进行考虑和处理。
数据元素可以是不可分割的“原子”,例如一个字符“K”;也可由若干项组成,例如,在学生信息管理系统中的一个学生基本情况就是一个数据元素,它包括学号、姓名、性别、专业等4项,其中每一项称为一个”数据项(dataitem)”。在不同的条件下,数据元素也称为结点、记录等。
1.1数据结构
3.关键码
关键码(key)指的是数据元素中能起标识作用的数据项,例如学生信息表中的学号和姓名。其中能起惟一标识作用的关键码称为“主关键码”,如学号;反之称为“次关键码”,如姓名。
4.数据对象
数据对象(dataobject)是具有相同性质的数据元素的集合,是数据的一个子集。例如,整数数据对象是集合N={0,±1,±2,…},字母字符数据对象是集合C={A’,B,…,
’Z}。学生信息管理系统中的学生表也可看成一个数据对象。
1.1数据结构
1.1.3数据的逻辑结构
数据结构(datastructure)是指相互之间存在一种或多种关系的数据元素的集合。数据结构包括数据的逻辑结构和数据的物理结构。
数据的逻辑结构
数据的逻辑结构是指数据元素之间的逻辑关系。数据的逻辑结构可以用二元组表示:Data_structure=(D,R)
其中,D是数据元素的有限集。
R是D上关系的有限集。
1.1数据结构
集合结构指数据元素之间除了同属一个集合外,不存在其他关系。线性结构中的数据元素之间存在一对一的关系。树型结构中的数据元素之间存在一对多的关系。网状结构中的数据元素之间存在多对多的关系。
(a)集合结构
(b)线性结构
(d)网状结构
A
BCD
EGH
①k
(c)树型结构
图1-24种基本的逻辑结构
1.1数据结构
1.1.4数据的存储结构
数据的存储结构就是数据的逻辑结构在计算机中的表示(或映像),与逻辑结构相对应,存储结构包括数据元素的表示和关系的表示两个方面。
数据的存储结构可以采用顺序存储方法和链式存储方法。
顺序存储方法是把逻辑上相邻的元素存储在物理位置相邻的存储单元中,使得逻辑上相邻的元素一定是物理位置相邻。这种映象是通过物理存储单元的相邻来体现结点间相邻的逻辑关系。
顺序存储结构通常用于存储具有线性结构的数据,是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。
1.1数据结构
1.1.5数据的运算
对于每一个数据结构而言,必定存在与它有关的一组操作,一般而言有下列操作:
①结构的生成
②结构的销毁
③在结构中查找满足条件的数据元素
④在结构中插入新的元素
⑤删除结构中已有的数据元素等
1.1数据结构
在程序设计中,数据和运算是两个不可缺少的因素,所有的程序设计活动都是围绕着数
据和其相关运算而进行的,都必须对程序中出现的每一个变量、常量或表达式明确说明它们所属的数据类型。
数据类型反映了数据的取值范围以及对这类数据可以施加的运算。例如,在高级程序设计语言中的整数都具有下列”数学特性”:1)它是…-2,-1,0,1,2,…这样一个序列;2)它可以进行”+、-、””、/及取模等运算。
在高级程序设计语言中引入了整型、实型和布尔型等基本数据类型,程序员在编制程序时就可以将其数据对象建立其上,避免了复杂的机器表示。数据类型就像一层外衣,使得程序员只需知道如何使用整数、实数和布尔数,而不需要了解机器的内部细
文档评论(0)