数据结构概念
数据结构是计算机存储、组织数据的方式。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构 可以带来更高的运行或者存储效率。
数据
-
程序的操作对象。用于描述客观事物。
数据元素
:
组成数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据项
:
一个数据元素由若干数据项组成。
数据对象
-
性质相同的数据元素的集合
(
比如
:
数组
,
链表
).
根据数据元素之间关系的不同 特性,分为4
中基本结构:
1
)集合:结构中的数据元素之间除了
"
同属于一个集合
"
的关系外,别无其他关系;
2
)线性结构:结构中的数据元素之间存在一个对一个的关系;
3
)树形结构:结构中的数据元素之间存在一个对多个的关系;
4
)图状结构:结构中的数据元素之间存在多个对多个的关系。
线性表
线性表是零个或者多个数据元素的有限序列。
特性
:
数据元素之间是有顺序的
.
数据元素个数是有限的
.
数据元素的类型必须相同
.
线性表是一个相当灵活的数据结构,他的长度可根据需要增长或缩短,即对线性表的数据元素不仅可以 进行访问,还可进行插入和删除等。
数据元素之间的关系在计算机中有四种不同的存储结构:
顺序存储结构、链式存储结构
、索引存储结构 和散列存储结构。
链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接 次序实现的。
表头结点
链表中的第一个结点
,
包含指向第一个数据元素的指针以及链表自身的一
-
些信息
数据结点
链表中代表数据元素的结点
,
包含指向下一个数据元素的指针和数据元素的信息
尾结点
链表中的最后一个数据结点
,
其下一元素指针为空
,
表示无后继。
链表分为
1.
单链表:线性表的链式存储结构中
,
每个节点中只包含一个指针域
,
这样的链表叫单链表
2. 双链表:
线性表的链式存储结构中
,
每个节点中包含两个指针域。
3. 单向循环链表:
线性表的链式存储结构中 ,每个节点中只包含一个指针域。 表中最后一个结点的指针域指向头结点,整个链表形成一个环
4. 双向循环链表:线性表的链式存储结构中 ,每个节点中包含两个指针域。 表中最后一个结点的指针域指向头结点和表中头结点的指针指向最后一个节点,整个链表形成两个环