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

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回去,继续循环。好形象的深度搜索
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值