图一
以图一为例,当起点设为0时,会不断往下深入,所以0会先向下追踪分支的其中一个节点,再从该节点不断向下
因此会深入到1 3直到底部,直到最底部7,此时会往上追踪回4
当4上面的1被追踪後,会回到底部7,7会再重另一个分支向上跑,直到每个节点都被追踪过
void my_dfs(int index, head_p point[], int visited[]) {
visited[index] = 1;
stack[++top] = point[index];
for (head_p w = point[index]; w; w = w->next) {
if (w->num > 6 || w->num < 0) {
break;
}
if (visited[w->num] != 1) {
my_dfs(w->num, point, visited);
}
}
}
广度追踪会先追踪完同一层节点,再向下追踪下一层所有节点
因此当0为起点,会优先追踪0的两个分支1,2
若1,2节点追踪完毕後,会分别追踪分支1,2的两个分支
直到节点追踪完毕
void my_bfs(int num, head_p point[], int visited[]) {
stack_new[++top_new] = point[num];
visited[point[num]->num] = 1;
while (point[num]->next) {
if (visited[point[num]->num] == 0) {
stack[++top] = point[num];
}
point[num] = point[num]->next;
}
for (int i = 0; i <= top; i++) {
if (visited[stack[i]->num] == 0) {
my_bfs(stack[i]->num, point, visited);
}
}
}
>>: 《赖田捕手:追加篇》第 31 天:初始化 LINE BOT on Heroku
MSW实战 今天我们来实战一个msw的使用,首先我们先随意建立一个component,我是建立一个U...
0x1 使用环境 OS: Windows 10 home x64 Framework: Larave...
在认识动态规划之前先来理解Divide and Conquer(分治法)吧!Divide and ...
交出来的程序最少都要有headerfile(.h)档和mainfile(.cpp)档这两个档案才行,...
学习进度 资料结构 泛型 通配字元 Android Studio RecyclerView Recy...