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

矩陣乘法演算法

Arnab Chakraborty
更新於 2019年8月27日 08:14:18

22K+ 次瀏覽

在本節中,我們將學習如何進行兩個矩陣的乘法運算。矩陣乘法只有在滿足特定條件下才能進行。假設有兩個矩陣 A 和 B,其維度分別為 A (m x n) 和 B (p x q),則當且僅當 n = p 時才能找到結果矩陣。則結果矩陣 C 的階數將為 (m x q)。演算法matrixMultiply(A, B):假設 A 的維度為 (m x n),B 的維度為 (p x q) 開始 如果 n 不等於 p,則退出 否則定義 C ... 閱讀更多

演算法中的步數統計法

Arnab Chakraborty
更新於 2019年8月27日 08:02:11

9K+ 次瀏覽

步數統計法是分析演算法的一種方法。在這種方法中,我們計算每條指令執行的次數。由此,我們將嘗試找到演算法的複雜度。假設我們有一個執行順序搜尋的演算法。假設每條指令需要 c1、c2…… 的時間來執行,那麼我們將嘗試找出該演算法的時間複雜度演算法執行次數成本seqSearch(arr, n, key)i := 0while i < n, do 如果 arr[i] = key,則 break 結束 ifdoreturn i1n+1n0/11c1c2c3c4c5現在,如果我們將成本相乘後相加…… 閱讀更多

資料結構中佇列的操作

Arnab Chakraborty
更新於 2019年8月27日 07:51:59

587 次瀏覽

佇列是先進先出 (FIFO) 的資料結構。佇列用於圖遍歷演算法廣度優先搜尋等不同領域。佇列有一些基本操作。在這裡,我們將看到這些佇列操作,並使用佇列 ADT 看一個例子。ADT(抽象資料型別)是一種特殊的資料型別,其行為由一組值和一組操作定義。“抽象”一詞的使用是因為我們可以使用這些資料型別,我們可以執行不同的操作。但是這些操作是如何工作的,對使用者來說是完全隱藏的。ADT 由…… 閱讀更多

資料結構中的尾遞迴

Arnab Chakraborty
更新於 2019年8月27日 07:45:44

4K+ 次瀏覽

在這裡,我們將瞭解什麼是尾遞迴。尾遞迴基本上是使用遞迴函式作為函式的最後一條語句。因此,當從遞迴呼叫返回後沒有任何操作需要執行時,這稱為尾遞迴。我們將看到一個尾遞迴的例子。示例 線上演示#include using namespace std; void printN(int n){ 如果(n < 0){ return; } cout

資料結構棧的基本操作

Arnab Chakraborty
更新於 2019年8月27日 07:38:16

7K+ 次瀏覽

棧是後進先出 (LIFO) 的資料結構。棧用於表示式求值、呼叫和遞迴策略等不同領域。棧有一些基本操作。在這裡,我們將看到這些棧操作,並使用棧 ADT 看一個例子。ADT(抽象資料型別)是一種特殊的資料型別,其行為由一組值和一組操作定義。“抽象”一詞的使用是因為我們可以使用這些資料型別,我們可以執行不同的操作。但是這些操作是如何工作的,對使用者來說是完全隱藏的。ADT 由…… 閱讀更多

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

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

31K+ 次瀏覽

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

棧在資料結構中的應用

Arnab Chakraborty
更新於 2019年8月27日 07:15:14

3K+ 次瀏覽

棧是後進先出 (LIFO) 資料結構。這種資料結構在不同方面有一些重要的應用。這些如下所示:表示式處理:中綴表示式轉字尾表示式或中綴表示式轉字首表示式:棧可用於將某些中綴表示式轉換為其後綴等價式或字首等價式。這些字尾或字首表示法用於計算機中表達某些表示式。這些表示式與中綴表示式不太熟悉,但它們也有一些很大的優點。我們不需要維護運算子順序和括號。字尾或字首表示式求值:轉換完成後綴或…… 閱讀更多

資料結構中遞迴的原理

Arnab Chakraborty
更新於 2019年8月26日 11:24:06

3K+ 次瀏覽

遞迴是一個函式呼叫自身的程序。我們使用遞迴將更大的問題分解成更小的子問題。有一點我們必須記住,如果每個子問題都遵循相同型別的模式,那麼我們才能使用遞迴方法。遞迴函式有兩個不同的部分。基本情況和遞迴情況。基本情況用於終止遞迴任務。如果沒有定義基本情況,則函式將無限次遞迴(理論上)。在計算機程式中,當我們呼叫一個函式時,程式計數器的值…… 閱讀更多

霍夫曼編碼

Arnab Chakraborty
更新於 2019年8月5日 07:44:26

8K+ 次瀏覽

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

所有節點對最短路徑

Arnab Chakraborty
更新於 2023年11月7日 03:20:32

70K+ 次瀏覽

所有節點對最短路徑演算法,也稱為弗洛伊德-沃歇爾演算法 (Floyd-Warshall algorithm),用於在一個給定的加權圖中查詢所有節點對之間的最短路徑。該演算法的結果是一個矩陣,表示圖中任意節點到所有其他節點的最小距離。最初,輸出矩陣與給定的圖的代價矩陣相同。之後,輸出矩陣將以所有頂點 k 作為中間頂點進行更新。該演算法的時間複雜度為 O(V³),其中 V 是圖中頂點的數量。輸入 - ... 閱讀更多

廣告