سوال ۳۰

اگر الگوریتم سوال قبل را به صورت زیر تغییر دهیم. پاسخ چیست؟

  1. $i$ را مساوی ۱ و $j$ را مساوی با $n$ قرار بده.
  2. $k$ را مساوی با $[\frac{i+j}{2}]$ قرار بده.
  3. اگر $a_k < x$ ، در این صورت $j$ را مساوی با $k$ قرار بده٬ در غیر این صورت $i$ را مساوی با $k+1$ قرار بده.
  4. اگر $i \neq j$ ، در این صورت به مرحله‌ی «۲» برو.
  5. اگر $a_{[\frac{i+j}{2}]}=x$، در این صورت $x$ در آرایه‌ي $a$ وجود دارد؛ به مرحله «۷» برو.
  6. در غیر این صورت $x$ در آرایه‌ي $a$ وجود ندارد.
  7. پایان.

پاسخ

اگر آرایه‌ی $a$ با همان عناصر مثال قبل فرض شود و $x=10$ باشد٬ باز خروجی الگوریتم چنان است که $x=10$ در آرایه‌ی $a$ موجود نیست.