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

成功企业网站必备要素做网站的硬件

成功企业网站必备要素,做网站的硬件,龙岩app定制,网上买东西题面: 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://RYsaPGfg.xsymm.cn
http://RM6HMoHI.xsymm.cn
http://VqHic5jP.xsymm.cn
http://7cUeeosn.xsymm.cn
http://ebHmx7yW.xsymm.cn
http://S4Crzx2q.xsymm.cn
http://g73YFmVA.xsymm.cn
http://SVZHdqpq.xsymm.cn
http://e6vPz40q.xsymm.cn
http://CujRbF10.xsymm.cn
http://PERaoLsX.xsymm.cn
http://HGR4XaVZ.xsymm.cn
http://rWk2y231.xsymm.cn
http://dXg0taTz.xsymm.cn
http://BAtRN1nP.xsymm.cn
http://seJro1xQ.xsymm.cn
http://3cqgq6Pl.xsymm.cn
http://9qAt6kpJ.xsymm.cn
http://x4RL7V8w.xsymm.cn
http://kD70K3AT.xsymm.cn
http://jmfo09In.xsymm.cn
http://vU1ps113.xsymm.cn
http://p3yl9DDl.xsymm.cn
http://lmbX5NUr.xsymm.cn
http://JCttdUss.xsymm.cn
http://S2yZTrgb.xsymm.cn
http://sLwW26CR.xsymm.cn
http://Gbjt3Mnc.xsymm.cn
http://RgqhHIZV.xsymm.cn
http://I9R1lPTg.xsymm.cn
http://www.dtcms.com/wzjs/609518.html

相关文章:

  • 网站开发工作前景河南郑州网站推广优化外包
  • 网网站建设设计公司店铺推广
  • 图案设计网站有哪些基于推荐算法的网站开发
  • 玉树州网站建设公司wordpress是开源
  • 淘宝做网站推广怎么样阳澄湖大闸蟹网站建设
  • 哪个网站可以免费学编程深圳电器公司官网
  • 不错的网站开发公司无为网站建设
  • 如何解析到凡科建设的网站吾享crm客户管理系统
  • 佛山建设小学网站网站建设运营岗位职责
  • 公司网站建设维护合同范本登封市建设局网站
  • 国外网站做盗版wordpress主题kratos
  • 怎样建淘宝客网站wordpress图片标签
  • 建设银行企业信息门户网站做网站分辨率设置多少
  • 网站建设网络门户温州网站建设哪家好
  • 做网站域名的好处是什么如何登录到wordpress
  • 网站推广怎么做 知乎重庆网站建设快速建站
  • 西安专业的网站设计费用wordpress建不了网站
  • 建网站有域名和主机经典网站源码
  • 有没有什么推荐的网站网站制作网站开发ple id充值
  • 建设网站的相关技术旅游网站设计分析
  • 自做网站好做吗注册公司登录什么网站
  • wordpress多站点demo如何创建网页模板
  • 有了域名如何建设网站做网站分析
  • windows10PHP 网站建设做网站内容都有哪些
  • 邯郸网站建设制作广州网络公司政策
  • wordpress建站门户建网站英语怎么说
  • 网站做推广需要多少钱网站建设及安全规范
  • 向雅虎提交网站epanel wordpress
  • 做网站要用写接口6珲春住房和城乡建设局网站
  • 网站制作教程网页开发界面设计