分割統治について話しているときは、常に再帰を使用します。分割統治はアルゴリズム設計の手法であることはすでに知っていますが、1つの質問があります。
すべての分割統治アルゴリズムの再帰ですか、または別の言い方をすれば、分割統治の考え方はすべての再帰で採用されていますか?
よくわかりません 。
分割統治について話しているときは、常に再帰を使用します。分割統治はアルゴリズム設計の手法であることはすでに知っていますが、1つの質問があります。
すべての分割統治アルゴリズムの再帰ですか、または別の言い方をすれば、分割統治の考え方はすべての再帰で採用されていますか?
よくわかりません 。
私があなたの問題を正しく理解していれば..すべての分割統治アルゴリズムは本質的に再帰的ですか?はい!
定義により
実際に分割統治アルゴリズムを適用するには、次の3つのステップがあります。
しかし、実装部分に関心がある場合は、再帰(よりエレガントでシンプルですが)が唯一の方法ではありません。
二分探索は分割統治パラダイムのよく知られた例であり、ここにアルゴリズムの反復実装があります。
//binary search for x, in array A[1 .. N]
min := 1;
max := N;
repeat
mid := (min+max) div 2;
if x > A[mid] then
min := mid + 1;
else
max := mid - 1;
until (A[mid] = x) or (min > max);