找到 510 篇文章 關於 演算法

針對已排序輸入的有效霍夫曼編碼

Sharon Christine
更新於 2020-06-15 16:08:20

526 次檢視

在之前的霍夫曼編碼問題中,頻率未排序。如果頻率列表按排序順序給出,則分配程式碼的任務將更加有效。在本問題中,我們將使用兩個空佇列。然後為每個唯一字元建立一個葉節點,並將其按頻率遞增的順序插入到佇列中。在這種方法中,演算法的複雜度為 O(n)。輸入和輸出輸入:按排序順序排列的不同字母及其頻率字母:{L, K, X, C, E, B, A, F}頻率:{1, 1, 2, 2, 2, 2, 3, 4}輸出:字母的程式碼L:... 閱讀更多

霍夫曼編碼演算法

karthikeya Boyini
更新於 2022-12-23 11:05:46

32K+ 次檢視

霍夫曼編碼是一種無損資料壓縮演算法。在此演算法中,為輸入的不同字元分配可變長度的程式碼。程式碼長度與字元的使用頻率相關。最常出現的字元具有最小的程式碼,而最不常出現的字元具有較長的程式碼。主要有兩個部分。第一個是建立霍夫曼樹,另一個是遍歷樹以查詢程式碼。例如,考慮一些字串“YYYZXXYYX”,字元 Y 的頻率大於 X,字元 Z 的頻率最小。因此,Y 的程式碼長度小於... 閱讀更多

迪傑斯特拉演算法用於鄰接表表示

karthikeya Boyini
更新於 2020-06-15 16:25:50

5K+ 次檢視

給定一個圖 G(V, E) 及其鄰接表表示,並提供一個源頂點。迪傑斯特拉演算法用於查詢從源頂點到圖 G 的任何其他頂點的最小最短路徑。為了解決此問題,我們將使用兩個列表。一個是儲存已被視為最短路徑樹的頂點,另一個將儲存尚未考慮的頂點。在演算法的每個階段,我們找到未考慮的頂點,並且該頂點與源的距離最小。另一個列表用於儲存前驅節點。使用... 閱讀更多

活動選擇問題

Samual Sam
更新於 2020-06-15 16:28:54

4K+ 次檢視

給定 n 個不同的活動及其開始時間和結束時間。選擇最大數量的活動以由一個人解決。我們將使用貪心策略來查詢下一個活動,該活動的完成時間在其餘活動中最小,並且開始時間大於或等於上次選定活動的完成時間。此問題的複雜度為 O(n log n),當列表未排序時。當提供排序列表時,複雜度將為 O(n)。輸入和輸出輸入:具有開始和結束時間的不同活動的列表。{(5,... 閱讀更多

鴿巢排序

Sharon Christine
更新於 2020-06-15 15:31:17

827 次檢視

這是非比較排序技術的一個示例。它用於專案數量和可能的鍵值範圍大致相同的情況。要執行此排序,我們需要製作一些孔。所需的孔數由數字範圍決定。在每個孔中,插入專案。最後從孔中刪除並存儲到陣列中以進行排序。鴿巢排序技術的複雜度時間複雜度:O(n+2^k)空間複雜度:O(2^k)輸入和輸出輸入:未排序列表:802 630 20 745 52 300 612 932 78 187輸出:排序前的資料:802 630 20 745 ... 閱讀更多

迴圈排序

Sharon Christine
更新於 2020-06-15 15:43:42

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)輸入 - 資料陣列和總數... 閱讀更多

梳排序

Jai Janardhan
更新於 2020-06-15 14:29:38

1K+ 次檢視

梳排序和氣泡排序的基本思想相同。換句話說,梳排序是對氣泡排序的改進。在氣泡排序技術中,專案在每個階段都與其下一個專案進行比較。但對於梳排序,專案按特定間隙排序。完成每個階段後,間隙減小。此排序的減小因子或收縮因子為 1.3。這意味著完成每個階段後,間隙除以 1.3。梳排序技術的複雜度時間複雜度:最佳情況為 O(n log n)。O(n^2/2^p) (p ... 閱讀更多

三元搜尋

Rishi Raj
更新於 2020-06-15 14:50:10

3K+ 次檢視

與二分搜尋類似,它也將列表分成子列表。此過程使用兩個中間中間值將列表分成三部分。隨著列表被劃分為更多細分,因此它減少了搜尋鍵值的時間。三元搜尋技術的複雜度時間複雜度:O(log3 n)空間複雜度:O(1)輸入和輸出輸入:已排序的資料列表:12 25 48 52 67 79 88 93 搜尋鍵 52輸出:專案位於位置:3演算法ternarySearch(array, start, end, key)輸入 - 已排序陣列、起始和結束位置以及搜尋鍵輸出 - 鍵的位置(如果找到),否則錯誤... 閱讀更多

指數搜尋

Paul Richard
更新於 2020-06-15 14:10:42

4K+ 次檢視

指數搜尋也稱為倍增搜尋或跳躍搜尋。此機制用於查詢搜尋鍵可能存在的範圍。如果 L 和 U 是列表的上限和下限,則 L 和 U 都是 2 的冪。對於最後一部分,U 是列表的最後一個位置。因此,它被稱為指數搜尋。在找到特定範圍後,它使用二分搜尋技術來查詢搜尋鍵的確切位置。指數搜尋技術的複雜度時間複雜度:最佳情況為 O(1)。O(log2 i) ... 閱讀更多

作業系統在迴圈排程中的時間片輪轉

Arnab Chakraborty
更新於 2020年6月20日 09:50:34

243 次檢視

程序 爆發時間 A 4 B 1 C 8 D 1時間片=10 單位A B C D A C C C 0 2 3 5 6 8 10 12 14所以 A 將完成 8 個週期。

廣告