演算法的時間複雜度

2021-08-09 07:01:41 字數 540 閱讀 4960

分析乙個演算法的好壞,一般是分析其時間複雜度t(n)和空間複雜度s(n)。其中時間複雜度(time complexity)是指演算法執行時耗費時間的長度,空間複雜度(space complexity)是指占用儲存單元的長度。本文只討論時間複雜度的情況。

執行時間(running time)是取決於input size的數量級(n=6 和n=10^6所耗費的時間當然是不同的)、input pattern (如果要求對輸入的數列作降序排序,輸入的是公升序數列就是最壞的情況,輸入公升序數列就是最佳情況)、機器配置(自己的小筆記本和超級計算機)。所以要定義時間複雜度,其實是有一些「預設的規則」存在的:

附上幾頁筆記

演算法時間複雜度空間複雜度

演算法 是解決某一類問題的通法,即一系列清晰無歧義的計算指令。每個演算法只能解決具有特定特徵的一類問題,但乙個問題可由多個演算法解決。乙個演算法應該有以下五個方面的特性 比較演算法的優劣我們從兩個維度去進行考量 時間 空間 時間複雜度,空間複雜度 找出基本語句 演算法中執行次數最多的那條語句就是基本...

演算法 時間複雜度 空間複雜度

1 if i 1 2 a 1 result 3 4 result n 2 result 1000 1000 3 array.push a array.pop 4 map.set 1,1 map.get 1,1 在計算複雜度的時候,o 1 一般會被忽略。1 for let i 0 i n i 2 wh...

演算法的時間複雜度 空間複雜度

時間複雜度和空間複雜度是度量演算法效率的常用指標 事後統計,不常用 事前統計影響因素 演算法策略 問題規模 程式語言 質量 機器執行指令的速度 撇開軟硬體的影響,演算法執行工作量的大小只依賴於問題的規模 通常用整數n表示 乙個演算法是由控制結構 順序,分支,迴圈三種 和原操作 指固有資料型別的操作 ...