数据结构 第6章 图(一轮习题总结)

数据结构 第6章 图

  • 6.1 图的基本概念
  • 6.2 图的存储及基本操作
  • 6.3 图的遍历
  • 6.4 图的应用

6.1 图的基本概念(2 4 11)
6.2 图的存储及基本操作(1 12 13 15 16)
6.3 图的遍历(2 3 5 16)
6.4 图的应用(1 4 5 6 8 9 10 11 13 14 19 24 25 28 33 34)

6.1 图的基本概念

  • T2
    一个有个顶点和n条边的图,一定是有环的。
  • T4
    无向图的连通分量 = 极大连通子图
    图的遍历:每个结点只访问一次;若为非连通图,可能某顶点出不能完全访问。
  • T6
    完全无向图中,n个顶点,边=n(n-1)/2
  • T11
    极大连通子图:连通分量
    极小连通分量:图的生成树

6.2 图的存储及基本操作

  • T1
    图的拓扑序列 / DAG图:一个有向图中不存在环
    (对应的领接矩阵对角线以下元素全为0,图一定没有环,即图的拓扑序列一定存在,但拓扑序列不唯一)
    拓扑排序的算法:
    (1)从有向图中选择一个没有前驱(即入度为0)的顶点并输出。
    (2)从网中删除该顶点,并删除从该顶点出发的全部的有向边。
    (3)重复上述步骤,直到剩余网中不再存在没有前驱的顶点为止。
  • T12
    无向图没有自己指向自己的边
    无向图的邻接表最多有n(n-1)个边表结点,每条边存储两边
  • T15 T16
    领接多重表——无向图(顶点结点:data firstedge;弧结点…)
    十字链表——有向图:(顶点结点:data firstin firstout;弧结点…)
    领接矩阵、领接表——无向图、有向图

6.3 图的遍历

  • T1
    广度优先可以解决各边权值相等单源最短路径问题
  • T2
    在DFSTraverse函数中调用DFS函数的次数 = 连通分量数
  • T3
    DFS和BFS的时间复杂度以及空间复杂度都相等
    (1)空间复杂度:O(n);深度优先DFS—栈;广度优先BFS—队列
    (2)时间复杂度:领接表O(n+e)领接矩阵O(n2)
  • T5
    深度优先遍历的注意点:若出现环,退回求下一个顶点(栈)

6.4 图的应用

  • T1
    任何一个无向连通图的最小生成树,有一棵或多颗
    (若权值相同,不唯一,但本身为一棵树,唯一;权值不同,唯一)
  • T4
    简单路径:没有环的路径
    Dijkstra(从一个顶点到其他所有顶点的最短路径):可以求有回路;可以求任意两点最短路径;但不适合求带权值的最短路径
  • T5
    选择题求最短路径:直接计算选项比较
  • T6
    判断一个有向图是否有环:深度优先遍历、拓扑排序、(求关键路径)
    求关键路径的第一步是拓扑排序(有争议)
    求最短路径不能判断是否有环,有环图也可以求最短路径
  • T8
    在拓扑排序算法中,暂存的入度为0的顶点,可以使用栈,也可以使用队列
    (他们之间前后关系任意)
  • T9
    强连通图:任意两顶点都连通(有环)
    若有向图不能排成拓扑序列,则该有向图含有顶点数大于1的强连通分量,可能不是强连通图
  • T10
    求拓扑序列:注意对入度为0的顶点的判断
  • T11
    有序的拓扑序列 = 唯一的拓扑序列
    (有争议?没明白?)
  • T13
    (求关键路径)
  • T15
    缩短关键路径上任意一个关键活动的持续时间,不一定能缩短关键路径的长度
    (关键路径并不唯一,要减少在所有关键路径上的关键活动才可以)
  • T19 T24 T33
    (Dijkstra算法:手算)
    求出第二条最短路径后,dist中点内容更新=加上第二条最短路径点结果
  • T25
    (n个顶点e个边)拓扑排序的时间复杂度是领接表O(n+e)领接矩阵O(n2)
  • T28
    (表达式转化为二叉树)
  • T34
    AOE网中求事件余量最大的活动:
    1)求出事件的ve和vl
    2)活动的时间余量=vl(后)-ve(前)

你可能感兴趣的:(408:数据机构(习题知识点),数据结构,算法,c语言)