1資料結構 複雜度問題

2021-10-06 17:39:03 字數 1415 閱讀 8540

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,在修改後的執行函式中,...

資料結構 時間複雜度和空間複雜度

通常我們衡量乙個演算法的複雜度時,會有兩種演算法效率分析方式 第一種是時間效率,第二種是空間效率。時間效率被稱為時間複雜度,而空間效率被稱作空間複雜度。時間複雜度主要衡量的是乙個演算法的執行速度,空間複雜度主要衡量一乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小。所以對空間複雜...