发布网友 发布时间:2022-04-23 22:54
共2个回答
热心网友 时间:2022-04-02 13:57
学习数据结构中的图参照以下步骤,对着书看,包会。
学习先决条件:指针基础 数组和链表 图的基本概念(如边,顶点,路径,权值)
1 理解图的两大存储结构
1-1 邻接矩阵
1-2 邻接表
注意:邻接表中,指针数组里的每一个指针都是一个单链表的头指针
注意:单链表里每个节点里存储的是图中每条边的信息。
2 理解图的遍历算法
2-1 深度优先遍历 dfs
注意:花半小时看懂dfs的递归代码。
2-2 宽度优先遍历 bfs
注意:又叫广度优先算法,需要一个队列,用非递归实现,请用半小时看懂实现代码。
3 图的最小代价生成树算法
3-1 普里姆算法
注意:把书上给的图文例子看懂。
3-2 克鲁斯卡尔算法
注意:把书上给的图文例子看懂
注意:克鲁斯卡尔的时间复杂度
4 AOV和AOE网络
4-1 AOV 拓扑排序算法过程
注意:AOV和AOE都可以理解为一个工程图,工程由很多项目组成,项目直接有相互依赖。不同的是,AOV图中的顶点代表项目,对比后文的AOE。
4-2 AOE 最长路径
注意:与AOV相反,AOE用边来代表项目,因此边的权值可以理解为这个项目消耗的时间。
5 图的最短路径算法
5-1 迪杰斯特拉算法
注意:把书上给的图文例子看懂。
注意:此算法求的是某个给定顶点到其他各顶点的最短路径(单源)。
5-2 弗洛伊德算法
注意:把书上的图文例子看懂。
注意:此算法求的是图中所有顶点 的两两最短路径。
热心网友 时间:2022-04-02 15:15
画联系图,直观观察,就能理出头绪(数据之间的关系)。