蓝桥-图1-深度优先搜索初识

    xiaoxiao2021-03-26  26

    package com.jkxy.photo; // 图的遍历 public class Traverse { static int[] book = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static int sum = 0; static int e[][] = { { 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 99, 1 }, { 0, 1, 0, 99, 1, 99 }, { 0, 1, 99, 0, 99, 1 }, { 0, 99, 1, 99, 0, 99 }, { 0, 1, 99, 1, 99, 0 } }; public static void main(String[] args) { book[1] = 1; dfs(1); } public static void dfs(int k) { int i; System.out.print(k); sum++; if (sum == 5) return; for (i = 1; i <= 5; i++) { if (e[k][i] == 1 && book[i] == 0) { book[i] = 1; dfs(i); } } return; } } // 深度优先搜索图遍历:先定义好图对应二维数组 // 二:main:把顶点1标为已访问,从顶点1出发,dfs(1). // 三,dfs(),输出传过来的参数cur,判断sum是否够5个,不够则循环尝试 // 哪些点(i)与cur相连,相连未访问则标注i为已访,对i继续深挖 // 挖到底则return回去,继续循环。好形象的深度搜索
    转载请注明原文地址: https://ju.6miu.com/read-663543.html

    最新回复(0)