找到 346篇 關於資料結構演算法的文章

資料結構中的幾何分佈

Arnab Chakraborty
更新於 2019年8月27日 12:50:58

309 次瀏覽

幾何分佈是一個離散機率分佈,對於 n = 0, 1, 2, …,其機率密度函式為:$$P\lgroup n\rgroup=p\lgroup1-p\rgroup^{n}$$分佈函式為:$$D\lgroup n\rgroup=\displaystyle\sum\limits_{i=0}^n P\lgroup i \rgroup=1-q^{n+1}$$示例 線上演示#include #include using namespace std; int main(){ const int nrolls = 10000; // 擲骰子次數 const int nstars = 100; // 分佈的最大星數 default_random_engine generator; geometric_distribution distribution(0.3); int p[10]={}; for (int i=0; i...

資料結構中的二項分佈

Arnab Chakraborty
更新於 2019年8月27日 12:41:00

335 次瀏覽

二項分佈是一個離散機率分佈Pp(n | N),表示在N次伯努利試驗中獲得n次成功的機率(伯努利試驗有兩個可能的結果,用x = 0和x = 1表示。x = 1表示成功,x = 0表示失敗。成功的機率為p,失敗的機率為q,q = 1 – p)。因此,二項分佈可以寫成$$P_{p}\lgroup n\:\arrowvert\ N\rgroup=\left(\begin{array}{c}N\ n\end{array}\right) p^{n}\lgroup1-p\rgroup^{N-n}$$示例 線上演示#include #include using namespace std; int main(){ const int nrolls = 10000; // 擲骰子次數 const int nstars = 100; // ... 閱讀更多

資料結構中的伯努利分佈

Arnab Chakraborty
更新於 2019年8月27日 12:33:29

298 次瀏覽

伯努利分佈是一個離散分佈,有兩個可能的結果,用x = 0和x = 1表示。x = 1表示成功,x = 0表示失敗。成功的機率為p,失敗的機率為q,q = 1 – p。所以$$P\lgroup x\rgroup=\begin{cases}1-p\:for & x = 0\p\:for & x = 0\end{cases}$$這也可以寫成:$$P\lgroup x\rgroup=p^{n}\lgroup1-p\rgroup^{1-n}$$示例 線上演示#include #include using namespace std; int main(){ const int nrolls=10000; default_random_engine generator; bernoulli_distribution distribution(0.7); int count=0; // 計數真值 for (int i=0; i

資料結構中的最小生成樹

Arnab Chakraborty
更新於 2019年8月27日 12:29:59

16K+ 次瀏覽

生成樹是無向圖的一個子集,它透過最少的邊將所有頂點連線起來。如果圖中所有頂點都連線,則至少存在一個生成樹。在一個圖中,可能存在多個生成樹。最小生成樹最小生成樹(MST)是連線加權無向圖中所有頂點的邊的一個子集,其總邊權重最小。為了匯出MST,可以使用Prim演算法或Kruskal演算法。因此,我們將在本章中討論Prim演算法。正如我們… 閱讀更多

資料結構中DFS和BFS的應用

Arnab Chakraborty
更新於 2019年8月27日 12:25:37

18K+ 次瀏覽

在這裡,我們將瞭解圖的DFS和BFS演算法的不同應用。深度優先搜尋(DFS)應用於不同的領域。一些常見的用途包括:如果對無權圖執行DFS,它將為所有對最短路徑樹建立最小生成樹我們可以使用DFS檢測圖中的迴圈。如果在BFS期間得到一條後向邊,則一定存在一個迴圈。使用DFS,我們可以找到兩個給定頂點u和v之間的路徑。可以使用拓撲排序來安排給定作業之間依賴關係的作業。拓撲排序… 閱讀更多

圖及其遍歷演算法

Arnab Chakraborty
更新於 2023年9月8日 23:02:20

46K+ 次瀏覽

在本節中,我們將瞭解什麼是圖資料結構及其遍歷演算法。圖是一種非線性資料結構。它由一些節點及其連線的邊組成。邊可以是有向的或無向的。這個圖可以表示為G(V, E)。下面的圖可以表示為G({A, B, C, D, E}, {(A, B), (B, D), (D, E), (B, C), (C, A)})圖有兩種型別的遍歷演算法。它們被稱為廣度優先搜尋和深度優先搜尋。廣度優先搜尋(BFS)廣度優先搜尋(BFS)遍歷是一種演算法,… 閱讀更多

資料結構中的二叉搜尋樹

Arnab Chakraborty
更新於 2019年8月27日 12:13:24

602 次瀏覽

二叉搜尋樹是具有某些屬性的二叉樹。這些屬性如下:每個二叉搜尋樹都是一個二叉樹每個左子節點的值都小於根節點每個右子節點的值都大於根節點理想的二叉搜尋樹不會兩次儲存相同的值。假設我們有一棵這樣的樹:這棵樹是一個二叉搜尋樹。它遵循所有提到的屬性。如果我們以中序遍歷模式遍歷元素,我們可以得到5、8、10、15、16、20、23。讓我們來看一段程式碼來了解如何在… 閱讀更多

資料結構中的先序樹遍歷

Arnab Chakraborty
更新於 2019年8月27日 12:07:28

428 次瀏覽

在本節中,我們將看到二叉搜尋樹的先序遍歷技術(遞迴)。假設我們有一棵這樣的樹:遍歷序列將是這樣的:10、5、8、16、15、20、23演算法先序遍歷(root):開始  如果root不為空,則   列印root的值   先序遍歷(root的左子樹)   先序遍歷(root的右子樹)  結束如果結束示例 線上演示#include using namespace std; class node{   public:    int h_left, h_right, bf, value;    node *left, *right; }; class tree{   private:    node *get_node(int key);  ... 閱讀更多

資料結構中的後序樹遍歷

Arnab Chakraborty
更新於 2020年1月21日 12:17:37

386 次瀏覽

在本節中,我們將看到二叉搜尋樹的後序遍歷技術(遞迴)。假設我們有一棵這樣的樹:遍歷序列將是這樣的:8、5、15、23、20、16、10演算法後序遍歷(root):開始  如果root不為空,則   後序遍歷(root的左子樹)   後序遍歷(root的右子樹)   列印root的值  結束如果結束示例 線上演示#include using namespace std; class node{   public:    int h_left, h_right, bf, value;    node *left, *right; }; class tree{   private:    node *get_node(int key);  ... 閱讀更多

資料結構中的層序樹遍歷

Arnab Chakraborty
更新於 2019年8月27日 11:34:58

373 次瀏覽

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

廣告
© . All rights reserved.