博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深度优先搜索(Depth First Search)
阅读量:7074 次
发布时间:2019-06-28

本文共 998 字,大约阅读时间需要 3 分钟。

hot3.png

深度优先搜索(Depth First Search)

public class Test {    public static void main(String[] args) {        Test t = new Test();        t.depthFirstSeacrh(0);    }    int n = 5;    int[] a = new int[n];    int[] book = new int[n];    public void depthFirstSeacrh(int step) {        int i = 0;        if (step == n) {            out(a);            return;        }        for (i = 0; i < n; i++) {            if (book[i] == 0) {                a[step] = i+1;                book[i] = 1;                depthFirstSeacrh(step + 1);                book[i] = 0;            }        }    }    public void out(int[] a) {        for (int i : a) {            System.out.print(i + " ");        }        System.out.println();    }}

代码解析

* 模型 全排列1,2,3 * 设置盒子 a数组 1,2,3 * 手上持有数据 1,2,3 3张卡片 * 设置标记状态 book[i] 第i张卡片是否被放置在盒子中 * 如 book[1]=1 表示 1号卡片,已经放置在盒子中了 * step 表示,执行步骤.每一次排列,step 最大为3 * 经过多轮排列,在第1步操作中,向1号盒子放置3号卡片 * a[step] = i; 如 a[2] = 1, * 表示 在某次排列中,在第2步操作,向2号盒子放置1号卡片

转载于:https://my.oschina.net/u/3706181/blog/1595302

你可能感兴趣的文章
管理日志-原创理论工具--技能方格图
查看>>
MPLS TE第一步:创建基本TE隧道
查看>>
windows中禁止U盘写入
查看>>
Bash技巧总结
查看>>
在窗体中添加标签Label、Icon图标
查看>>
Perl脚本学习笔记(一)
查看>>
基于BIND实现DNS的解析、主从、子域、请求转发、访问控制
查看>>
Oracle Number用法
查看>>
nat
查看>>
基于Cisco技术的MPLS原理以及应用实现[一]
查看>>
iPhone/Mac Objective-C内存管理原理
查看>>
极速理解设计模式系列:14.轻量级模式(Flyweight Pattern)
查看>>
Resin HTTPS 安装指南
查看>>
无法加入域
查看>>
在RHEL5下构建LAMP网站服务平台之架设Discuz!论坛
查看>>
.NET应用架构设计:原则、模式与实践 目录预览
查看>>
关于vector性能的测试(一)
查看>>
【移动开发】Android应用开发者应该知道的东西
查看>>
Oracle Study之案例--通过IPCS查看共享内存之“怪现象”
查看>>
func 安装之艰辛历程
查看>>