2 回答

TA貢獻2011條經(jīng)驗 獲得超2個贊
二分與分治的區(qū)別是:
對于區(qū)間[a,b]上連續(xù)不斷且f(a)·f(b)<0的函數(shù)y=f(x),通過不斷地把函數(shù)f(x)的零點所在的區(qū)間一分為二,使區(qū)間的兩個端點逐步逼近零點,進而得到零點近似值的方法叫二分法。分治法可以通俗的解釋為:把一片領(lǐng)土分解,分解為若干塊小部分,然后一塊塊地占領(lǐng)征服,被分解的可以是不同的政治派別或是其他什么,然后讓他們彼此異化。
二分法的算法是:
(1)確定區(qū)間[a,b],驗證f(a)·f(b)<0,給定精確度ξ.
(2)求區(qū)間(a,b)的中點c.
(3)計算f(c).
01若f(c)=0,則c就是函數(shù)的零點;
02若f(a)·f(c)<0,則令b=c;
03若f(c)·f(b)<0,則令a=c.
04判斷是否達到精確度ξ:即若|a-b|<ξ,則得到零點近似值a(或b),否則重復(fù)2-4.
分治法的算法是:Divide-and-Conquer(P)
(1)if |P|≤n0
(2)then return(ADHOC(P))
(3)將P分解為較小的子問題 P1 ,P2 ,...,Pk
(4)for i←1 to k
(5)do yi ← Divide-and-Conquer(Pi) △ 遞歸解決Pi
(6) T ← MERGE(y1,y2,...,yk) △ 合并子問題
(7) return(T)
添加回答
舉報