Меня просто распирает от гордости, поэтому позволю себе немного пофилософствовать на тему программирования. Конечно, все эти мысли когда-то кем-то были высказаны, но позволю себе сформулировать их снова, так как на этот раз они мои, пусть и тривиальные.
Итак, все задачи прикладного программирования я бы разделил на три части: программирование пользовательского интерфейса, программы, работающие в режиме он-лайн и задачи обработки данных. Первые два типа задач я сейчас рассматривать не буду, поговорю о третьем. Дело в том, что именно в этом типе задач реально конкурируют две методики программирования: с упором на простоту разработки и на скорость выполнения.
Основные приметы программирования с упором на простоту разработки: ООП, использование прямых и всем понятных алгоритмов (пусть и не слишком эффективных), простота отладки.
Основные приметы программирования с упором на скорость выполнения: код, в котором без пол-литра не разберёшься, разбазаривание оперативной памяти, иногда ассемблерные вставки.
Первую методику удобно использовать тогда, когда задача довольно проста в вычислительном плане, и важно уменьшить время написания программы и облегчить дальнейшее сопровождение. В самом деле, даже если за счёт алгоритма скорость падает в 20 раз, не всё ли равно, совершается вычисление за 100 мс или за 2 с?
А вот если задача сложна, да ещё и программа будет запускаться не единожды, есть смысл прибегнуть ко второй методике. В самом деле, разница между 10 минутами и 3 часами уже довольно ощутима. А если речь идёт о 2 часах по сравнению с 2 сутками, то тут затраты на разработку окупятся уже при очень и очень малом числе запусков программы.
Я это всё говорю к тому, что мне самому очень понравился мой эффективный метод нахождения максимальных полных графов в матрице дневников. Описывать его здесь не имеет особого смысла (проще привести код программы), а вот результаты приведу в следующем сообщении.
Я жив
[Print]
kv75