数据结构(C语言版)

基本概念及术语

数据结构基本概念
1.数据
所有能输入到计算机中并被程序处理的符号集合。
2.数据元素
数据的基本单位,在计算机程序中通常被作为一个整体考虑和处理。
3.数据项
数据不可分割的最小单位,相当于记录的”域”或者字段。
4.数据对象
性质相同的数据元素的集合,是数据的一个子集。如大写字母就是一个数据对象。
5.数据结构
(1)简单定义:相互之间存在一种或多种特定关系的数据元素的集合,这种数据元素的相互关系称为结构。
(2)形式定义:是指数据结构是一个二元组,Data_Structure=(D,S),D是数据元素的有限集,S是D上关系的有限集。
例:如图所示的矩阵,对应数组表示为A=(D,R)
D={1,2,3,4,5,6,7,8,9,10,11,12};
R={r1,r2}
r1表示行关系,r2表示列关系。

A=147102581136912

6.数据的逻辑结构
元素之间的逻辑关系,即数据元素之间的关联方式或临接关系。
7.存储结构(物理结构)
数据的逻辑结构在计算机中的表示(映像)
8.数据的运算
对数据施加的操作。
数据的运算定义的数据的逻辑结构层次上,只有确定了存储结构,才能具体实现这些运算。
9.数据类型
一个值的集合&定义在这个值集上的一组操作的总称。
规定了该类型数据的取值范围和所能进行的操作。
10.抽象数据类型ADT
一个数据模型及定义在该模型上的一组操作。
数据类型指的是高级程序设计语言支持的基本数据类型。
而抽象数据类型通常指的是自定义的数据类型,由基本数据类型组成,并包含一组相关操作。
可以用三元数组(D,S,P)表示
D:数据对象
S:D上的关系集
P:对D的基本操作
数据结构的分类
1.按数据之间的关系分
(1)线性结构
该结构中的结点之间存在一对一的关系
特点:开始结点没有前驱,终端结点没有后继。
除了开始结点和终端结点,其余结点都有且仅有一个直接前驱和直接后继。
(2)非线性结构
结构中的结点之间存在一对一或多对多的关系。
2.按逻辑结构分
(1)集合结构
数据元素同属于一个集合,每个数据元素都和其它元素无任何关系。
(2)线性结构
数据元素之间存在着一对一的线性关系。
(3)树型结构
数据元素之间存在着一对多的层次关系
(4)图形结构(网状结构)
数据元素之间是多对多的任意关系,如公交站点
3.按存储方式分
(1)顺序存储结构
用一个连续的地址空间,把逻辑上相邻的结点按某个次序放在物理位置上相邻的存储单元里。
结点之间的逻辑关系由存储单元的邻接关系体现。
通常借助程序语言中的数组描述。
(2)链式储存结构
不要求逻辑上相邻的结点在物理位置上也相邻。
结点间的逻辑关系是由附加的指针字段来表示的。
通常借助于程序语言的指针来描述。
(3)索引存储结构
除建立结点信息外,还要建立附加的索引来标识结点的地址。
(4)散列存储结构
选择一适当的散列函数,根据结点的关键字直接计算出该结点的存储地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值