Суть алгоритму досить проста і зрозуміла. Уявімо собі, що ми взяли в руки словник, аби найти якесь слово, нехай це буде слово «Алгоритм». Відкриваємо словник на середині, бачимо, що там знаходяться слова на літеру «М». Літера «А», з якої починається шукане слово знаходиться в першій половині книжки, отже беремо першу половину книжки , знаходимо середину і дивимося, що там за літера, нехай це буде «З», знову поділяємо першу частину на дві і т. д. Як можна помітити цей алгоритм є рекурсивним, що робить його дещо важким під час реалізації, але він буде займати не багато рядків коду, хоча можна спробувати і реалізацію при допомозі циклу. Швидкість пошуку із використанням такого алгоритму пропорційна Log(2)N, де N – довжина вхідних даних.
вересня 21, 2011