資料結構與時間複雜度

2021-10-07 11:49:50 字數 689 閱讀 7470

資料結構是相互之間存在一種或多種特定關係的資料元素的集合。

邏輯結構就是資料之間的關係。而按資料之間的關係來說,大概可以分為兩種:線性結構和非線性結構。

非線性結構

什麼是儲存結構?邏輯結構指的是資料間的關係,而儲存結構是邏輯結構的儲存映像。通俗的講,可以將儲存結構理解為邏輯結構用計算機語言的實現。常見的儲存結構有順序儲存、鏈式儲存、索引儲存以及雜湊儲存(雜湊表)。

下面這組資料應該就看得很清楚。當n的值越來越大時,3n+1已經沒法和2n2的結果相比較,最終幾乎可以忽略不計。也就是說隨著n值變得非常大以後,演算法g其實已經很趨近於演算法i。於是可以得到這樣乙個結論,判斷乙個演算法的效率時,函式中的常數和其他次要項常常可以忽略,而更應該關注主項(最高端項)的階數

比如輸入規模為4的時候:

n3=43=64

n!=4!=24

但如果輸入規模為32(32維看上去並不大):

n3=32768

n!=26313*1033

所以階乘很可怕。

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

演算法效率分兩種,時間效率和空間效率,即時間複雜度和空間複雜度,前者衡量演算法執行速度,後者衡量演算法所需要的額外空間 2.1基本概念 演算法中的時間複雜度是乙個函式,定量描述了演算法執行時間 總結下來就是 演算法種基本操作的執行次數 關注點 操作的數量級 基本操作的執行次數 執行時間和硬體資源強相...

資料結構與時間複雜度

什麼是資料結構?資料元素相互之間的關係稱為結構,資料結構是相互之間存在一種或多種特定關係的資料元素的集合。資料結構包括三個方面的內容 邏輯結構,儲存結構,和資料運算。資料的邏輯結構和儲存結構是密不可分的兩個方面。乙個演算法的設計取決於所選定的邏輯結構,而演算法的實現依賴於所採用的儲存結構。資料的邏輯...

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

1.演算法效率 演算法效率可以用來衡量乙個演算法的好壞 演算法效率分析分為兩種 第一種是時間效率,第二種是空間效率.時間效率被稱為時間複雜度,空間效率被稱為空間複雜度.時間複雜度主要衡量的是乙個演算法的執行速度,而空間複雜度主要衡量乙個演算法所需要的額外空間,在計算機發展的早期,計算機的儲存容量很小...