找到關於演算法的510 篇文章

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

Sharon Christine
更新於 2020年6月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 的程式碼長度小於... 閱讀更多

Dijkstra 演算法及其鄰接表表示

karthikeya Boyini
更新於 2020年6月15日 16:25:50

5K+ 次瀏覽

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

活動選擇問題

Samual Sam
更新於 2020年6月15日 16:28:54

4K+ 次瀏覽

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

鴿巢排序

Sharon Christine
更新於 2020年6月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年6月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年6月15日 14:29:38

1K+ 次瀏覽

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

三元查詢

Rishi Raj
更新於 2020年6月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年6月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 個週期。

廣告