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

資料結構中的抽象資料型別

Arnab Chakraborty
更新於 2023年10月5日 01:03:30

31K+ 次瀏覽

資料型別基本上是在不同的計算機程式中可以使用的某種資料型別。它表示諸如整數、浮點數等型別,以及空間,例如整數將佔用4位元組,字元將佔用1位元組的空間等。抽象資料型別是一種特殊的資料型別,其行為由一組值和一組操作定義。“抽象”一詞的使用是因為我們可以使用這些資料型別,可以執行不同的操作。但是,這些操作是如何工作的,對使用者來說是完全隱藏的。ADT 由原始資料型別構成,但操作邏輯是…… 閱讀更多

二進位制數轉換為格雷碼

Ankith Reddy
更新於 2023年10月31日 13:38:45

79K+ 次瀏覽

反射二進位制碼或格雷碼是對二進位制數值系統的一種排序,使得兩個連續的值只在一個位元(二進位制數字)上有所不同。格雷碼在硬體生成的二進位制數的正常序列中非常有用,因為在從一個數轉換到下一個數的過程中可能會導致錯誤或歧義。因此,格雷碼可以很容易地消除這個問題,因為在任意兩個數之間的轉換過程中,只有一個位元改變其值。二進位制數轉換為格雷碼格雷碼用於旋轉和光電編碼器、卡諾圖和錯誤檢測。…… 閱讀更多

Javascript 中的斐波那契數列

karthikeya Boyini
更新於 2020年6月22日 15:00:49

407 次瀏覽

斐波那契數是這樣的數,除了前兩個數外,該數列中的每個數都是前兩個數的和。該數列以 1, 1 開頭。例如 - 1, 1, 2, 3, 5, 8, 13, 21, 34, ……我們可以編寫一個程式來生成第 n 個數,如下所示 - function fibNaive(n) { if (n<

Javascript 中的動態規劃

Samual Sam
更新於 2019年7月30日 22:30:23

2K+ 次瀏覽

動態規劃將問題分解成越來越小的子問題。這些子問題不是獨立解決的。相反,這些較小子問題的結果會被記住並用於類似或重疊的子問題。在我們可以將問題分解成類似的子問題以便重用其結果的情況下,使用動態規劃。通常,這些演算法用於最佳化。在解決手頭的子問題之前,動態演算法會嘗試檢查先前已解決的子問題的結果。子問題的解決方案被組合起來以實現最佳解決方案。對於一個問題…… 閱讀更多

三元搜尋

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)…… 閱讀更多

廣告
© . All rights reserved.