摘要: 关键路径 AOE网 在带权有向图中,以顶点表示事件,以有向边表示活动,以边上的权值表示完成该活动的开销(如完成活动所需的时间),称之为用边表示活动的网络,简称AOE网。 AOE网具有以下两个性质: 只有在某个顶点所代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始; 只有在进入某顶点的各有 阅读全文
posted @ 2020-06-30 14:22 Jev_0987 阅读(1147) 评论(0) 推荐(0)
摘要: 拓扑排序 AOV网 用顶点表示活动的网 用DAG图(有向无环图)表示一个工程。顶点表示活动,有向边<vi,vj>表示活动vi必须先于vj进行 不允许存在环路 拓扑排序 拓扑排序:在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序: ①每个顶点出现且只出现一次。 阅读全文
posted @ 2020-06-30 14:20 Jev_0987 阅读(773) 评论(0) 推荐(0)
摘要: 有向无环图——描述表达式 DAG图 若一个有向图中不存在环,则称为有向无环图,简称DAG图 DAG描述表达式 节省存储空间 解题方法 Step1:把各个操作数不重复地排成一排 Step2:标出各个运算符的生效顺序(先后顺序有点出入无所谓) Step3:按顺序加入运算符,注意“分层“ (利用下面一层的 阅读全文
posted @ 2020-06-30 14:19 Jev_0987 阅读(3798) 评论(0) 推荐(0)
摘要: 最短路径——Floyd算法 可以用来求带权图和无权图 Floyd算法:求出每一对顶点之间的最短路径 使用动态规划思想,将问题的求解分为多个阶段 第一个矩阵就是图的邻接矩阵 第二个矩阵表示两个顶点之间的中转点 遍历上一个阶段留下来的矩阵A,对于上一个矩阵A当中的每一个具体的元素我们都进行: 若 A^( 阅读全文
posted @ 2020-06-30 14:17 Jev_0987 阅读(514) 评论(0) 推荐(0)
摘要: 最短路径——Dijkstra算法 BFS算法的局限性 Dijkstra算法 第一轮:循环遍历所有结点,找到还没确定最短路径,且dist最小的顶点vi,令final[i]=true; 检查所有邻接自vi的顶点,若其final值为false,则更新dist和path的信息 第二轮:循环遍历所有结点,找到 阅读全文
posted @ 2020-06-30 14:13 Jev_0987 阅读(326) 评论(0) 推荐(0)
摘要: 最短路径——BFS算法 单源最短路径问题 每对顶点间的最短路径 BFS求无权图的单源最短路径 bool visited[MAX_VERTEX_NUM]; //访问标记数组 //广度优先遍历 void BFS(Graph G,int v){ //从定点出发,广度优先遍历图G visit(v); //访 阅读全文
posted @ 2020-06-30 14:12 Jev_0987 阅读(6143) 评论(0) 推荐(1)
摘要: 最小生成树 生成树是啥? 包含图中全部顶点的一个极小的联通子图。 n个顶点,n-1条边 最小生成树(最小代价树) 带权的连通图,找到各边权值之和最小的 对于一个带权的无向图G=(V,E),生成树不同,每棵树的权也可能不同。设R为G的所有生成树的集合,若T为R中边的权值之和最小的生成树,则T称为G的最 阅读全文
posted @ 2020-06-30 14:10 Jev_0987 阅读(234) 评论(0) 推荐(0)
摘要: 图的遍历DFS 与树的深度优先遍历之间的联系 树的深度优先遍历分为:先根,后根 //树的先根遍历 void PreOrder(TreeNode *R){ if(R!=NULL){ visit(R); //访问根节点 while(R还有下一个子树T) PreOrder(T); //先根遍历下一棵子树 阅读全文
posted @ 2020-06-30 14:08 Jev_0987 阅读(193) 评论(0) 推荐(0)
摘要: 图的遍历BFS 广度优先遍历 深度优先遍历 可以进行标记 树的广度优先遍历,我们用了辅助的队列 bool visited[MAX_VERTEX_NUM] //访问标记数组 //广度优先遍历 void BFS(Graph G,int v){ //从顶点v出发,广度优先遍历图G visit(v); // 阅读全文
posted @ 2020-06-30 14:05 Jev_0987 阅读(260) 评论(0) 推荐(0)