C語言 資料結構 複雜度

2021-09-25 13:06:21 字數 483 閱讀 4938

一、時間複雜度_空間複雜度

1、時間複雜度的定義:

在電腦科學中,演算法的時間複雜度是乙個函式,它定量描述了該演算法的執行時間。乙個演算法執行所耗費的時間,從理論上說,是不能算出來的,只有你把你的程式放在機器上跑起來,才能知道。

2、大o的漸進表示法:

實際中我們計算時間複雜度時,我們其實並不一定要計算精確的執行次數,而只需要大概執行次數,那麼這裡我們使用大o的漸進表示法。

推導大o階方法:

a、用常數1取代執行時間中的所有加法常數。

b、在修改後的執行次數函式中,只保留最高端項。

c、如果最高端項存在且不是1,則去除與這個專案相乘的常數。得到的結果就是大o階。

二、空間複雜度

1、空間複雜度是對乙個演算法在執行過程中臨時占用儲存空間大小的量度 。空間複雜度不是程式占用了多少bytes的空間,因為這個也沒太大意義,所以空間複雜度算的是變數的個數。空間複雜度計算規則基本跟實踐複雜度類似,也使用大o漸進表示法。

C語言資料結構 時間複雜度和空間複雜度

演算法效率分為兩種,一種是時間效率,一種是空間效率。時間效率被叫做時間複雜度,空間效率被稱為空間複雜度。時間複雜度主要衡量乙個演算法的執行速度,空間複雜度主要衡量乙個演算法執行時所需要開闢的空間。電腦科學中,演算法的時間複雜度是乙個函式,它定性描述了該演算法的執行時間。這是乙個關於代表演算法輸入值的...

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

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