数据结构包含的内容
数据 是描述和量化客观事物和信息等的符号,在计算机领域是指所有能输入计算机并能被计算机系统和程序识别、存储、加工和处理的符号的总称。
数据元素 是数据的基本单位,在计算机程序中通常把数据元素作为一个整体来存储和处理。数据元素可以只是单个的数据项,也可以由多个数据项复合组成。
数据项 是数据不可分割的最小单位。
数据对象 是数据的一个子集,是性质相同的数据的集合。
数据结构 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据元素间的关系称为结构。数据结构一般包括三个方面的内容:
- 数据的逻辑结构
- 数据的存储结构
- 数据的运算
数据的逻辑结构 数据的逻辑结构是指数据元素间的逻辑关系,也就是数据元素间抽象关系的描述。根据数据间的不同特性,通常有四类基本结构。
- 集合:结构中的数据除了“同属于一个集合”的关系外,不存在其他关系。
- 线性结构:结构中的数据元素的位置之间存在一对一的关系。
- 树形结构:结构中的元素之间存在一对多的关系。
- 图状结构:结构中的数据元素存在多对多的关系。图状结构又称网状结构。
数据的存储结构 是指数据的逻辑结构在计算机中的表示。它包含两方面的含义。其一是如何在计算机中存储数据元素。 其二是如何体现数据元素之间的逻辑关系。即数据的存储结构包括数据元素的表示和关系的表示。 数据的存储结构可分为:
- 顺序存储
- 链式存储
- 索引存储
- 散列存储结构
数据的运算 是对数据施加的操作。它定义在逻辑结构上,也就是说,一旦数据的逻辑结构确定了,就可以定义在这种逻辑结构上可以进行何种运算了。但是,数据的运算的具体实现是依赖于数据的存储结构的。同样的逻辑结构可能有不同的存储结构,在不同的存储结构上实现同一个数据运算的方法也不一样。所以,要具体实现某个运算,还要根据数据的存储结构来定。
线性结构
- 数组
- 栈
- 队列
- 链表
- 哈希表
树结构
- 二叉树
- 二分搜索树
- AVL
- 红黑树
- Treap
- Splay
- 堆
- Trie
- 线段树
- K-D树
- 并查集
- 哈夫曼树
图结构
- 邻接矩阵
- 邻接表