找到 210 篇文章 關於演算法分析

貪婪演算法和動態規劃的區別

AmitDiwan
更新於 2021年3月2日 05:04:41

529 次瀏覽

在這篇文章中,我們將瞭解貪婪演算法和動態規劃方法的區別。貪婪演算法它是一種演算法範例,逐步構建解決方案。選擇下一步的方式是,它能帶來最明顯和直接的益處。涉及選擇區域性最優值的問題將有助於選擇問題的全域性最優值/解決方案。這些是與貪婪演算法相關的難題。不能保證貪婪演算法會產生最優解。在問題的每個階段都做出最優選擇,即區域性最優解。它…… 閱讀更多

Prim演算法和Kruskal演算法的區別

AmitDiwan
更新於 2021年3月2日 05:02:09

794 次瀏覽

在這篇文章中,我們將瞭解Prim演算法和Kruskal演算法的區別。用於最小生成樹 (MST) 的 Kruskal 演算法給定一個連通且無向的圖,該圖的生成樹是連線所有頂點的子圖。單個圖可以有多個生成樹。加權、連通且無向圖的最小生成樹 (MST)(也稱為最小權重生成樹)是一個生成樹,其權重小於或等於所有其他生成樹的權重。生成樹的權重是透過新增權重來確定的…… 閱讀更多

資料結構中的Yen k最短路徑演算法

Dev Prakash Sharma
更新於 2021年2月23日 06:35:29

1K+ 次瀏覽

Yen 的 k 最短路徑演算法不是隻給出單個最短路徑,而是給出 k 個最短路徑,這樣我們就可以得到第二短路徑、第三短路徑等等。讓我們考慮這樣一個場景:我們必須從 A 地點旅行到 B 地點,並且在 A 地點和 B 地點之間有多條路線可用,但是我們必須找到最短路徑,並且忽略所有在時間複雜度方面不太重要的路徑,以便到達目的地。讓我們用一個例子來理解-考慮給定的例子作為橋樑,它…… 閱讀更多

資料結構中構造表示式樹的演算法

Dev Prakash Sharma
更新於 2021年2月23日 18:11:51

8K+ 次瀏覽

表示式樹表示式樹是葉子節點具有要操作的值,而內部節點包含將對葉子節點執行的運算子的樹。示例4 + ((7 + 9) * 2) 將具有如下表達式樹演算法來構造表示式樹設 T 為表示式樹。如果 T 不為空: 如果 T->data 是運算元: 返回 T.data A = solve(T.left) B = solve(T.right) -- > 對 A 和 B 計算 'T.data' 的運算子,並遞迴呼叫, 返回 calculate(A, B, T.data)如何構造表示式樹?要為… 閱讀更多

資料結構中紅黑樹的插入

Dev Prakash Sharma
更新於 2021年2月5日 12:42:32

7K+ 次瀏覽

紅黑樹是一種自平衡二叉搜尋樹,其中樹的每個節點都用紅色或黑色著色。我們可以在紅黑樹上執行三種類型的操作——搜尋、插入和刪除。讓我們假設我們必須在下面的紅黑樹中插入一個元素。在紅黑樹中插入一個元素的想法很簡單——我們就像在普通的二叉樹中插入一樣進行插入。我們從根節點開始,檢查節點的顏色,並將其插入到一個…… 閱讀更多

Floyd 迴圈檢測演算法用於檢測線性資料結構中的迴圈

Dev Prakash Sharma
更新於 2021年2月5日 12:22:42

516 次瀏覽

Floyd 迴圈是用於檢測給定單鏈表中迴圈的迴圈檢測演算法之一。在 Floyd 迴圈演算法中,我們有兩個指標最初指向頭部。在龜兔賽跑的故事中,兔子移動的速度是烏龜的兩倍,每當兔子到達路徑的盡頭時,烏龜到達路徑的中間。演算法將 Hare 和 Tortoise 初始化為列表的頭部節點。最初,兔子移動的速度是烏龜的兩倍。移動兔子和烏龜,並找到兔子是否到達連結串列的末尾,返回…… 閱讀更多

使用 Trie 的自動完成功能

Hafeezul Kareem
更新於 2020年9月21日 13:19:12

468 次瀏覽

我們有一個 Trie,當用戶輸入一個字元時,我們必須顯示 Trie 中匹配的字串。我們稱此功能為自動完成。例如,如果 Trie 包含“xyzzzz”、“xyz”、“xxxyyxzzz”,並且當用戶輸入 xy 時,那麼我們必須向他們顯示 xyzzzz、xyz 等,實現結果的步驟。使用標準 Trie 演算法搜尋字串。如果字串不存在,則返回 -1。如果字串存在並且是 Trie 中單詞的結尾,則列印字串。如果匹配的字串沒有任何節點,則返回。否則列印…… 閱讀更多

資料結構中的線段樹

Arnab Chakraborty
更新於 2020年8月11日 07:52:15

405 次瀏覽

在本節中,我們將瞭解什麼是線段樹。在討論之前,讓我們看看一個問題。假設我們有一個數組 arr[0, …, n-1],我們可以執行以下操作——查詢從索引 l 到 r 的元素之和,其中 0 ≤ l ≤ r ≤ n-1 將陣列的指定元素的值更改為新值 x。我們需要執行 arr[i] = x。i 的範圍為 0 到 n – 1。我們可以使用線段樹來解決這個問題。線段樹可以幫助我們獲得總和和查詢…… 閱讀更多

資料結構中的區間樹

Arnab Chakraborty
更新於 2020年8月11日 07:50:46

2K+ 次瀏覽

在本節中,我們將瞭解什麼是區間樹。顧名思義,區間樹是與區間相關的樹。所以在討論區間樹之前,讓我們看看基本的區間。區間基本上是一個範圍。因此,如果一個區間寫為 [a,b],則表示範圍從 a 開始,到 b 結束。現在假設有一個區間 [10,20]。因此,存在三個範圍值。第一個是 -∞ 到 10,10 到 20,最後是 20 到 ∞現在,假設我們將建立第二個…… 閱讀更多

資料結構中B+樹的刪除

Arnab Chakraborty
更新於 2020年8月11日 07:47:36

734 次瀏覽

這裡我們將看到如何從B+樹中刪除節點。假設我們有一個如下所示的B+樹:B+樹示例 - 刪除操作分為兩部分。首先,我們必須找到該元素。該策略類似於查詢。現在,對於刪除操作,我們必須注意一些規則。一個節點必須至少包含m/2個元素。因此,如果我們刪除一個元素,並且剩餘元素少於m-1個,那麼它將進行自我調整。如果整個節點被刪除,則其子節點將被合併,如果其大小與……閱讀更多

廣告