p3_03_資料結構與演算法概述_演算法
p4_04_演算法分析_時間複雜度分析1
2、事前分析估算方法:
3、在研究演算法的效率時,我們只考慮核心**的執行次數,這樣可以簡化分析。
p5_05_06演算法分析_時間複雜度分析2/3
p7_07_演算法分析_時間複雜度分析4
p808_演算法分析_時間複雜度分析5
p9_09_演算法分析_時間複雜度分析6
p10_10_演算法分析_空間複雜度分析
把元素按照一定關係,組織和儲存資料。
邏輯結構
⑴集合結構。該結構的源資料元素間的關係是「屬於同乙個集合」。
⑵線性結構。該結構的資料元素之間存在著一對一的關係。bai
⑶樹型結構。du該結構的資料元素之間存在著一對多的關係。
⑷圖形結構。該結構的資料元素之間存在著多對多的關係,也稱網狀結構。
順序和鏈式儲存結構。
根據一定的條件,對一些資料進行計算,得到需要的結果。
1.花最少的時間完成需求;
2.占用最少的記憶體空間完成需求;
結束時間-開始時間
1.演算法採用的策略和方案;
2.編譯產生的**質量;
3.問題的輸入規模(所謂的問題輸入規模就是輸入量的多少);
4.機器執行指令的速度;
我們分析乙個演算法的執行時間,最重要的就是把核心操作的次數和輸入規模關聯起來。
1.演算法函式中的常數可以忽略;
2.演算法函式中最高次冪的常數因子可以忽略;
3.演算法函式中最高次冪越小,演算法效率越高。
1.用常數1取代執行時間中的所有加法常數;
2.在修改後的執行次數中,只保留高階項;
3.如果最高端項存在,且常數因子不為1,則去除與這個項相乘的常數;
1.線性階
2.平方階
3.立方階
4.對數階
5.常數階
如果發現演算法的時間複雜度為平方階、立方階或者更複雜的,那我們可以分為這種演算法是不可取的,需要優化。
我們分析的都是單個函式內,演算法**的時間複雜度,接下來我們分析函式呼叫過程中時間複雜度。
先分析方法本身是什麼複雜度。
資料結構 時間複雜度 空間複雜度
1.演算法效率 演算法效率可以用來衡量乙個演算法的好壞 演算法效率分析分為兩種 第一種是時間效率,第二種是空間效率.時間效率被稱為時間複雜度,空間效率被稱為空間複雜度.時間複雜度主要衡量的是乙個演算法的執行速度,而空間複雜度主要衡量乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小...
資料結構時間複雜度和空間複雜度
1 演算法o n 關注n的階數,當數十分大的時候,常數可以忽略。o n 又稱為大o記法。2 t n o f n 隨著n變化而變化,f n 是某個函式,執行的次數等於時間,一般情況下,t n 增長最慢的演算法最優。4 推到o n 1,用1取代時間中所有加法常數 哪些可以忽略 2,在修改後的執行函式中,...
資料結構 時間複雜度和空間複雜度
通常我們衡量乙個演算法的複雜度時,會有兩種演算法效率分析方式 第一種是時間效率,第二種是空間效率。時間效率被稱為時間複雜度,而空間效率被稱作空間複雜度。時間複雜度主要衡量的是乙個演算法的執行速度,空間複雜度主要衡量一乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小。所以對空間複雜...