主题:数据结构 图结构
标题1: 图的深度和广度优先遍历
描述: 以邻接矩阵给出一张以整数编号为顶点的图,其中0表示不相连,1表示相连。按深度和广度优先进行遍历,输出全部结果。要求,遍历时优先较小的顶点。如,若顶点0与顶点2,顶点3,顶点4相连,则优先遍历顶点2.
输入: 顶点个数
邻接矩阵
输出: DFS
深度遍历输出
WFS
广度遍历输出
输入样例: 3
0 1 1
1 0 1
1 1 0
输出样例: DFS
0 1 2
1 0 2
2 0 1
WFS
0 1 2
1 0 2
2 0 1
提示: 顶点整数从0 开始
标题2: 拓扑排序
描述: 以邻接矩阵给出一张以整数为结点的有向图,其中0表示不是相邻结点,1表示两个结点相连且由当前结点为初始点。利用拓扑排序判断图中是否有环,若有输出YES没有输出NO
输入: 结点数
邻接矩阵
输出: YES/NO
输入样例: 3
0 1 0
1 0 1
1 0 0
输出样例: YES
提示:
来源: 教材P180-182
标题3: Prim和Kruskal最小生成树
描述: 给出一个矩阵,要求以矩阵方式单步输出生成过程。
要求先输出Prim生成过程,再输出Kruskal,每个矩阵输出后换行。
注意,题中矩阵表示无向图
输入: 结点数
矩阵
输出: Prim:
矩阵输出
Kruskal:
矩阵输出
输入样例: 3
0 1 3
1 0 2
3 2 0
输出样例: 3
0 1 3
1 0 2
3 2 0
Prim:
0 0 0
0 0 0
0 0 0
0 1 0
1 0 0
0 0 0
0 1 0
1 0 2
0 2 0
Kruskal:
0 0 0
0 0 0
0 0 0
0 1 0
1 0 0
0 0 0
0 1 0
1 0 2
0 2 0
提示: Kruskal 中的边集合应用拓扑排序的想法排除环
来源: 教材P170-179
标题4: 关键路径
描述: 以邻接矩阵给出有向图,其中0表示结点不相连,整数表示两个结点相连,且权重为这个整数,方向为由行号指向列号如在(2,1)位置是3表示,由2结点指向1结点。请以此输出关键路径,输出时按有向图的方向输出。
输入: 结点数
邻接矩阵
输出: 关键路径
输入样例: 3
0 3 1
0 0 1
0 0 0
输出样例: 0 1 2
提示: 结点整数从0 开始,输入时序号与结点信息整数相同
来源: 材P183-185
标题5: 迷宫最最短路径
描述:
迷宫是一个二维矩阵,其中0为墙不能通过,1为路可以通过,3为入口,4为出口.要求从入口开始,从出口结束,求得最短路径并输出。
输入: 迷宫高度h 迷宫宽度w
迷宫第一行
迷宫第二行
...
迷宫第h 行
输出: 入口行号1 入口列号1
行号2 列号2
行号3 列号3
行号4 列号4
...
行号n-1 列号n-1
出口行号n 出口列号n
输入样例: 5 6
0 0 0 0 0 0
0 3 1 1 1 0
0 1 1 0 1 0
0 1 1 0 4 0
0 0 0 0 0 0
输出样例: 1 1
1 2
1 3
1 4
2 4
3 4
提示: 参见教材 50 页
迪杰斯算法