目录

  • 1 绪论
    • 1.1 数据结构的定义和基本术语
    • 1.2 数据的逻辑结构和存储结构
    • 1.3 算法和算法分析
  • 2 线性表
    • 2.1 线性表的定义及逻辑结构
    • 2.2 顺序存储结构
    • 2.3 链式存储结构
    • 2.4 应用:一元多项式的表示和相加
  • 3 栈和队列
    • 3.1 栈
    • 3.2 队列
  • 4 串
    • 4.1 资源
  • 5 数组
    • 5.1 数组
    • 5.2 广义表
  • 6 树和二叉树
    • 6.1 树的定义和基本术语
    • 6.2 二叉树
    • 6.3 遍历二叉树和线索二叉树
    • 6.4 树和森林
    • 6.5 哈夫曼树及其应用
  • 7 图
    • 7.1 图的定义和基本术语
    • 7.2 图的存储结构
    • 7.3 图的遍历
    • 7.4 图的应用
  • 8 查找
    • 8.1 查找的基本概念
    • 8.2 基于线性表的查找
    • 8.3 基于树的查找
    • 8.4 哈希表
  • 9 内部排序
    • 9.1 排序的定义和种类
    • 9.2 插入排序
    • 9.3 B-树和B+树
    • 9.4 交换排序
    • 9.5 选择排序
    • 9.6 归并排序和基数排序
  • 10 实验
    • 10.1 目的要求
      • 10.1.1 参考代码
图的存储结构

图有很多种存储结构。无论采用哪种存储结构,都要包含两部分信息:图中顶点的信息和描述顶点之间的关系。本节只介绍两种常用的图的存储结构:邻接矩阵表示法和邻接表表示法。

图的邻接矩阵(adjacency matrix)表示法也叫做图的数组表示法。顾名思义,这种表示方法是用一维数组存储图中顶点的信息,用矩阵表示图中各顶点之间的邻接关系。图的邻接矩阵的定义为:

               1  < vi vj >(vi vj) Î VR

A[ij]=

0  < vi vj >(vi vj) Ï VR

网的邻接矩阵定义为:

               wij  < vi vj >(vi vj) Î VR

A[ij]=

  < vi vj >(vi vj) Ï VR 

邻接表表示法

图的邻接表(adjacency list)表示法类似于树的孩子链表表示法。图中的顶点以顺序结构存储,且为每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi的各条边(对有向图是以顶点vi为尾的弧)。