2K+ 次瀏覽
它類似於之前的演算法。唯一的區別在於,圖 G(V, E) 由鄰接表表示。鄰接表表示的時間複雜度為 O(E log V)。輸入和輸出輸入:成本矩陣:輸出:邊:A--B 和成本:1 邊:B--E 和成本:2 邊:A--C 和成本:3 邊:A--D 和成本:4 邊:E--F 和成本:2 邊:F--G 和成本:3 總成本:15演算法prims(g: 圖,開始)輸入 - 圖 g 和名為“開始”的種子頂點輸出 - 新增邊後的樹開始 建立兩個集合 B,N 將起始節點新增到 B ... 閱讀更多
給定一個連通圖 G(V, E),每條邊的權重或成本都已給出。Prim 演算法將找到圖 G 的最小生成樹。這是一種增量樹方法。該演算法需要一個種子值來啟動樹。種子頂點會不斷擴充套件以形成整棵樹。這個問題將使用兩個集合來解決。一個集合儲存已選擇的節點,另一個集合儲存尚未考慮的項。從種子頂點開始,它根據最小邊成本選擇相鄰頂點,從而擴充套件樹... 閱讀更多
582 次瀏覽
給定到達時間和離開時間的列表。現在問題是要找到鐵路所需的最小站臺數量,因為沒有火車等待。透過將所有時間按排序順序排序,我們可以輕鬆找到解決方案,這將很容易跟蹤火車何時到達但未離開車站。這個問題的時間複雜度為 O(n Log n)。輸入和輸出輸入:到達時間和離開時間的列表。到達:{900, 940, 950, 1100, 1500, 1800} 離開:{910, 1200, 1120, 1130, 1900, 2000} 輸出:所需的最小站臺數:3演算法minPlatform(arrival, departure, int n)輸入 - ... 閱讀更多
1K+ 次瀏覽
給定一個硬幣列表 C(c1, c2, ……Cn) 和一個值 V。現在問題是如何使用最少的硬幣來湊成 V。注意 - 假設有無限數量的硬幣 C在這個問題中,我們將考慮一組不同的硬幣 C{1, 2, 5, 10},每種型別的硬幣數量無限。為了湊夠所需的值,我們將嘗試取任意型別的硬幣的最少數量。例如,對於值 22 - 我們將選擇 {10, 10, 2}, ... 閱讀更多
526 次瀏覽
在之前的霍夫曼編碼問題中,頻率沒有排序。如果頻率列表按排序順序給出,則分配程式碼的任務將更高效。在這個問題中,我們將使用兩個空佇列。然後為每個唯一字元建立一個葉節點,並將其按頻率遞增的順序插入佇列中。在這種方法中,演算法的複雜度為 O(n)。輸入和輸出輸入:不同的字母及其頻率按排序順序排列 字母:{L, K, X, C, E, B, A, F} 頻率:{1, 1, 2, 2, 2, 2, 3, 4} 輸出:字母的程式碼 L:... 閱讀更多
32K+ 次瀏覽
霍夫曼編碼是一種無損資料壓縮演算法。在這個演算法中,一個可變長度的程式碼被分配給輸入的不同字元。程式碼長度與字元的使用頻率有關。最頻繁的字元具有最小的程式碼,而最不頻繁的字元具有較長的程式碼。主要有兩個部分。第一個是建立霍夫曼樹,另一個是遍歷樹以查詢程式碼。例如,考慮一些字串“YYYZXXYYX”,字元 Y 的頻率大於 X,字元 Z 的頻率最小。因此,Y 的程式碼長度小於... 閱讀更多
5K+ 次瀏覽
給定一個圖 G(V, E) 及其鄰接表表示,並且還提供了一個源頂點。Dijkstra 演算法用於查詢從源頂點到圖 G 的任何其他頂點的最小最短路徑。為了解決這個問題,我們將使用兩個列表。一個用於儲存已被視為最短路徑樹的頂點,另一個用於儲存尚未考慮的頂點。在演算法的每個階段,我們找到未考慮的頂點,並且該頂點與源的距離最小。另一個列表用於儲存前驅節點。使用... 閱讀更多
4K+ 次瀏覽
給定 n 個不同的活動及其開始時間和結束時間。選擇由一個人解決的最大活動數。我們將使用貪婪方法來查詢下一個活動,其完成時間在剩餘活動中最小,並且開始時間大於或等於最後一個選擇的活動的完成時間。這個問題的複雜度為 O(n log n)(列表未排序時)。當提供排序列表時,複雜度將為 O(n)。輸入和輸出輸入:具有開始和結束時間的不同活動的列表。{(5,... 閱讀更多
827 次瀏覽
這是一個非比較排序技術的示例。它用於專案數量和可能的鍵值範圍大致相同的情況。要執行此排序,我們需要製作一些孔。所需的孔的數量由數字範圍決定。將專案插入每個孔中。最後從孔中刪除並存儲到陣列中以進行排序。鴿巢排序技術的複雜度時間複雜度:O(n+2^k)空間複雜度:O(2^k)輸入和輸出輸入:未排序列表:802 630 20 745 52 300 612 932 78 187 輸出:排序前的資料:802 630 20 745 ... 閱讀更多
689 次瀏覽
迴圈排序是一種就地排序演算法。它也是基於比較的排序,對於任何其他就地排序技術都很高效。它找到執行排序任務所需的最小記憶體寫入次數。迴圈排序技術的複雜度時間複雜度:O(n^2)空間複雜度:O(1)輸入和輸出輸入:未排序資料的列表:23 63 98 74 20 14 36 45 99 78 輸出:排序前的資料:23 63 98 74 20 14 36 45 99 78 排序後的陣列:14 20 23 36 45 63 74 78 98 99演算法cycleSort(array, size)輸入 - 一組資料,以及資料總數... 閱讀更多