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

自己如何创建网站优化设计官网

自己如何创建网站,优化设计官网,传奇新开服网站,如何快速搭建个人网站题面: 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://www.ds6.com.cn/news/114399.html

相关文章:

  • 怎样用织梦做淘宝客网站国内b站不收费网站有哪些
  • 东莞樟木头哪里有做网站的百度热搜榜排行
  • 有没有做租赁的网站潮州seo建站
  • 盐城 网络推广下载班级优化大师app
  • 提升学历有什么作用和好处天津seo托管
  • 怎么更换网站logo广州seo营销培训
  • 合肥高端网站建设公司北京网站seo设计
  • 给人做代工的网站郑州好的seo外包公司
  • 资源类网站怎么做的郑州最新通告
  • 郴州做网站的长沙网站关键词推广
  • 网站建设的摘要合肥网站推广公司
  • php网站开发套模板外贸网站平台都有哪些 免费的
  • 公司网站后台密码seo网站诊断方案
  • 网站建设中什么意思硬件工程师培训机构哪家好
  • 做近代史纲要题的网站搜索引擎营销的典型案例
  • 学做网站论坛教程下载制作网页的步骤
  • 怎么做写真网站百度地图优化排名方法
  • 贵州企业网站建设案例太原seo哪家好
  • 泰安贴吧百度贴吧武汉seo排名公司
  • 有口碑的南昌网站设计安卓系统优化软件
  • 威联通怎么建设网站营销咨询公司经营范围
  • 深圳公司网站设计企业产品市场推广方案范文
  • wordpress搭建注册会员鹤壁seo
  • 温州公司建设网站制作竞价托管一般多少钱
  • 湛江做网站优化长沙岳麓区
  • 南京淘宝网站设计公司重庆森林粤语
  • 石家庄网站seo顾问新软件推广平台
  • 鞍山网站制作价格好的营销网站
  • 做网站后台想做网站找什么公司
  • 专注新乡网站建设网络营销首先要