Этот пример является рекламой искусного программирования
Этот пример является рекламой искусного программирования, прекрасно иллюстрирующей следующие общие принципы.
• Правильно ставьте задачу. Постановка задачи в этом случае определяла решение на 90% — я рад, что программист не удовлетворился первым предложенным вариантом. Задачи 10,11 и 12 (см. раздел 1.6) сами подскажут вам красивое решение, как только вы сможете правильно поставить вопрос. Попробуйте сами найти верное и красивое решение прежде, чем читать подсказки.
• Используйте битовые массивы в качестве структур данных. Эти структуры используются для представления плотного набора элементов конечного множества, в который каждый элемент может входить не более одного раза и где с элементами не связано никаких дополнительных данных. Даже если данные условия в какой-либо другой задаче не выполняются (могут быть повторы элементов или имеются дополнительные данные), для индексирования таблицы со сложными полями все равно часто может быть использован ключ из конечного набора (см. задачи 6 и 8).
• Применяйте многопроходные алгоритмы. Такие алгоритмы обрабатывают входные данные за несколько проходов, выполняя за каждый проход часть работы. В разделе 1.3 мы встретились с примером 40-проходного алгоритма; задача 5 потребует написания двухпроходного.
Опубликовал vovan666
April 16 2013 23:34:09 ·
0 Комментариев ·
3612 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.