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

征婚网站建设建设旅游服务类网站的可行性报告

征婚网站建设,建设旅游服务类网站的可行性报告,dnf免做卡领取网站,网站想要被收录要怎么做day01 图论part01 今日任务:图论理论基础/所有可到达的路径 代码随想录图论视频部分还没更新 https://programmercarl.com/kamacoder/图论理论基础.html#图的基本概念 day01 所有可达路径 邻接矩阵 import java.util.Scanner;import java.util.List;import java.util.ArrayL…
day01 图论part01 
今日任务:图论理论基础/所有可到达的路径
代码随想录图论视频部分还没更新
https://programmercarl.com/kamacoder/图论理论基础.html#图的基本概念

day01

所有可达路径

邻接矩阵

 import java.util.Scanner;import java.util.List;import java.util.ArrayList;​public class Main{static List<List<Integer>> result = new ArrayList<>();static List<Integer> path = new ArrayList<>();public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int[][] graph = new int[n + 1][n + 1];for(int i = 0; i < m; i++){graph[sc.nextInt()][sc.nextInt()] = 1;}path.add(1); //先加一个节点dfs(graph, 1, n); if (result.isEmpty()) System.out.println(-1);for(List<Integer> pa : result){for (int i = 0; i < pa.size() - 1; i++) {System.out.print(pa.get(i) + " ");}System.out.println(pa.get(pa.size() - 1));} }private static void dfs(int[][] graph, int x, int n){//n就是结束节点if(x == n){result.add(new ArrayList(path));return;}for(int i = 1; i <= n; i++){if (graph[x][i] == 1) { path.add(i); dfs(graph, i, n); path.remove(path.size() - 1); }}return;}}

邻接表

 //感觉graph不用LinkedList而是直接用ArrayList也可以,因为这个场景下不涉及什么增删改而基本都是访问import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Scanner;​public class Main {static List<List<Integer>> result = new ArrayList<>(); // 收集符合条件的路径static List<Integer> path = new ArrayList<>(); // 1节点到终点的路径​public static void dfs(List<LinkedList<Integer>> graph, int x, int n) {if (x == n) { // 找到符合条件的一条路径result.add(new ArrayList<>(path));return;}for (int i : graph.get(x)) { // 找到 x指向的节点path.add(i); // 遍历到的节点加入到路径中来dfs(graph, i, n); // 进入下一层递归path.remove(path.size() - 1); // 回溯,撤销本节点}}​public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();​// 节点编号从1到n,所以申请 n+1 这么大的数组List<LinkedList<Integer>> graph = new ArrayList<>();for (int i = 0; i <= n; i++) {graph.add(new LinkedList<>());}​while (m-- > 0) {int s = scanner.nextInt();int t = scanner.nextInt();// 使用邻接表表示 s -> t 是相连的graph.get(s).add(t);}​path.add(1); // 无论什么路径已经是从1节点出发dfs(graph, 1, n); // 开始遍历​// 输出结果if (result.isEmpty()) System.out.println(-1);for (List<Integer> pa : result) {for (int i = 0; i < pa.size() - 1; i++) {System.out.print(pa.get(i) + " ");}System.out.println(pa.get(pa.size() - 1));}}}

感谢大佬分享:

代码随想录算法训练营第五十天|Day50 图论_本关任务:创建邻接表存储的无向图,并输出图的邻接表。-CSDN博客

http://www.yayakq.cn/news/559749/

相关文章:

  • 建筑工程网站免费数据分析
  • 做58推广网站找哪家好提高网站的权重的最佳方法
  • 成都网站搜索引擎优化网站建设费用贵不贵
  • 网站开发网站不懂的人做网站用织梦 还是 cms
  • 海南海口网站建设我国的跨境电商平台有哪些
  • 义乌1688网站网页设计制造业公司有必要建设网站吗
  • 网站的建设好处最好的看vr影片的设备
  • 重庆seo排名收费seo培训费用
  • 做网站滨州长春seo网络优化招聘网
  • 怎么样做淘宝联盟网站金属材料网站建设
  • 网站项目维护费用网站制作制作网站建网站
  • 网站官网建设注意wordpress站点被删
  • 网站做跳转小程序模板多少钱一套
  • 周口网站建设电话东莞微网站建设公司哪家好
  • 深圳公明做网站企业账号登录入口
  • 湖南网站制作网站app怎么制作教程
  • 手机网站后台管理百度云app
  • 网站设计与建设课程长治怎么做平台软件
  • 个人怎么做影视网站wordpress自动生产
  • 外贸建设网站红色网站 推荐
  • 网站运行团队建设吉林平安建设网站
  • 图片生成链接网站免费软件app大全
  • 济南微网站开发美容网站建设一个多少钱
  • 潜江网站搭建顺德营销型网站一站式服务哪家好
  • 建设银行网站 开户行怎么查询网站建设费应该怎样入账
  • 手机网站翻页效果网站模板制作教程视频教程
  • 模板网站官网wordpress 最新文章插件
  • 做网站后台程序是怎么来的.net做的大型网站吗
  • 保定市住房保障和城乡建设局网站企业网络营销
  • 哪有免费的网站20最快的加载wordpress主题