精確分析複雜的遞推關係 多項式函式

2021-05-26 09:06:03 字數 1490 閱讀 1789

精確分析複雜的遞推關係(多項式函式)

設定a(n)=5*a(n-1)+3^n+7^n,按照以前的相同的處理方式有:

a(n-1)=5*a(n-2)+3^(n-1)+7^(n-1)

go上面兩個式子(1)-7*(2)有:

a(n)-7*a(n-1)=5* + 3^n - 7* 3^(n-1)

化簡有:

a(n)-7*a(n-1)=5* +  - 4* 3^(n-1)

從這裡可以看出其中將只存在乙個多項式函式,按照這種思維可以獲得a(n)的通項公式:

a(n)=a*7^n+b*5^n+c*3^n

現在假設初始值a(1)=1,推理有a(2)=63,a(3)=685

所以可以解得

a=7/2

b=-19/5

c=-3/2

下面寫程式來證明:

(defun pow (num count)

(if (or (> count 1) (eq  count  1) )

(* num 

(pow num 

(- count 1) ) )

1))(defun slayer ( count)

(if (or (> count 1) (eq  count  1) )

(* count 

(slayer  

(- count 1) ) )

1))(defun  expr (n)

(if (eq  n 1)

1   

(+  (*  5

(expr (-  n  

1)))

(pow 3

n)(pow 7 

n))))

(setq  a  7/2)

(setq  b  -19/5)

(setq  c  -3/2)

(defun  formula (n)

(+  (*   a          

(pow  7  n))

(*   b

(pow  5  n))

(*   c

(pow  3  n))))

(defun  test (n)

(if (> n 0)

(progn 

(print (expr  n))

(print  'compare)

(print (formula n))       

(test (- n 1)))

(print 'over)))

[31]> (test  10)

compare

compare

compare

compare

compare

compare

compare

compare

compare

compare

over

over

很明顯這裡a佔據主要位置,並且b,c都為負數,7的指數的增長速度也快於其它兩者。

精確分析複雜的遞推關係 多項式函式的疊加

精確分析複雜的遞推關係 多項式函式的疊加 設定a n 8 a n 1 3 n 7 n n 2,按照以前的相同的處理方式有 a n 1 8 a n 2 3 n 1 7 n 1 n 1 2 go上面兩個式子 1 7 2 有 a n 7 a n 1 8 3 n 7 3 n 1 n 2 7 n 1 2 化簡...

希希的多項式(推遞推式)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld nozomi 是乙個可愛的女孩子。她喜歡研究一些多項式。這次,她給你了乙個多項式 她想問你 輸入第一行表示乙個數 t t 105 表示輸入組數。以下 t 行一行乙個...

演算法的時間複雜度比較,計算多項式的直接法和秦九韶法

1.直接法 1 double polynomial 1 int n,double a,doublex 2 每次迴圈迭代,pow函式內部都會執行i次乘法,然後一次加法,所以整體的演算法複雜度為o 1 2 n 2 3 2n,儘管pow函式的實現方法是利用遞迴優化後的,但是演算法複雜度還是達到了o nlo...