数据结构(Data Structure):是指相互之间存在一种或多种特定关系的数据元素集合,是带有结构的数据元素的集合,它指的是数据元素之间的相互关系,即数据的组织形式。
逻辑结构
系统的逻辑结构是从思想的角度上对系统分类,把系统分成若干个逻辑单元,不同逻辑单元分别实现自己的功能。数据的逻辑结构是对数据之间关系的描述,如顺序关系,隶属关系等,有时就把逻辑结构简称为数据结构,数据的逻辑结构分为以下四种:
1、集合结构:集合结构的集合中任何两个数据元素之间都没有逻辑关系,组织形式松散。
2、线性结构:数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
3、树状结构:树状结构是一个或多个节点的有限集合。
4、网络结构:网络结构是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。
存储结构
存储结构是指一个数据集合在计算机内存里是怎么样存储的.或者说在内存里怎么给一群数据分配内存.
数据的存储结构是指数据的逻辑结构在计算机中的表示。数据的存储结构分为顺序存储结构和链接存储结构两种。
1、顺序存储结构:顺序存储方法它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。
2、链接存储结构:链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。
从逻辑结构来分
数据结构可分为线性结构和非线性结构:
- 线性结构
线性结构又可以继续细分为:顺序表、链表、栈和队列、串、数组和广义表。 - 非线性结构
非线性结构可以分为集合、树(二叉树)、图。
从存储结构来分
一个数据结构在计算机中的表示(又称映像)称为存储结构。
可分为顺序存储和非顺序存储(或链式存储):
- 顺序存储
顺序存储的内存地址一定是连续的;
存储密度大;
比链式节约空间;
支持随机存取,方便操作;
适用于频繁查询时使用。 - 链式存储
内存地址不一定连续;
因为链式结构每一个节点都有一个指针存储域,比较占空间;
在插入和删除上比顺序方便;
适用于频繁插入、删除、更新元素时使用。
下面列举几个容易纠结≧ ﹏ ≦的点:
1、堆是非线性结构。
从数据结构层次理解,堆是一种特殊的树形数据结构,二叉树的一种,有最大堆最小堆每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。有最大堆最小堆每个结点都有一个值。堆分为大根堆,小根堆,大根堆就是树的根结点大于叶子结点。
2、多维数组可以用矩阵来表示,比如二维数组,但是多维数组是线性结构的,而矩阵是非线性结构。
线性是一种逻辑结构,数据结构中的除去首尾元素外,其他元素都有唯一的前驱和后继。多维数组元素之间的逻辑关系(前驱后继关系)通过数组下标体现出来的。 而矩阵通常认为元素之间没有特定的前后关系。因为缺少前后关系,所以矩阵就被划分为非线性结构。
3、若需要利用形式参数直接访问修改实参值,则应将形参说明为( )参数。
A、值参数
B、实地址
C、指针
D、地址参数
答案:C emmm,这道题有时有“引用”这个选项,**引用和指针**都是通过传地址来使形参直接访问实参的。