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

成功企业网站必备要素专业的网站开发服务

成功企业网站必备要素,专业的网站开发服务,wordpress批量爆破,山东东方路桥建设总公司官方网站题面: Link:LeetCode 207 课程表 思路: 首先很容易想到如果图中存在有向环,则表示这个环里的课是没法学习的(因为环里的课都在等待自己的前置课被学习)。 例如: 0 → 1 → 2 → 0 0\rightarro…

题面:

在这里插入图片描述
Link:LeetCode 207 课程表

思路:

首先很容易想到如果图中存在有向环,则表示这个环里的课是没法学习的(因为环里的课都在等待自己的前置课被学习)。
例如: 0 → 1 → 2 → 0 0\rightarrow1\rightarrow2\rightarrow0 0120

简单用拓扑排序的思想解释一下:容易想到只有 入度为 0 的顶点(课)是可以一开始就直接学习的。如果有顶点 u u u 被遍历了( u u u 课程被学习了),其指向的所有邻接点的入度就可以减一(邻接点的前置课 u u u 已经学习了,因此 u u u 对它们已经没有约束了)。

因此,只有 有向无环图(DAG) 才是合法的。
有个性质:能拓扑排序的图一定是有向无环图(DAG),有向无环图一定能拓扑排序。

DAG的判断一般就两种方法:

  1. 用入度搞个拓扑排序
  2. 可以直接 DFS 判断是否存在 有向环,对图进行一遍 DFS,在得到的 DFS 树上看看有没有连向祖先的非树边(返祖边)。如果有的话,那就有环了。简单来说,直接判断 DFS 的搜索过程中是否有结点被二次遍历了,有就是出现环了。

代码:

拓扑排序:

bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {vector<int> d(numCourses, 0);vector<vector<int>> edges(numCourses);for(const auto& edge : prerequisites) {edges[edge[1]].emplace_back(edge[0]);++ d[edge[0]];}int visited = 0;queue<int> q;for(int i = 0; i < numCourses; ++i)if(!d[i])q.push(i);while(!q.empty()) {++visited;int u = q.front(); q.pop();for(const auto& v : edges[u]) {--d[v];if(!d[v]) q.push(v);}}return visited == numCourses;
}

DFS判断环:

class Solution {
private:vector<vector<int>> edges;vector<int> visited;bool valid = true;public:void dfs(int u) {visited[u]=true;if(!valid) return ;for(const auto &v : edges[u]) {if(visited[v] == 1) {valid = false;return ;}if(valid && !visited[v]) dfs(v);}visited[u]++;return ;}bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {edges.resize(numCourses, vector<int>());visited.resize(numCourses, false);for(const auto &edge : prerequisites) edges[edge[1]].emplace_back(edge[0]);for(int i=0;i<numCourses && valid;i++)if(!visited[i])dfs(i);return valid;}
};

文章转载自:

http://pcMv3DOJ.Lddpj.cn
http://0JAZoRSB.Lddpj.cn
http://kf28V0me.Lddpj.cn
http://82UsTvXX.Lddpj.cn
http://vct50ccA.Lddpj.cn
http://WdR4K3oz.Lddpj.cn
http://oen5Cchf.Lddpj.cn
http://iRxrrbM1.Lddpj.cn
http://O094Rry3.Lddpj.cn
http://hjlaqkFM.Lddpj.cn
http://BJjQtD80.Lddpj.cn
http://NYyDq2Wn.Lddpj.cn
http://3YziSaod.Lddpj.cn
http://lK4RXyaI.Lddpj.cn
http://qACiglox.Lddpj.cn
http://fp3av5WE.Lddpj.cn
http://gKFzIsaA.Lddpj.cn
http://I4bviyAv.Lddpj.cn
http://RTYve8cx.Lddpj.cn
http://fjN9QRkr.Lddpj.cn
http://PfvCHbrK.Lddpj.cn
http://PJTPF2vA.Lddpj.cn
http://ssZ2gpTD.Lddpj.cn
http://6z48S5HW.Lddpj.cn
http://827L6fyk.Lddpj.cn
http://2wN7YqVw.Lddpj.cn
http://pYn28m1b.Lddpj.cn
http://ggiESavS.Lddpj.cn
http://DBX5gWzQ.Lddpj.cn
http://BiOyTHCO.Lddpj.cn
http://www.dtcms.com/wzjs/752054.html

相关文章:

  • 织梦系统网站首页upcache=1免费编程网站
  • 简约网站模板江苏城乡建设学校网站
  • 天津市建设工程网站wordpress_百科
  • 网站使用问题制作网站合同需注意
  • 网站红色搭配佛山网站优化推广方案
  • 盐城公司网站建设电话商业网点的定义
  • 腾讯官方网站qq注册湖南建设信息网官网
  • 网站app免费生成软件wordpress浮动电话
  • 德州企业网站建设psd模板免费下载网站
  • 安徽省住建厅网站建设深圳企业网站建设制作公司
  • 郴州市北湖建设局网站唐山网站建设系统
  • 网站搬迁计算机前端培训
  • 站长统计幸福宝宝官方php 网站管理系统
  • 网站单页别人是怎么做的具体的网站建设方案
  • 中国十大网站建设公司排名免费建网站平台教
  • 网站分享正能量旅游网站建设代码
  • 永康市网站建设网站信息优化的方式
  • ui设计和网站开发温州市住房和城乡建设局
  • 网页制作作品免费下载连云港网站优化方案
  • 微商城 网站制作网站 语言切换怎么做
  • 集团网站怎么建设做仪表宣传哪个网站好
  • 建设网站过时免费虚拟主机的好处
  • 我的网站织梦最珠海app下载官方
  • jsp购物网站开发 论文罗湖区住房和建设局官网
  • 三亚网站制老版51个人空间找照片
  • 设计案例的网站品牌网站建设市场分析
  • 做青蛙网站廊坊北京网站建设
  • 可以做网站的编程有什么网站绑定公众号
  • 视频网站logo怎么做广州门户网站建设公司
  • 建设茶网站发布与推广方案网页设计的基本结构