Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Характеристика ассоциативных массивов.




Ассоциативный массив — абстрактный тип данных (интерфейс к хранилищу данных), позволяющий хранить пары вида «(ключ, значение)» и поддерживающий операции добавления пары, а также поиска и удаления пары по ключу:

· INSERT(ключ, значение)

· FIND(ключ)

· REMOVE(ключ)

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

Операция FIND(ключ) возвращает значение, ассоциированное с заданным ключом, или некоторый специальный объект UNDEF, означающий, что значения, ассоциированного с заданным ключом, нет. Две другие операции ничего не возвращают (за исключением, возможно, информации о том, успешно ли была выполнена данная операция).

Ассоциативный массив с точки зрения интерфейса удобно рассматривать как обычный массив, в котором в качестве индексов можно использовать не только целые числа, но и значения других типов — например, строки.

Поддержка ассоциативных массивов есть во многих интерпретируемых языках программирования высокого уровня, таких, как Perl, PHP, Python, Ruby, Tcl, JavaScript] и др. Для языков, которые не имеют встроенных средств работы с ассоциативными массивами, существует множество реализаций в виде библиотек.

Существует множество различных реализаций ассоциативного массива.

Самая простая реализация может быть основана на обычном массиве, элементами которого являются пары (ключ, значение). Для ускорения операции поиска можно упорядочить элементы этого массива по ключу и осуществлять нахождение методом бинарного поиска. Но это увеличит время выполнения операции добавления новой пары, так как необходимо будет «раздвигать» элементы массива, чтобы в образовавшуюся пустую ячейку поместить новую запись.

Наиболее популярны реализации, основанные на различных деревьях поиска. Так, например, в стандартной библиотеке STL языка С++ контейнер map реализован на основе красно-чёрного дерева. В языках Ruby, Tcl, Python используется один из вариантов хэш-таблицы. Есть и другие реализации.

У каждой реализации есть свои достоинства и недостатки. Важно, чтобы все три операции выполнялись как в среднем, так и в худшем случае за время {\displaystyle O(\log n)}, где {\displaystyle n} — текущее количество хранимых пар. Для сбалансированных деревьев поиска (в том числе для красно-чёрных деревьев) это условие выполнено.

В реализациях, основанных на хэш-таблицах, среднее время оценивается как {\displaystyle O(1)}, что лучше, чем в реализациях, основанных на деревьях поиска. Но при этом не гарантируется высокая скорость выполнения отдельной операции: время операции INSERT в худшем случае оценивается как {\displaystyle O(n)}. Операция INSERT выполняется долго, когда коэффициент заполнения становится высоким и необходимо перестроить индекс хэш-таблицы.

Хэш-таблицы плохи также тем, что на их основе нельзя реализовать быстро работающие дополнительные операции MIN, MAX и алгоритм обхода всех хранимых пар в порядке возрастания или убывания ключей.

 

Определение объектов-функций и предикатов.

Разработка кода программного модуля на современных языках программирования. учебник

Вапркр

Реализация алгоритма со средствами автоматизированного проектирования. учебник

Акоркноркре


Раздел 5. Осуществление оптимизации программного кода модуля.

Тема 5.1. неплпнегеку

Определение примеров обработки. Настройка приложения Delphi 2010.

!!!!!!!

Установка Delphi 2010.

Установка

Вставьте/смонтируйте диск с Delphi и запустите установщик, если он не запустился сам. UAC (если он включен) потребует от вас элевации – соглашайтесь.

 

Сейчас мы просто нажимаем “Запуск программы”. Откроется меню установщика:

 

 


Выбираем “Delphi 7”, запускается мастер установки программы:

Сама установка проходит без каких-либо проблем или неожиданностей – всё, как обычно. Можно просто жать “Next”. Единственный момент: выбор места для установки:

Есть два варианта:

 

1. Либо вы соглашаетесь с выбором по-умолчанию (в Program Files). В этом случае для работоспособности Delphi 7 после установки вам нужно будет сделать два дополнительных действия (см. ниже).

2. Либо вы устанавливаете Delphi в любую другую папку, не требующую прав администратора для записи (да хоть в Мои документы). Этот способ хоть и проще, но не рекомендуется.

В любом случае, далее установка проходит как обычно:

 

После установки

После завершения установки мы можем найти Delphi в меню Пуск:

При запуске Delphi 7 снова появится помощник по совместимости программ, сообщая, что с этой программой есть проблемы:

Как и ранее, поиск решений ничего не даст. В этот раз мы закроем окно, предварительно установив галочку “Больше не показывать это сообщение”.

Если при выборе пути вы выбрали вариант 2, то можете пропустить следующую часть, вплоть до обсуждения справки (пункт “Установка справочной системы”).

Если же вы выбрали способ 1, то при запуске у вас появится сообщение об ошибке:

Правда сама среда после этого всё-же загрузится (хотя и не будет работоспособной). Очевидно причина в том, что приложению Delphi32.exe запрещено писать в папку Delphi7\Bin.

 

Изменение разрешений

Чтобы исправить это, нам нужно разрешить обычным пользователям машины изменять содержимое этой папки. Для этого откройте папку с установленной Delphi (C:\Program Files\Borland\Delphi 7), щёлкните правой кнопкой по папке Bin и выберите “Свойства”. Перейдите на вкладку “Безопасность” и нажмите “Изменить”:

Установите галочку “Изменение” для группы “Пользователи”. Закройте все окна по OK.
Измените права аналогичным образом для подпапки Projects (этот шаг можно пропустить, если вы храните свои проекты в другом месте).


Готово!

Вот теперь всё готово. Вы можете запускать Delphi 7 и работать с ней как и ранее. Использовать административную учётку при этом не требуется.

Вот скриншот Delphi 7 вместе со справкой, запущенной на 64-х битной Windows 7:

Забавный момент: Delphi 7 определяет Windows 7 как Windows XP SP2. Скорее всего, это работает какой-нибудь очередной хак от команды совместимости Windows.

А вот скриншот в момент отладки:

 

15.06.2016-22.06.2016. Тема 5.2. Компоненты…..

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...