演算法的空間複雜度於時間複雜度的關係

2021-03-19 18:19:45 字數 2527 閱讀 6973

1樓:幽靈軍團

有「必定」的話不對。因為對一些特殊情況存在特例有高的時空複雜度或同時為低的時空複雜度。但對一般情況下給定儲存空間如給定65535k的記憶體但不限定時間時,就存在時間空間的負相關關係。

對於既不限定時間,也不限定空間的程式,演算法的時間複雜度和空間複雜度可以同時很大,也可以同時很小。如t(n)=o(n)且s(n)=o(1)的情況比如一個for(i=0;i

演算法的時間複雜度與空間複雜度有之間關係嗎

2樓:匿名使用者

時間複雜度 是演算法的執行時間

空間複雜度是 演算法需要的記憶體空間,兩者沒有必然聯絡。

演算法的時間複雜度與空間複雜度各是什麼意思

3樓:匿名使用者

是說明一個程式根據其資料n的規模大小 所使用的大致時間和空間說白了 就是表示 如果隨著n的增長 時間或空間會以什麼樣的方式進行增長

例for(int i = 0; i < n;++i);這個迴圈執行n次 所以時間複雜度是o(n)for(int i = 0; i< n;++i)這巢狀的兩個迴圈 而且都執行n次

那麼它的時間複雜度就是 o(n^2)

時間複雜度只能大概的表示所用的時間

而一些基本步驟 所執行的時間不同 我們無法計算 所以省略如for(int i = 0;i < n;++i)a = b;

和for(int i = 0;i < n;++i);這個執行的時間當然是第二個快 但是他們的時間複雜度都是 o(n)判斷時間複雜度看迴圈

4樓:匿名使用者

《計算方法》中有相關的詳細資訊。本質上,不論時間複雜度還是空間複雜度都反應的是問題本身的複雜度。一個計算要不就需要很大的儲存空間來減少計算時間;要不就需要較長的計算時間來節約儲存空間。

時間或空間複雜度也用來衡量各種計算方法對於不同的計算要求的表現。比如,不同的計算方法其實在時空複雜度上是相同的。

關於具體的時間複雜度與空間複雜度是如何量化的,如何計算,如何應用還是仔細看看教材吧。

演算法的時間複雜度和空間複雜度之間有矛盾嗎

5樓:匿名使用者

可以說,有。

對於某個程式,對他進行時間上的優化,可以想到用陣列記錄關鍵字,分治等方法。。。很多都是要用更多空間,甚至說當演算法在基礎空間下采用了最佳演算法時,只有通過以空間換時間的方法優化。

尤其是dp,對於不懂降維、滾動的新手來說,亂開記憶體導致爆cena的現象時有出現,曾經出現過開了2500mb+的。。。。。。但現在無論dev c++還是fp或其它的什麼都有極大的記憶體配置,考試時一般也允許開到128mb。所以放心開吧。

6樓:剛剛1人

他們有區別,矛盾?不是太明白你的意思。時間複雜度是指執行演算法所需要的就是工作量,取決於問題的規模,待處理資料的初態;空間複雜度是執行這個演算法所需要的空間

演算法時間複雜度與執行時間的關係

7樓:匿名使用者

我來舉個例子說明

比如一種排序演算法的時間複雜度是 o(n),那麼執行時間就是正比於要素個數n,

另一種排序演算法的時間複雜度是o(n*logn),那麼執行時間就正比於n*logn

所以n足夠大的情況下,總是第一種演算法快.

但是,如果n不是很大,那麼具體的運算時間並不一定都是前一種演算法快,比如剛才的第一種演算法的實際速度是 100×n, 第二種演算法的實際速度是 2× n × logn,

n=100,就會是第二種演算法快

8樓:海岸餡

執行時間隨著輸入量增大而增大,複雜度越高,執行時間增加速度越快。

一般計算的時候認為計算機1s可以進行10^9次運算,那麼輸入數量當n=1000時,複雜度n^3的程式需要執行1s。而複雜度log n 的只需要極少的時間(不到1毫秒)

9樓:匿名使用者

演算法時間越複雜,執行時間也大

10樓:李莞朋順

計算機在完成一個任務的時候有兩個指標,時間和所有記憶體(也就是空間)。這兩者是負相關的。也就是說,當你設計一個特定程式時,你可以選擇使用更多的記憶體,這樣可以達到提高程式執行速度的目的,也就是減少程式執行時間。

另一方面,你也可以選擇使用較少的記憶體,這樣可以節省記憶體但同時程式執行速度會變慢,也就是說程式執行要花費更多的時間。簡言之,演算法中只有兩種策略,要麼以時間換空間,要麼以空間換時間。

直接回答問題就是空間複雜度高的演算法其時間複雜度低,反之亦然。

演算法的空間複雜度,時間複雜度,有窮性分別是什麼意思?

11樓:匿名使用者

通俗來說:

空間複雜度是指運算過程中佔用的記憶體和輸入的漸進關係。

時間複雜度是指運算過程中使用的時間和輸入的漸進關係。

有窮性是指在有限時間內可以結束運算。

演算法的時間複雜度和空間複雜度怎麼算啊?(我看書上的按人家的思路能看通,但是給我我不會算)

原因是你沒看懂。找其他書參考下。網上說的肯定沒有書裡的具體全面。nothing replaces hard work.good luck 什麼是時間複雜度 空間複雜度?1 時間複雜度是指執行演算法所需要的計算工作量。時間複雜度是一個函式,它定性描述了該演算法的執行時間。這是一個關於代表演算法輸入值的...

時間複雜度與空間複雜度有什麼關係

時間複雜度與空間複雜度沒有必然聯絡。但是也有以空間換時間或時間換空間的,此時,它們就會有影響。像雜湊法,用更多的空間,但時間會小於o n 時間複雜度,就是計算程式執行的時間,空間複雜度,就是所佔的記憶體空間。同一問題可用不同演算法解決,而一個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的...

急!急!!急!!!幾種演算法複雜度分析

你是數學專業吧?我估計很難有人給你滿意的答案。既然你的分數懸賞出去就不能收回來了,倒不如給我,總比一無所獲好吧?這樣也能靜下心來完成 祝你的 取得成功!去專業網看看吧 這裡也只能給你一點意見了 視實際題目而定!並不覺對!中可以提到應靈活應用!急!如何求演算法的時間複雜度 這演算法是常數階的,也就是o...