![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
飞、
这个作者很懒,什么都没留下…
展开
-
Cmake执行Python脚本
在CMake中想要在编译target前执行python脚本,因此增加了如下custom target:add_custom_target(3rdPartyTarget COMMAND echo "3rdPartyTarget task start" COMMAND python ${CMAKE_SOURCE_DIR}/xxx.py -d ${CMAKE_SOURCE_DIR} -p win W原创 2022-02-16 14:28:55 · 3598 阅读 · 1 评论 -
图的最小生成树
最小生成树在给定一张无向图,如果在它的子图中,任意两个顶点都是互相连通,并且是一个树结构,那么这棵树叫做生成树。当连接顶点之间的图有权重时,权重之和最小的树结构为最小生成树!在实际中,这种算法的应用非常广泛,比如我们需要在n个城市铺设电缆,则需要n-1条通信线路,那么我们如何铺设可以使得电缆最短呢?最小生成树就是为了解决这个问题而诞生的!1、Kruskal算法(克鲁斯卡算法)Kruskal算法是一种贪心算法,我们将图中的每个edge按照权重大小进行排序,每次从边集中取出权重最小且两个顶点都不在同一个原创 2020-09-08 13:56:30 · 2817 阅读 · 0 评论 -
图的创建与遍历
图的建立顶点类class Node{public: int value; //顶点的值value int in; //顶点的入度in(也就是指向该顶点的边数) int out; //顶点的出度out(也就是从该顶点出发的边数) list<Node*> nexts; // 当前节点为from,所有to节点的集合 list<Edge*> edges; //从该节点出发边的集合edges Node(int value){原创 2020-09-03 17:12:04 · 1362 阅读 · 0 评论 -
Dijkstra算法
目录BFS DFS算法Dijkstra算法代码实现上节中介绍了图的两种表示方法:邻接表和邻接矩阵。本节将基于上面表示的图,求解路径规划问题。BFS DFS算法算法用途:遍历图的每个节点;求解无权图的最短路径算法思想:BFS 1、使用队列,从起点开始,不断将邻接点加入队列进行访问。DFS 1、使用栈,从起点开始,不断将邻接点入栈(递归进行)。Dijkstra算法算法用途:求解有权图(没有负权值)的最短路径规划问题算法思想: 1、维护两个list,一个openList(访问过的节点)原创 2022-02-14 21:42:59 · 482 阅读 · 0 评论