Divide and Conquer
Divide and Conquer 用中文來解釋,就是「分而治之」的意思,中譯「分治法」。將一個大問題,切割成許多小問題;將這些小問題解決之後,原本的大問題也就解決了。如果小問題還是很難,那就再切成更小的問題就行了。分割問題、各個擊破,就是 Divide and Conquer 的精神。
Recursion(遞迴)就是Divide and conquer的一種實現方式。
Divide and Conquer 分成三個階段
分割階段:如果問題規模很小,就直接解決此問題;否則,將原本的問題分割(divide)成2個或多個子問題(subproblem)。
克服階段:用相同的演算法遞迴地(recirsively)解決或克服(conquer)所有的子問題。
合併階段:合併(merge)所有子問題的解答成為原本問題的解答。
http://emn178.pixnet.net/blog/post/87739443-divide-and-conquer