首页
IT
登录
6mi
u
盘
搜
搜 索
IT
蓝桥-图1-深度优先搜索初识
蓝桥-图1-深度优先搜索初识
xiaoxiao
2021-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
)