Статьи Королевства Дельфи


Продолжение - часть 2


  • типы представления данных должны накладывать как можно меньше ограничений;
  • описание и использование типа должно быть как можно проще и удобнее в использовании;
  • вмещать в себя как можно больше полезных функций (быстрый поиск, сортировка и т. п.);
  • описание не должно провоцировать ошибок и не точностей в работе алгоритма.
  • Рассмотренные структуры данных позволяют размешать в оперативной памяти информацию с заранее не известным размером. ДМ, по сравнению с классами списков, делает это более изящным образом. Но, если по алгоритму заранее не известен размер массива, удобно использовать ООП как у линейных списков. В алгоритмах, где быстрота работы с линейным списком и занимаемая им память, имеют первостепенное значение предпочтительнее не использовать встроенных классов СРП, которые разрабатываются в основном для простых визуальных задач. Более того, с развитием вычислительной техники (увеличением размеров доступной оперативной памяти, широким внедрением многопроцессорных вычислительных устройств и т. п.), ОС и СРП разработка классов позволяющих манипулировать сложными структурами данных приобретает первостепенное значение для большого круга задач.

    Пояснения к программам, иллюстрирующим статью:

    Все директории сжаты в архив "biglist.zip". Внутри архива:

    • директория "XMS в DOS" содержит исходные тексты проекта (на Borland Pascal 7.0) системы "Кадры" иллюстрирующего использование большой оперативной памяти (ОП) в 16-разрядных приложениях;
    • директория "Массивы\При переполнении вдвое" и "Массивы\Увеличение на фиксированную величину" проекты (далее только на Delphi) иллюстрирующие применение объектов расширяющих возможности динамического массива;
    • директория "Списки\Контейнер с Tlist и проверкой типа узла" и "Списки\Наследник от Tlist, контейнер с TList" содержит исходные тексты проектов, частично взятые из Internet, и иллюстрирующие варианты использования класса Tlist;
    • директория "Списки\Свой список" содержит модуль RecList.pas с классом поддерживающим динамический список;
    • директория "Списки\Список с сжатием" содержит модуль RecList.pas, K_Lib с классом поддерживающим динамический список с сжатием;

    Скачать примеры проектов - (300 K)

    август 2000 г.

    Зачёсов Ю.Л.

    ЛИТЕРАТУРА

    1. "Искусство программирования для ЭВМ" том II, Д. Кнута.
    2. "Алгоритмы построение и анализ", Т.Кормен, Ч.Лейзерсон, Р.Ривест, МЦНМО, Москва, 1999г.




    Начало  Назад  Вперед



    Книжный магазин