演算法導論筆記 求大指數

2021-07-25 07:39:27 字數 977 閱讀 7155

python裡的math.pow()函式雖然效率很快,但是無法求大指數

traceback (most recent call last):

file "閱讀筆記/演算法/test.py", line 409, in

num = math.pow(1048,12343)

overflowerror: math range error

但是求大指數的效率又是很重要的問題

先看看o(n^2)的遞迴演算法:

def

n2power

(x,n):

index = n

rs =1

while index>0:

rs*=x

index-=1

return rs

看一下效率:

s = time.clock() 

num = n2power(1048,12343)

e = time.clock()

time= e-s

print time

:!python 閱讀筆記/演算法/test.py

0.030409

使用分治思想的o(lgn)演算法:

def

lgnpower

(x,n):

if n <= 1:

return x

#區分奇偶

if n%2==0:

return lgnpower(x,n/2)*lgnpower(x,n/2)

else:

return lgnpower(x,(n-1)/2)*lgnpower(x,(n-1)/2)*x

結果:

:!python 閱讀筆記/演算法/test.py

0.006834

具體數值就不貼出來了,找出螢幕了

演算法訓練 5 2求指數

問題描述 已知n和m,列印n 1,n 2,n m。要求用靜態變數實現。n m表示n的m次方。已知n和m,列印n 1,n 2,n m。要求用靜態變數實現。n m表示n的m次方。每行顯示5個數,每個數寬為12,右對齊 樣例輸入 乙個滿足題目要求的輸入範例。例 3 8 樣例輸出 與上面的樣例輸入對應的輸出...

《演算法導論》DFS求路徑演算法

於 include include using namespace std const int maxv 100,white 0,gray 1,black 2 int v,itime struct snode struct sadj sadj adj maxv snode vertex maxv s...

《演算法導論》筆記彙總

列表裡沒有的,或者是純屬理論,不適合寫,比如第1 5章 或者是我也不怎麼明白的,比如斐波那契堆中抽取最小結點的平攤代價分析 還有沒看的,比如數論和np完全性等。陸續看了四個月,有些理解的還不是很深,筆記彙總到這裡。如果有問題,可以郵件交流。第六章 堆排序 堆排序 第七章 快速排序 四種快速排序 快速...