萬能搜尋 深度優先搜尋

2021-08-16 21:37:02 字數 582 閱讀 3491

例題

輸入乙個數,輸出1~n,輸出1~n的全排列

這是乙個小的深度優先搜尋問題

思路:我們先將n個小盒子放到桌子上,然後拿著卡片去往裡面放,乙個個的嘗試看有多少種方法

先來乙個深度優先搜尋模型吧

void dfs(int step)

3 .返回

}

接下來是完整的程式

#include int a[10],book[10],n;//c語言的全域性變數在沒有賦值的情況下預設為0,

//因此book陣列無需賦值為0

void dfs(int step)//step表示的是站在第幾個盒子面前

//此時站在第step個盒子面前,該放哪張牌

//按照1 2 3....n的順序嘗試

for(i = 1;i <= n;i++)

}return;

}int main()

萬能的搜尋 素數環

初三一年沒有碰電腦,再次開始敲 的時候,發現已經基本啥也不會了 幸好我天賦異稟,迅速恢復訓練讓我找回了敲 的感覺 分割線 由於忘得比較多,所以先來一道經典的題回憶一下搜尋題目 輸入正整數 nnn,把整數 1,2,n1,2,dots n1,2,n 組成乙個環,使得相鄰兩個整數之和均為素數。輸出時,從整...

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

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

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

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