找到 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。陣列01234元素 1元素 2元素 3元素 4元素 5陣列加倍後,大小為 -0123456789元素 1元素 2元素 3元素 4元素 5元素 6元素 7元素 8元素 9元素 10要將大小為 n 的陣列 arr 加倍,arr[0…n-1]。首先,我們必須建立一個大小為 m 的新陣列。然後將 arr 中的 n 個元素複製到新陣列中。最後,更改 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+ 次瀏覽

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

廣告