電腦運算能力的問題

時間 2021-05-11 22:50:06

1樓:王芊

計算下你的複雜度吧

O(N)=O(N-1)+O(N-2)

你的複雜度等於 O( ((SQRT(5)+1)/2)^n )所以要用動態規劃,這就是演算法的意義

2樓:陳志遠

不是死迴圈,是計算量太大,還沒算完。你需要快取,把之前算出的結果儲存起來,這樣的話時間複雜度瞬間降下來了。其實不管用什麼語言寫O(2^n)複雜度算n=50的斐波那契數列都要好久

3樓:

複雜度的概念應該從寫第一行程式時就要有。純遞迴無快取計算fibonacci數列第n項的複雜度大致是

大致的呼叫圖是這個樣子的(引用自:http://wla.

berkeley.edu/~cs61a/fa11/lectures/interpretation.html):

本來Python裡函式呼叫就慢,這個指數複雜度計算當然更慢。

改成快取版也很容易。原版:

deffib(n

):ifn==

1orn==

2:return

1else

:return

fib(n-

1)+fib(n

-2)帶快取版本:

_cache

=def

fib(n):

ifnin_cache

:return

_cache[n

]else

:_cache[n

]=fib(n-

1)+fib(n

-2)return

_cache[n

]還可以更乾淨一點:

deffib(n

,_cache=):

try:

return

_cache[n

]except

KeyError

:_cache[n

]=fib(n-

1)+fib(n

-2)return

_cache[n]

c語言的運算問題

C語言劉老師 優先順序高的先計算?並不是這樣的,不一定先計算,有時候可能都沒有計算 兩個相鄰的操作符的執行順序由它們的優先順序決定。如果它們的優先順序相同,它們的執行順序由它們的結合性決定。除此之外,編譯器可以自由決定使用任何順序對表示式進行求值,只要它不違背逗號 和?操作符所施加的限制。簡單舉個栗...

如果壽命無限,腦容量運算能力足夠,人的記憶與自我意識是否能無限持續?

大貓 我思考過這個問題,關於人類永生。如果壽命無限,腦容量無限,按道理講,硬體設施是沒問題了。可是軟體就是問題了。對於我們人類自己來說,軟體就是思想是意識,時間久了意識老化,活著不過是行屍走肉。而且時間久了,許多東西都會遺忘,許多東西都變了,這些活著的不屬於這個時代的人恐怕大多數都不會選擇活下去。所...

為什麼作為電腦中運算量最大的部件,CPU的體積卻那麼小?

Martin Li CPU本身是有數億個電晶體組成的,其體積與電晶體數量成正比。製程即製造出的電晶體的大小,而且根據工藝 由製造廠家研發,如台積電,Global Foundries 差別,電晶體能達到的頻率,對應功耗也有所不同。製程的縮小本身就是為了增加CPU內部的電晶體數,提公升效能減小成本。體積...

怎麼能提高數學的運算能力 求學霸們分享你們的方法 ?

javelin 不是學霸,替學霸朋友回答。就是發揮人類偷懶的能力,激發自己用正確而快捷的方法在大而複雜的計算中簡化小計算步驟。基礎是基礎知識紮實。當然,大學以前這樣比較行得通,大學數學還是聽老師的吧,聽他們的就是最簡單快速的方法。 提高運算能力不是乙個簡單的事情,首先需要你對運算所用的法則,公式,物...

怎麼處理能力之外的問題?

已登出 這個要看情況,假如處理的事明顯超過自己的能力範圍,很可能不會成功,有多大能耐做多大事。可以慢慢接觸能力之外的問題,慢慢學習。 國際馳名雙標 這個問題恕我無法回答 世間的問題太多太複雜且互相關聯,不可能這麼一概而論。有一些大的問題比如拯救一座城市來說吧,有的只需要乙個小孩在特定的時間出現在乙個...