基礎 簡單的深度優先遍歷

2021-09-25 01:31:50 字數 1039 閱讀 2316

輸出1,2,3,4,5,6,7 這幾個數組成的全排列

ps:可以使用列舉(但是需要7層迴圈)

使用遞迴(深度優先遍歷的思路,dfs也可利用棧資料結構來實現,lifo)

package com.nxz.blog.othertest;

/** * 簡單的深度優先遍歷演算法學習

*/public class test03 , 0);

system.out.println("共有組合個數:" + sum);

}private static int book = new int[10];

private static int res = new int[7];

private static int sum;

//最開始處理step以0開始

public static void deepfirstsearch(int arr, int step)

system.out.println();

sum++;

return;

}//當前框時,可以放置那些值

for (int val : arr)

}return;

}}

輸出:1234567

1234576

1234657

1234675

1234756

1234765

1235467

1235476

共有組合個數:5040

或者是有1-9,9個數字,把9個數字填入以下方格,並且每乙個方格的數字都不同,使等式成立  □□□ + □□□ = □□□

這個問題可以用上邊的**,只是將判斷終止條件修改下,在終止時,判斷(100*方塊1 + 10 * 方塊2 + 方塊3 )+ (100 * 方塊4 + 10 * 方塊5 + 方塊6) = =100 * 方塊7 + 10 * 方塊8 + 方塊9

如果等式成立則輸出 等式,不成立則繼續

簡單深度優先遍歷oj

leetcode733 影象渲染 思路 四個方向上分別試探,滿足條件就修改顏色,不滿足return class solution return image public void dfs int sr,int sc,int image,int cur,int newcolor else leetco...

深度優先遍歷 廣度優先遍歷

用棧進行儲存元素。訪問頂點 頂點入棧,以便記住它 標記頂點,以便不會再訪問它 2 訪問規則 a.如果可能,訪問乙個鄰接的未訪問頂點,標記它,併入棧。b.當不能執行a時 沒有鄰接的未訪問頂點 如果棧不為空,就從棧中彈出乙個頂點。c.如果不能執行規則a和b,就完成了整個搜尋過程。3 實現 基於以上規則,...

演算法基礎 DFS(深度優先遍歷)

brycezou 163.com dfs的基本思想 從圖的某個頂點開始,一路向前,當沒有 新的 未被訪問的 頂點可訪問時逐層回退,繼續去發現新的頂點 直到源點可達的所有頂點都被訪問為止。這一過程類似於樹的前序遍歷。本文基於圖的鄰接表形式,分別給出了遞迴版本和非遞迴版本的dfs演算法 本 旨在清晰地展...