找到 13 篇文章 關於回溯演算法

資料結構中的層序遍歷

Arnab Chakraborty
更新於 2019-08-27 11:34:58

373 次瀏覽

在本節中,我們將瞭解二叉搜尋樹的層序遍歷技術。假設我們有一棵這樣的樹:遍歷順序將如下所示:10、5、16、8、15、20、23演算法levelOrderTraverse(root):開始    定義佇列que來儲存節點    將根節點插入佇列。    當佇列不為空時,執行       item := 佇列前端的元素       列印item的值       如果item的左子節點不為空,則          將item的左子節點插入佇列       結束 ... 閱讀更多

回溯演算法簡介

karthikeya Boyini
更新於 2019-07-30 22:30:23

1K+ 次瀏覽

回溯是一種透過增量方式解決問題的演算法技術。它使用遞迴方法來解決問題。我們可以說回溯用於找到解決最佳化問題的所有可能組合。在本節中,我們將介紹哈密頓迴路、M著色問題、N皇后問題、迷宮中的老鼠問題、密碼算術謎題、子集和問題、數獨求解演算法、騎士巡遊問題、拔河問題、單詞拆分演算法、交換數字得到最大數問題

交換數字得到最大數

karthikeya Boyini
更新於 2020-06-16 09:39:27

473 次瀏覽

在這個問題中,給定一個正整數字符串,我們需要透過交換數字k次到不同的位置,找到其值最大的排列。我們將透過選擇一個數字並將其與後面的數字依次交換來解決這個問題,以找到最大數。我們重複這個過程k次。回溯策略在這裡起作用,因為當我們找到一個不大於前一個值的數字時,我們會回溯到舊值並再次檢查。輸入和輸出輸入:一個多位數字。輸入為:129814999輸出:最大值 ... 閱讀更多

單詞拆分問題

Samual Sam
更新於 2020-06-16 09:42:44

518 次瀏覽

在這個問題的輸入中,給定一個沒有空格的句子,還提供了一個包含一些有效英文單詞的字典。我們需要找到將句子拆分為單個字典單詞的所有可能方法。我們將嘗試從字串的左側搜尋以找到一個有效的單詞,當找到一個有效的單詞時,我們將搜尋該字串下一部分中的單詞。輸入和輸出輸入:作為字典的一組有效單詞,以及一個字串,其中不同的單詞不帶空格放置。字典:{mobile, sam, sung, man, mango, icecream, and, go, i, love, ... 閱讀更多

拔河演算法

karthikeya Boyini
更新於 2020-06-16 09:44:58

720 次瀏覽

在這個問題中,給定一組整數,我們需要將它們分成兩部分,使得兩個子集的和的差儘可能小。因此,我們的目標是將兩組實力幾乎相等的隊伍分成兩組,以參加拔河比賽。如果子集n的大小為偶數,則必須將其分成n/2,但對於n的奇數值,則一個子集的大小必須為(n-1)/2,另一個子集的大小必須為(n+1)/2。輸入和輸出輸入:一組不同的權重。{23, 45, -34, 12, 0, ... 閱讀更多

騎士巡遊問題

Samual Sam
更新於 2020-06-16 09:51:09

4K+ 次瀏覽

在國際象棋中,我們知道騎士可以以特殊的方式跳躍。它可以在每個方向上水平移動兩個方格和垂直移動一個方格,或者垂直移動兩個方格和水平移動一個方格,因此完整的移動看起來像英文字母“L”。在這個問題中,有一個空的棋盤,以及一個從棋盤上的任何位置開始的騎士,我們的任務是檢查騎士是否可以訪問棋盤上的所有方格。當它可以訪問所有方格時,則放置到達該位置所需的跳躍次數 ... 閱讀更多

數獨求解演算法

Sharon Christine
更新於 2020-06-16 07:04:00

3K+ 次瀏覽

在本節中,我們將嘗試解決著名的數字迷宮問題,稱為數獨。數獨是一個9 x 9的數字網格,整個網格也分成3 x 3的方塊。有一些規則來解決數獨。我們需要使用數字1到9來解決這個問題。一個數字不能在同一行、同一列或同一個3 x 3的方塊中重複出現。使用回溯演算法,我們將嘗試解決數獨問題。當某個單元格填入一個數字時,它會檢查該數字是否有效。當它 ... 閱讀更多

子集和問題

karthikeya Boyini
更新於 2020-06-16 07:09:28

15K+ 次瀏覽

在這個問題中,給定一個包含一些整數元素的集合。並且還提供了另一個值,我們需要找到給定集合的一個子集,其和等於給定的和值。這裡使用回溯方法來嘗試選擇一個有效的子集,當一個項無效時,我們將回溯以獲取前一個子集並新增另一個元素以獲得解決方案。輸入和輸出輸入:此演算法接收一組數字和一個和值。集合:{10, 7, 5, 18, 12, 20, 15}和值:35輸出:所有 ... 閱讀更多

解決密碼算術謎題

Sharon Christine
更新於 2020-06-16 07:16:15

14K+ 次瀏覽

在密碼算術問題中,一些字母用於為其分配數字。例如,十個不同的字母持有從0到9的數字值,以正確執行算術運算。給定兩個單詞,以及另一個單詞作為這兩個單詞加法的答案。例如,我們可以說兩個單詞“BASE”和“BALL”,結果是“GAMES”。現在,如果我們嘗試透過它們的符號數字將BASE和BALL相加,我們將得到答案GAMES。注意&minuns; 最多隻能有十個字母,否則無法解決。輸入和輸出輸入:此演算法將 ... 閱讀更多

迷宮中的老鼠問題

karthikeya Boyini
更新於 2020-06-16 07:23:16

5K+ 次瀏覽

在這個問題中,給定一個大小為 N x N 的迷宮。起點和終點分別位於左上角單元格和右下角單元格。一些單元格可以通行,一些單元格被堵塞。如果一隻老鼠從起點開始移動到終點,我們需要找到是否有任何路徑可以完成,如果可能,則標記老鼠的正確路徑。迷宮使用二進位制矩陣給出,其中標記為 1 表示有效路徑,否則為 0 表示堵塞單元格。注意:老鼠可以... 閱讀更多

廣告