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

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