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

网站排名易下拉技巧营销型企业网站案例

网站排名易下拉技巧,营销型企业网站案例,用jsp做的网站需要什么工具,aqq安装下载文章目录 习题2608.图中最短环2360.图中的最长环 求解一个图中的,环的长度是一类比较经典的问题,当然判断是否有环就是更加基础一点的问题啦 求解环的最大or最小长度,其实我们可以采用BFS或者DFS进行求解,下面我着重介绍这个无向…

文章目录

  • 习题
    • 2608.图中最短环
    • 2360.图中的最长环

  • 求解一个图中的,环的长度是一类比较经典的问题,当然判断是否有环就是更加基础一点的问题啦

  • 求解环的最大or最小长度,其实我们可以采用BFS或者DFS进行求解,下面我着重介绍这个无向图BFS有向图BFS求解,同时要注意时间复杂度的问题

  • 其实我们只需查看将要加入的节点的长度是否已经确定,如果已经确定的话,说明这个节点已经不是第一次访问了,那么就会出现一个环环的长度就是:dis[x] + dis[neigh] + 1

  • 无向图中,需要遍历每一个起点的情况,并且还不能在找到第一个环就返回

在这里插入图片描述

习题

2608.图中最短环

2608.图中最短环

在这里插入图片描述
在这里插入图片描述

  • 无向图的情况,需要遍历每一个起点
  • 观察时间复杂度,每次的bfs都是o(m),每一个节点都遍历,那就是 o(n*m)

from collections import dequeclass Solution:def findShortestCycle(self, n: int, edges: List[List[int]]) -> int:graph = [[] for _ in range(n)]for u, v in edges:graph[u].append(v)graph[v].append(u)min_cycle = float('inf')def bfs(start):queue = deque([(start, -1)])  # (node, parent)visited = {start: 0}  # 记录节点到start的距离ans = float("inf")while queue:x, fa = queue.popleft()for neigh in graph[x]:if neigh == fa:  # 跳过父节点continueif neigh not in visited:  # 未访问过,继续BFSvisited[neigh] = visited[x] + 1queue.append((neigh, x))else:  # 发现环!# 环长度 = x到start的距离 + neigh到start的距离 + 1cycle_len = visited[x] + visited[neigh] + 1ans = min(ans,cycle_len)return ansreturn float('inf')  # 未找到环for i in range(n):cycle_len = bfs(i)print(cycle_len)min_cycle = min(min_cycle, cycle_len)return min_cycle if min_cycle != float('inf') else -1

2360.图中的最长环

2360.图中的最长环

在这里插入图片描述
在这里插入图片描述

  • 有向图
  • 并且,注意到,一个节点只会最多有一个出边
  • 和上面的无向图的不同:如果还是采用这个BFS的话,也可以完成,但是时间复杂度会超时,但是下面展示一下DFS的解法,只用遍历一遍o(n)
class Solution:def longestCycle(self, edges: List[int]) -> int:# 注意题目的条件,至多只有一条有向边,每次回溯的时候,可以记录当前的路径上的点ans = -1 path = []n = len(edges)visited = [False]*ndef dfs(curi):nonlocal ansnext = edges[curi]if next != -1 :# 接下来还能行走,如果没被访问,就加入if not visited[next]:visited[next] = Truepath.append(next)dfs(next)else:# 被访问过了,需要判断是否在路径中if next in path:cal = path.index(next)ans = max(ans,len(path)-cal)returnfor i in range(n):if not visited[i]:path.clear()path.append(i)dfs(i)return ans
http://www.dtcms.com/wzjs/159424.html

相关文章:

  • 网站做优化多少钱搜索引擎优化排名品牌
  • 做的最好的美女视频网站有哪些赣州网站建设
  • 网站的系统建设方式网站广告投放价格表
  • 广州网站建设公司排行公司网络营销实施计划
  • 济南网站建设哪家公司好深圳网站关键词排名优化
  • 郑州营销网站电脑培训机构
  • 网站设置的用途seo赚钱
  • 建网站 南京seo是哪里
  • inurl:网站建设腾讯体育nba
  • 做金融怎么进基金公司网站百度搜索推广登录入口
  • 泊头公司做网站seo专业论坛
  • 衢州网站设计公司有哪些分类达人介绍
  • 做财经比较好的网站网站优化怎么操作
  • 通过ip访问网站需要怎么做seo是什么意思呢
  • 怎么知道一个网站的权重黑龙江头条今日新闻
  • 手机网站要域名吗免费关键词排名优化
  • 网站建设的职称键词优化排名
  • 换域名对网站的影响seo优化培训机构
  • 做网站jsp好还是拓客引流推广
  • 青岛网站策划百度网盘怎么找片
  • 网站框架是谁做软文发稿网站
  • 网站商务通弹出窗口图片更换设置成都百度提升优化
  • 池州做网站培训seo刷关键词排名优化
  • 域名优化在线镇江seo优化
  • 网站建设与管理就业前景关键词优化最好的方法
  • 有没有免费的crm系统软件重庆百度seo整站优化
  • 网站弹窗是怎么做的电商怎么做推广
  • wordpress广告链接地址南昌网站优化公司
  • 凡科网之前做的网站在哪看软件推广赚佣金渠道
  • 私人pk赛车网站怎么做网站优化公司哪家效果好