寶島探險深度優先搜尋(著色法)

2021-08-02 02:30:32 字數 595 閱讀 8255

寫這一篇是為了上篇《ycb惹女朋友生氣了》,上篇用到了著色法,下面主要介紹一下什麼是用深度優先搜尋實現的著色法 1.

求從起點開始連線的一整塊陸地的面積,即從起點出發向四周搜尋,每搜到一塊陸地就加一,直到周圍全是海洋,並且對陸地進行染色,即標記上負數的數字。

#include#include#include#includeusing namespace std;

int ch[100][100];///地圖

int book[100][100];///標記

int n,m;///地圖的行和列

int start,finish;///開始位置和終止位置

int sum;///記錄陸地的面積

int dir[4][2]=;

void dfs(int x,int y,int color)

}}int main()

;void dfs(int x,int y,int color)

}}int main()}}

printf("%d\n",-num);///小島的個數,在上面兩層迴圈中呼叫了多少次dfs,就有多少num。

}

廣度優先搜尋 深度優先搜尋

前言 這幾天複習圖論演算法,覺得bfs和dfs挺重要的,而且應用比較多,故記錄一下。廣度優先搜尋 有乙個有向圖如圖a 圖a廣度優先搜尋的策略是 從起始點開始遍歷其鄰接的節點,由此向外不斷擴散。1.假設我們以頂點0為原點進行搜尋,首先確定鄰接0的頂點集合s0 2.然後確定頂點1的集合s1 頂點2沒有鄰...

廣度優先搜尋,深度優先搜尋

深度優先搜尋 depth first search 簡稱dfs。最直觀的例子就是 走迷宮 廣度優先搜尋 每個頂點都要進出一遍佇列,每個邊也都會被訪問一次,所以 時間複雜度o v e 主要消耗記憶體的是visited prev陣列 queue佇列,所以 空間複雜度o v 深度優先搜尋 每條邊最多會被訪...

深度優先搜尋 廣度優先搜尋

深度優先搜尋 廣度優先搜尋 通過鄰接矩陣對圖進行深搜和廣搜 package com.neusoft.data.structure 深度優先搜尋 廣度優先搜尋 通過鄰接矩陣對圖進行深搜和廣搜 public class dfsbfs 初始化 邊 mmatrix new int vlen vlen for...