数据结构包含的内容

  1. 数据 是描述和量化客观事物和信息等的符号,在计算机领域是指所有能输入计算机并能被计算机系统和程序识别、存储、加工和处理的符号的总称。

  2. 数据元素 是数据的基本单位,在计算机程序中通常把数据元素作为一个整体来存储和处理。数据元素可以只是单个的数据项,也可以由多个数据项复合组成。

  3. 数据项 是数据不可分割的最小单位。

  4. 数据对象 是数据的一个子集,是性质相同的数据的集合。

  5. 数据结构 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据元素间的关系称为结构。数据结构一般包括三个方面的内容:

    • 数据的逻辑结构
    • 数据的存储结构
    • 数据的运算
  6. 数据的逻辑结构 数据的逻辑结构是指数据元素间的逻辑关系,也就是数据元素间抽象关系的描述。根据数据间的不同特性,通常有四类基本结构。

    • 集合:结构中的数据除了“同属于一个集合”的关系外,不存在其他关系。
    • 线性结构:结构中的数据元素的位置之间存在一对一的关系。
    • 树形结构:结构中的元素之间存在一对多的关系。
    • 图状结构:结构中的数据元素存在多对多的关系。图状结构又称网状结构。
  7. 数据的存储结构 是指数据的逻辑结构在计算机中的表示。它包含两方面的含义。其一是如何在计算机中存储数据元素。 其二是如何体现数据元素之间的逻辑关系。即数据的存储结构包括数据元素的表示和关系的表示。 数据的存储结构可分为:

    • 顺序存储
    • 链式存储
    • 索引存储
    • 散列存储结构
  8. 数据的运算 是对数据施加的操作。它定义在逻辑结构上,也就是说,一旦数据的逻辑结构确定了,就可以定义在这种逻辑结构上可以进行何种运算了。但是,数据的运算的具体实现是依赖于数据的存储结构的。同样的逻辑结构可能有不同的存储结构,在不同的存储结构上实现同一个数据运算的方法也不一样。所以,要具体实现某个运算,还要根据数据的存储结构来定。

线性结构

  1. 数组
  2. 队列
  3. 链表
  4. 哈希表

树结构

  1. 二叉树
  2. 二分搜索树
  3. AVL
  4. 红黑树
  5. Treap
  6. Splay
  7. Trie
  8. 线段树
  9. K-D树
  10. 并查集
  11. 哈夫曼树

图结构

  1. 邻接矩阵
  2. 邻接表