当前位置: 首页 > wzjs >正文

网站建设任务平台怎样把自己做的网站发到网上

网站建设任务平台,怎样把自己做的网站发到网上,手机应用开发教程,手机网站的建设上文中我们了解了图的遍历(DFS/BFS), 本节我们来学习拓扑排序. 在图论中, 拓扑排序(Topological Sorting)是对一个有向无环图(Directed Acyclic Graph, DAG)的所有顶点进行排序的一种算法, 使得如果存在一条从顶点 u 到顶点 v 的有向边 (u, v) , 那么在排序后的序列中, u 一定…

上文中我们了解了图的遍历(DFS/BFS), 本节我们来学习拓扑排序.

在图论中, 拓扑排序(Topological Sorting)是对一个有向无环图(Directed Acyclic Graph, DAG)的所有顶点进行排序的一种算法, 使得如果存在一条从顶点 u 到顶点 v 的有向边 (u, v) , 那么在排序后的序列中, u 一定在 v 之前.

环境要求

本文所用样例在Windows 11以及Ubuntu 24.04上面编译通过.

  1. Windows: 使用[Visual Studio],
  2. Ubuntu: 使用 Clang 18.1.3. (Ubuntu 24.04 系统安装版本)
  3. GCC 无法编译直接本项目代码, 因为本文代码使用了 C++20 Module, 而 GCC 对此支持不完整.

关于 Module 的更多信息, 请参考我之前的博客: CMake 构建 C++20 Module 实例(使用 MSVC)

本项目工程目录: 图论代码


适用场景

拓扑排序适用于需要确定一系列任务的执行顺序, 且任务之间存在依赖关系的场景. 下图是是一个示例图, 其中顶点代表任务, 有向边代表依赖(A -> B 意味着A 需要在 B 之前完成). 拓扑排序就是给出任务能够完成的先后顺序.

sample

算法实现

常见的拓扑排序算法有两种: Kahn 算法和深度优先搜索(DFS)算法.

Kahn 算法

  1. 统计每个顶点的入度(即指向该顶点的边的数量).
  2. 将所有入度为 0 的顶点加入队列中.
  3. 从队列中取出一个顶点, 将其输出, 并将该顶点的所有邻接顶点的入度减 1.
  4. 如果某个邻接顶点的入度变为 0, 则将其加入队列中.
  5. 重复步骤 3 和 4, 直到队列为空.
  6. 如果输出的顶点数量小于图中的顶点总数, 则说明图中存在环, 无法进行拓扑排序.

过程步骤如图:

  1. 起初, 入度为 0 的顶点为 A, F. 我们可以弹出 AF中的任意一个. 这里假设我们先弹出 A.
    kahn0
  2. 弹出 A 后, 边线 A -> BA -> C 被弹出, 并且入度 BC 分别减 1, 此时状态如图所示. 接下来我们要弹出F.
    kahn1
  3. 弹出F后, 边线 F -> C 被弹出, 并且入度 C 减 1, 此时状态如图所示. 接下来我们弹出B.
    kahn2
  4. 弹出B后, 边线 B -> D 被弹出, 并且入度 D 减 1, 此时状态如图所示. 接下来我们弹出C.
    kahn3
  5. 弹出C后, 边线 C -> D 被弹出, 并且入度 D 减 1, 此时状态如图所示. 接下来我们弹出D.
    kahn4
  6. 弹出D后, 边线 D -> E 被弹出, 并且入度 E 减 1, 此时状态如图所示. 接下来我们弹出E.
    kahn5
  7. 弹出E后, 队列为空, 算法结束.
代码实现
class TopologicalSortKahn {public:explicit TopologicalSortKahn(const AdjList& graph) : graph_(graph) {if (!graph_.Directed()) {throw std::invalid_argument("Graph must be directed for topological sorting.");}}std::vector<
http://www.dtcms.com/wzjs/831296.html

相关文章:

  • 外贸网站建设网站优化如何建设下载网站
  • 定制相册哪个网站好工作流程管理系统说明书
  • 网站被人做跳转改如何举报网站推广渠道有哪些
  • 网站推广一般在哪个网做山东宏远建设有限公司网站
  • 网站建设维护单选题徐州关键词优化排名
  • 建一个网站怎么赚钱吗找建筑师设计房子
  • 网站管理工作是具体应该怎么做成都网站设计优选柚v米科技
  • 携程网站建设的优缺点wordpress侧边栏标题字数
  • 设计一个学院网站网站制作企业
  • 重庆沛宣网站建设建立一个小程序需要多少钱
  • 做网站的属于什么行业无锡网站建设无锡速联科技
  • app网站开发成功案例青海制作网站
  • 住房和城乡建设部网站下载gom传奇网站建设
  • 公司建设网站费用会计怎么记医疗网站建设 中企动力
  • 怎样上传自己的网站门户网站 费用
  • 宁波网站设计公司哪个好企业管理培训课程网课免费
  • 有什么网站可以做一起作业做网站推广logo
  • 构建一个网站wap网址是什么意思
  • 网站建设指的是什么服装网站开发
  • 做网站接私单创办一个网站需要多少费用
  • 手机网站如何站点管理怎么用iapp做网站软件
  • 什么网站做美式软装设计淘客网站如何做能加快收录
  • 辽宁省建设培训中心网站网站备案与不备案的区别
  • 做网站什么内容吸引人flash网页制作教程
  • 甘肃省城乡与建设厅网站首页惠州网站设计方案
  • 淘宝网的网站建设自己做静态网站的步骤
  • 新农村建设 网站网页设计培训公司哪家好
  • 中国建设银行最新招聘信息网站12306的网站是哪个公司做的
  • 做电商网站的流程wordpress使用云数据库连接
  • jsp网站开发的两种模式公司对网站排名如何做绩效