找到關於演算法分析的210 篇文章

資料結構中的陣列的陣列表示

Arnab Chakraborty
更新於 2020年8月10日 08:17:35

622 次瀏覽

在本節中,我們將瞭解多維陣列的另一種表示方法。我們將看到陣列的陣列表示。在這種形式中,我們有一個數組,它儲存多個數組的起始地址。表示將如下所示。這是一個大小為 [7 x 8] 的二維陣列 x。每一行都表示為一個一維陣列。初始陣列儲存這些一維陣列的地址。它們是地址陣列,所以我們可以說它是一個指標陣列。每個指標都儲存另一個數組的地址。建立這種型別的……閱讀更多

資料結構中的異構陣列

Arnab Chakraborty
更新於 2020年8月10日 08:11:28

1K+ 次瀏覽

眾所周知,陣列根據定義是同構的。因此,我們必須在陣列中放入相同型別的資料。但是,如果我們想儲存不同型別的資料,那麼有什麼技巧呢?在像 C 這樣的舊語言中,我們可以使用聯合體來人為地將不同型別合併成一種型別。然後,我們可以在此新型別上定義一個數組。這裡,陣列元素實際包含的物件型別由一個標記確定。讓我們來看一下這樣的結構 - struct Vehicle{    int id;    union {       Bus ... 閱讀更多

資料結構中的陣列加倍

Arnab Chakraborty
更新於 2020年8月10日 08:10:07

2K+ 次瀏覽

有時我們使用動態記憶體分配建立陣列。如果陣列是使用動態記憶體分配技術分配的,我們可以透過執行一些操作來加倍陣列的大小。假設初始陣列大小為 5。陣列 0 1 2 3 4 元素 1 元素 2 元素 3 元素 4 元素 5 陣列加倍後,大小為 - 0 1 2 3 4 5 6 7 8 9 元素 1 元素 2 元素 3 元素 4 元素 5 元素 6 元素 7 元素 8 元素 9 元素 10 要將大小為 n 的陣列 arr 加倍,arr[0…n-1]。首先,我們必須建立一個大小為 m 的新陣列。然後將 n 個元素從 arr 複製到新陣列。最後,更改 arr 的值以指向新陣列。要…閱讀更多

資料結構中的代換法

Arnab Chakraborty
更新於 2020年8月10日 08:05:13

5K+ 次瀏覽

在這裡,我們將瞭解如何使用代換法來求解遞推關係。我們將舉兩個例子來更好地理解它。假設我們正在使用二分查詢技術。在這種技術中,我們檢查元素是否存在於末尾。如果它存在於中間,則演算法終止,否則我們一次又一次地從實際陣列中獲取左子陣列和右子陣列。因此,在每一步中,陣列的大小都會減少 n / 2。假設二分查詢演算法執行需要 T(n) 的時間。基…閱讀更多

資料結構中的遞推方程

Arnab Chakraborty
更新於 2020年8月10日 08:02:46

1K+ 次瀏覽

在演算法分析過程中,我們找到一些遞推關係。這些遞推關係基本上在表示式中使用相同的函式。在大多數情況下,對於遞迴演算法分析和分治演算法,我們得到遞推關係。我們將透過一些例子來了解遞推方程的一個例子。假設我們正在使用二分查詢技術。在這種技術中,我們檢查元素是否存在於末尾。如果它存在於中間,則演算法終止,否則我們從實際陣列中獲取左子陣列和右子陣列…閱讀更多

資料結構中的快取未命中計數

Arnab Chakraborty
更新於 2020年8月10日 08:01:20

218 次瀏覽

在演算法分析中,我們計算操作和步驟。當計算機執行操作所需的時間比獲取該操作所需資料所需的時間長得多時,這基本上是合理的。如今,執行操作的成本遠低於從記憶體中獲取資料的成本。許多演算法的執行時間主要取決於記憶體引用次數(快取未命中次數),而不是操作次數。因此,當我們嘗試設計一些演算法時,我們必須關注的不僅僅是減少操作次數,還要減少…閱讀更多

演算法中的操作計數法

Arnab Chakraborty
更新於 2020年8月10日 07:57:52

3K+ 次瀏覽

有多種方法可以估計某些演算法的成本。一種方法是使用操作計數。我們可以透過選擇不同的操作之一來估計算法的時間複雜度。這些操作例如加法、減法等。我們必須檢查執行了多少次這些操作。這種方法的成功取決於我們識別出對時間複雜度貢獻最大的操作的能力。假設我們有一個大小為 n [0 到 n - 1] 的陣列。我們的演算法將找到最大元素的索引。我們可以透過計算…閱讀更多

用於 CSMA/CD 的退避演算法

sudhir sharma
更新於 2020年8月6日 07:58:20

5K+ 次瀏覽

退避演算法是一種用於衝突解決的演算法。它的工作原理是:當發生衝突時,兩個裝置都會等待一段時間(隨機時間)然後再重新傳輸訊號,它們會一直嘗試直到資料成功傳輸。這被稱為退避,因為節點在再次嘗試訪問之前會“退避”一段時間。這段隨機時間與它嘗試傳輸訊號的次數成正比。演算法以下是簡要說明退避演算法的簡單流程圖。可以看出,…閱讀更多

分組密碼和流密碼的區別

Kiran Kumar Panigrahi
更新於 2022年7月27日 10:17:01

11K+ 次瀏覽

分組密碼和流密碼都屬於對稱金鑰密碼家族,它們基本上是加密方法,主要用於直接將明文轉換為密文。閱讀本文以瞭解有關分組密碼和流密碼功能的更多資訊以及它們彼此之間的區別。什麼是分組密碼?分組密碼是一種對稱加密技術,它使用共享的秘密金鑰來加密固定大小的資料塊。在加密過程中,使用明文,密文是生成的加密文字。明文和密文都使用相同的金鑰進行加密。分組密碼…閱讀更多

確定性演算法和非確定性演算法的區別

Kiran Kumar Panigrahi
更新於 2023年2月21日 14:15:03

21K+ 次瀏覽

在程式設計環境中,演算法是一組按順序排列的明確指令,用於執行特定任務並獲得所需的輸出。這裡我們說“一組定義的指令”,這意味著使用者在某種程度上知道如果這些指令以預期的方式執行,其結果是什麼。根據對指令結果的瞭解,有兩種型別的演算法,即確定性演算法和非確定性演算法。閱讀本文以瞭解有關確定性演算法和非確定性演算法的更多資訊以及它們彼此之間的區別。什麼是確定性演算法?確定性…閱讀更多

廣告