- •Пояснительная записка к курсовому проекту
- •Содержание:
- •Введение
- •Описание методов.
- •Сортировка вставками.
- •Бинарные вставки
- •Блок-схема метода простых вставок
- •Создание и описание основных форм программы
- •Форма метода бинарных вставок
- •Результаты работы программы.
- •Листинг программы
- •Список использованной литературы
Бинарные вставки
Алгоритм метода бинарной вставки представляет из себя оптимизированную версию предыдущего, отличие заключается в том, что при поиске место, на которое надо вставить элемент ai в уже упорядоченную совокупность a0 , ..., ai-1 , определяется алгоритмом деления пополам (отсюда и название алгоритма "бинарные вставки" здесь понимается как "вставка делением пополам"). Метод бинарной вставки обеспечивает более высокую скорость сортировки по сравнению с методом простой вставки.
Методы «бинарного поиска» указывают куда вставлять j-й элемент после приблизительно log2j соответствующим образом выбранных сравнений. Например, если вставляется 64-я запись, можно сначала сравнить ключ K64 с K32; затем, если он меньше, сравниваем его с K16, если больше – с K48 и т. д., так что место для R64 будет найдено после всего лишь шести сравнений. Общее число сравнений для N вставляемых элементов равно приблизительно Nlog2N, что существенно лучше, чем N2/4.
Неприятность состоит в том, что бинарные вставки решают задачу только на половину: после того, как мы нашли, куда вставлять запись Rj, все равно нужно подвинуть примерно j/2 ранее отсортированных записей, чтобы освободить место для Rj, так что общее время работы остается, по существу, пропорциональным N2
Блок-схема метода бинарных вставок
Рисунок1. Блок-схема бинарной вставки
Блок-схема метода простых вставок
Рисунок2. Блок-схема простых вставок
Создание и описание основных форм программы
Программа была создана с помощью интегрированной среды разработки Microsoft Visual Basic 6.0. Приложение имеет главную форму, в которой происходят все действия. Программа была создана с помощью шаблона VBApplicationWizard.
Рисунок3.Главная форма
Далее к проекту через меню Project, Add Form были добавлены следующие формы типа окна диалога
frmDocument. Эта форма уже была создана с помощью шаблона. Она служит для представления информации о программе.
Рисунок4.Форма О проекте
frmSimple. На форме размещены: MSFlexGrid1 – таблица, этот элемент служит для визуализации процесса сортировки (10 элементный массив), количество строк этого элемента установлено 11 (на этапе разработки), столбцов 3.; Text1 – для ввода элемента массива; btAdd – кнопка которая служит для добавления элемента в таблицу; btInsert – кнопка которая служит для применения метода простых вставок;
frmBinar. На форме размещены: MSFlexGrid1 – таблица; Text1 – для ввода элемента массива; btAdd – кнопка которая служит для добавления элемента в таблицу; btBinar – кнопка которая служит для применения метода бинарных вставок. Picture1 – окно для размещения гистограммы, для визуализации метода.
Форма метода бинарных вставок
frmInformation. На форме размещены: Text1 – для вывода информации о методах сортировки; btOk – командная кнопка которая закрывает форму.
frmSchemeSimple. На форме размещен объект Picture1 в котором отображается блок-схема метода простых вставок.
frmSchemeBinar. На форме размещен объект Picture1 в котором отображается блок-схема метода бинарных вставок.
frmGraph. Форма служит для отображения графика зависимости времени сортировки массива от количества элементов. На форме размещены: Picture1 – область для построения графиков; Progress – для отображения отсчета времени; cmdGrafic – для построения графиков зависимости времени от метода сортировки; btOk – кнопка служит для закрытия формы.
В последнюю очередь к проекту был добавлен стандартный модуль Module1 (меню Project, Add Module), в который помещен код процедуры Main. В Модуле1 заданы общие для нескольких форм процедуры.