6 Анализ алгоритмов. Активный обучающий подход. Сложность по памяти

Все алгоритмы разделяются на такие, которым достаточно ограниченной памяти, и те, которым нужно дополнительное пространство.

При записи вещественного числа из интервала от -10 до +10, имеющего один десятичный знак после запятой большинство компьютеров потратит от 4 до 8 байтов памяти, однако если предварительно умножить число на 10, то получается целое число из интервала от -100 до +100, а для его хранения выделяется всего один байт. По сравнению с первым вариантом экономия составляет от 3 до 7 байтов. Программа, в которой сохраняется 1000 таких чисел, экономит от 3000 до 7000 байтов.

Иногда такая необходимость экономить приводит к проблемам. Например, проблема 2000-го года. Программы использующие много различных дат, экономили половину места для записи года, сохраняя значение 99 вместо 1999. Авторы программ не предполагали в 80-х годах, что их продукция доживет до 2000-го года.

Разработка маленьких программ, обеспечивающих компактное хранение данных, вновь становится актуальной в связи с распространением миниатюрных электронных устройств (карманных компьютеров и мобильных телефонов).