摘要:
有向无环图——描述表达式 DAG图 若一个有向图中不存在环,则称为有向无环图,简称DAG图 DAG描述表达式 节省存储空间 解题方法 Step1:把各个操作数不重复地排成一排 Step2:标出各个运算符的生效顺序(先后顺序有点出入无所谓) Step3:按顺序加入运算符,注意“分层“ (利用下面一层的 阅读全文
posted @ 2020-06-30 14:19
Jev_0987
阅读(3697)
评论(0)
推荐(0)
摘要:
最短路径——Floyd算法 可以用来求带权图和无权图 Floyd算法:求出每一对顶点之间的最短路径 使用动态规划思想,将问题的求解分为多个阶段 第一个矩阵就是图的邻接矩阵 第二个矩阵表示两个顶点之间的中转点 遍历上一个阶段留下来的矩阵A,对于上一个矩阵A当中的每一个具体的元素我们都进行: 若 A^( 阅读全文
posted @ 2020-06-30 14:17
Jev_0987
阅读(487)
评论(0)
推荐(0)
摘要:
最短路径——Dijkstra算法 BFS算法的局限性 Dijkstra算法 第一轮:循环遍历所有结点,找到还没确定最短路径,且dist最小的顶点vi,令final[i]=true; 检查所有邻接自vi的顶点,若其final值为false,则更新dist和path的信息 第二轮:循环遍历所有结点,找到 阅读全文
posted @ 2020-06-30 14:13
Jev_0987
阅读(319)
评论(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
阅读(6105)
评论(0)
推荐(1)
摘要:
最小生成树 生成树是啥? 包含图中全部顶点的一个极小的联通子图。 n个顶点,n-1条边 最小生成树(最小代价树) 带权的连通图,找到各边权值之和最小的 对于一个带权的无向图G=(V,E),生成树不同,每棵树的权也可能不同。设R为G的所有生成树的集合,若T为R中边的权值之和最小的生成树,则T称为G的最 阅读全文
posted @ 2020-06-30 14:10
Jev_0987
阅读(230)
评论(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
阅读(190)
评论(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
阅读(258)
评论(0)
推荐(0)