<< | к задаче | главная | печатать | обсудить(0 сообщений) >>
Задача: Вездесущий двоичный поиск...
Псевдокод: Листинг 4.4. Двоичный поиск: возвращение первого вхождения управление:
  1. l = -1; u = n
  2. while l + 1 != u
  3. /* инвариант: x[l] < t && x[u] >= t && l < u */
  4. m = (l + u) /2
  5. if x[m] < t
  6. l = m
  7. else
  8. u = m
  9.  
  10. /* утверждение: l+1 = u && x[l] < t && x[u] >= t */
  11. p = u
  12. if p >= n || x[p] != t
  13. p = -1
  14.  

 
каталог | задачи | паттерны | исходники | стат | форумы | карта сайта | контакты | ссылки 
© 2000-2021 CodeLAB Group
  Все права защищены
Страница сгенерирована за 0.004075 секунд
Количество запросов к БД: 3, gzip: 2.4kb/6.2kb(62%)