C++实现图 - 06 关键路径

C++实现图 - 06 关键路径

写在前面:我们上一讲详细的讲述了拓扑排序的实现,为了就是给这一讲打下基础,因为这一讲我们将会讲关键路径,它就要用到拓扑排序的知识。什么是关键路径?关键路径和最短路径不同,它反而去找最长路径,这种意义何在呢,我们来看个例子。假设小明小王小李参与一个大项目,这个大项目需要他们三个共同完成,也就是说这三人...

C++实现图 - 05 拓扑排序

C++实现图 - 05 拓扑排序

写在前面:今天来讲另一个非常重要的知识点 —— 拓扑排序。咋一看好像是一个排序算法,然而它和排序扯不上半点关系,它可以用于判断我们的图中是否存在有向环。什么是有向无环图?听名字应该很好理解,就是图中存在有向环,我们先看一个有向无环图。我们只需要改动上图一条边,它就成为了一个有环图。拓扑排序算法思想拓...

C++ 入门教程开发文档

42 课时 |
17490 人已学 |
免费
开发者课程背景图
C++实现图 - 04 最短路径

C++实现图 - 04 最短路径

写在前面:今天我们来看看图论中另一个非常重要的问题 —— 最短路径,正如其名就是要再图中找到起点到终点的最短路径,这就需要不断地去比较每条边的权值。这一讲我们将会具体介绍迪杰斯特拉算法和弗洛伊德算法的实现。迪杰斯特拉算法迪杰斯特拉算法是一个单源点的一个最短路径算法,也就是说,我们这个算法会求得从一个...

C++实现图 - 03 最小生成树

C++实现图 - 03 最小生成树

写在前面:这一讲来讲一个图中非常重要的内容 —— 最小生成树,在此之前我们先来回顾一下生成树的概念。生成树的定义一个连通图的生成树是一个极小的连通子图,它包含图中全部的 n 个顶点,但只有构成一棵树的 n-1 条边。说人话就是我要用最少的边将所有结点连接起来,直接上图:而这个原图的生成树就有一下三个...

C++实现图 - 02 图的遍历(DFS、BFS)

C++实现图 - 02 图的遍历(DFS、BFS)

写在前面:上一讲我们对图有了一个大概的了解,但是只讲了如何存储图,还没有讲如何遍历图。这一讲我们来介绍图的遍历方式,一共分为深度优先搜索(DFS)和宽度优先搜索(BFS)。深度优先搜索深度优先搜索 ,简称为 DFS 。事实上,我们在树的遍历中早已涉及 DFS ,层、前序遍历、中序遍历和后序遍历都属于...

C++实现图 - 01 图的概述及实现

C++实现图 - 01 图的概述及实现

写在前面:前面我们讲的数据结构都是针对于一对一或一对多的情形,如果涉及到多对多的复杂情况就要用到我们接下来讲解的图了,这一讲我们重点讲解邻接表、邻接矩阵、十字链表以及邻接多重表的代码实现。如果已经对图的概念比较熟悉的小伙伴,可以拉到下面看相关的代码实现。图的概述图 G 是由两个集合 V 和 E 组成...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

社区圈子

开发与运维
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
6374+人已加入
加入
相关电子书
更多
继承与功能组合
对象的生命期管理
移动与复制
立即下载 立即下载 立即下载