Python知識分享網(wǎng) - 專業(yè)的Python學習網(wǎng)站 學Python,上Python222
算法的時間復雜度 PDF 下載
匿名網(wǎng)友發(fā)布于:2025-08-18 09:53:55
(侵權(quán)舉報)
(假如點擊沒反應,多刷新兩次就OK!)

算法的時間復雜度 PDF 下載 圖1

 

 

資料內(nèi)容:

 

1、算法:解決問題的方法。 
 

我們可以把所有的算法想象為一本“菜譜”,特定的算法比如菜譜中的的一道菜的制作流
程,只要按照菜譜的要求制作,那么誰都可以做出一道好吃的菜。so,這個做菜的步驟就可
以理解為:“解決問題的步驟”
 
例如排序的算法,有插入排序、希爾排序、選擇排序、冒泡排序、堆排序、快速排序(六
大排序算法:插入排序、希爾排序、選擇排序、冒泡排序、堆排序、快速排序-CSDN博
客)
這么多算法,那怎么衡量他們的好壞呢?
比如衡量一臺電腦的好壞,可以CPU,價格,內(nèi)存等
算法可以用時間復雜度,和空間復雜度來衡量。
時間復雜度主要衡量一個算法的運行快慢,而空間復雜度主要衡量一個算法運行所需要的額
外空間。

 

2.什么是時間復雜度

 

public class Main {
 ? ?public static void main(String[] args) {
 ? ? ? ?//下面這句代碼會運行多長時間
 ? ? ? ?int i = 0;
 ? ? ? ?
 ? ? ? ?//那下面這句呢?
 ? ? ? ?int a = 1,b = 2,c = 3...z = 26;
 ? ? ? ?
 ? ? ? ?
 ? ? ? ?for(int i = 0; i < n ;i++){
 ? ? ? ? ? ?System.out.println("Hello world!");//那這句呢?
 ? ? ? }
 ? ? ? ?
 ? ? ? ?//電腦運行每一句代碼的時候都要要花費時間,我們可以把每一條語句 
的執(zhí)行時間都看做是一樣的,記為一個時間單元。
 ? ? ? ?
 ? ? ? ?//所以上面的前兩句代碼各花費了兩個時間單元,第三句花費了n個時 間
單元
 ? ? ? ?
 ? ? ? ?//用T(n)表示程序運行了多長時間,那么上面的代碼運行時間為
 ? ? ? ?T(n) = 2 + n
 ? ? ? ?//其中的n被我們稱為問題的規(guī)模,其實就是處理問題的大小
 ? ? ? ?
 ? ? ? ?//一般只關心隨著問題規(guī)模n趨于無限大時對結(jié)果影響最大的項
 ? ? ? ?//所以上面的T(n)可以簡化為T(n) ~ n
 ? ? ? ? ? ?簡化后的式子就是這個算法的時間復雜度
 ? ? ? ? ? ?記為O(f(n))為時間復雜度
 ? ? ? ? ? ?
 ? ? ? ? ? ?//所以上面的算法的時間復雜度為O(n)
 ? }
}