找到關於演算法分析的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 結束 if迴圈返回 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){ 返回; } 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+ 次瀏覽

所有對最短路徑演算法,也稱為弗洛伊德-沃舍爾演算法,用於查詢給定加權圖中的所有對最短路徑問題。該演算法的結果是生成一個矩陣,該矩陣表示從任何節點到圖中所有其他節點的最小距離。首先,輸出矩陣與給定的圖成本矩陣相同。之後,將使用所有頂點 k 作為中間頂點更新輸出矩陣。該演算法的時間複雜度為 O(V3),其中 V 是圖中頂點的數量。輸入 -…… 閱讀更多

廣告