Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
В данной статье автор обсуждал индусский код и то, как надо... 23.08.07 11:48 Число просмотров: 6780
Автор: smartov Статус: Незарегистрированный пользователь
|
> Я бы вам не доверил реализацию двоичного поиска, например - > а там как раз нужно постоянно вычислять среднее двух > индексов. a/2 + b/2 - это было бы катастрофой для > алгоритма, который должен быть очень быстрым. А надо бы > представлять вообще во что это компилируется. Незачет :)
В данной статье автор обсуждал индусский код и то, как надо писать "без ошибок". Если вы мне сейчас будете рассказывать про то, как лучше всего реализовать двоичный поиск, то не надо.
Потому что нужно всегда думать какой код написать: быстрый или читабельный.
И если нужен быстрый, то функция получения среднего пишется на асме (или, что проще, берется давно написанная в 1960-х годах) и никаких проблем не возникает.
Иначе же, если весь код писать как вы предлагаете, то все языки выского уровня надо запретить. (Особенно безтиповые, они же так медленно работают) Между тем двоичный поиск даже на безтиповом PHP работает вполне быстро. Да, он не подойдет для супербольших вычислений но в 90% случаев большего и не надо.
Так что надо искать компромисс.
И опять же возвращаясь к статье: статья была не про то, как сделать код, который будет работать быстрее всего, автор начал с того, что у него де програму по копированию файлов "коллеги-индусы" написали 80к строчками кода, в то же время демонстрирует сам, откуда эти 80к берутся. Хотя в таких программах не надо никакого супербыстродействия, оптимизации под двоичный поиск и прочего.
Нужно уметь соотносить цели и средства, а не просто теоритезировать по поводу медленности двоичного поиска при использовании той одной строчки кода, что я написал.
|
|
|