Основная идея — не пытаться программировать сразу. Пошаговая детализация автоматически заставляет формировать понятную структуру программы. При этом требуется отслеживать правильность детализации, создавая набор контрольных точек и просчитывая значения данных в них. Выбор представления данных — один из фундаментальных аспектов разработки программы. Н. Вирт так определял критерии этого действия: естественность, структуры данных обязаны «вытекать» из специфики задачи; привычность, структуры данных выбираются так, чтобы программирование приближалось к утверждению «как говорю, так и пишу программу, ничего лишнего»; оптимальность, структуры данных выбираются так, чтобы была возможность построения эффективного алгоритма.
Следует придерживаться правила о том, что любой фрагмент программного кода (логики) должен иметь одну точку входа и одну точку выхода (пусть даже в ущерб эффективности использования памяти).
Временная сложность(t). Обычно на время решения задачи накладываются определенные ограничения. Размерность задачи опишем величиной N. Временная сложность алгоритма является линейной при t~O(N), полиномиальной при t~O(Nq), где q равно обычно 2 или 3, и экспоненциальной при t~O(qN).
OZON.ru - Книги | Программирование в алгоритмах | С. Окулов | Купить книги: интернет-магазин / ISBN 978-5-94774-689-1 |