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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

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

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


Курсовик Внешняя сортировка на C++

Информация:

Тип работы: Курсовик. Предмет: Программирование. Добавлен: 06.05.2013. Сдан: 2012. Страниц: 56 + ПО. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Оглавление

Содержание

Введение……………………………………………………………………………..5
1. Постановка и методы решения задачи…………………………………………6
2. Обоснование и разработка алгоритмов решения задачи…………………….12
3. Обоснование и разработка классов……………………………………………14
4. Разработка алгоритмов для функций и обработчиков событий…………….15
5. Таблица глобальных и локальных идентификаторов………………………..30
6. Разработка кодов……………………………………………………………….31
7. Входные и выходные данные при тестировании…………………………….40
8. Результат………………………………………………………………………..41
Заключение………………………………………………………………………...42
Приложения А Исходный код……………………………………………………43
Приложение Б Библиографический список……………………………………..57


Введение
Введение

В учебной литературе рассмотрено большое количество методов сортировок данных, такие классические методы сортировки как: метод сортировки пузырьком, перемешиванием, вставками, подсчетом, слиянием. На примере этих методов проводится иллюстрация основных подходов к сортировке массивов. Однако, эти методы не достаточно эффективны для сортировки массива с большим количеством элементов, в этом случае применяется внешняя сортировка, когда файл настолько велик, что не умещается в оперативной памяти. В описанном случае все данные нельзя расположить в одном массиве, поэтому для их хранения использованы временные файлы. Для больших наборов данных, хранимых на диске, требуются методы внешнего доступа. В курсовой работе будет рассмотрен алгоритм и реализация внешней сортировки слиянием.


1 Постановка и методы решения задачи

Постановка задачи

Поставлена задача разработки приложения, организующего сортировку массива данных методом внешней сортировки. Ввод первоначальных данных производится случайным образом, задавая размерность массива и пределы элементов массива с клавиатуры.
Приложение должно иметь удобный интерфейс для работы с ним пользователей. Обязательным критерием является наличие меню. Формат вывода результатов работы программы так же должен обеспечивать быстрое понимание, и удобство восприятия.
Приложение должно содержать классы и функции. Для экономии оперативной памяти приложение должно использовать динамическую память, и функции для выделения и освобождения памяти под переменные.
Также приложение должно обеспечивать возможность сохранения результатов работы программы в элементы класса, а также просмотра уже сохраненных результатов.

Методы решения задачи

Для решения поставленной задачи необходимо изложить суть внешней сортировки.
Внешняя сортировка будет использовать алгоритм сортировки прямым слиянием, которая состоит из серии проходов, начинающейся с одноэлементных подсписков. На каждом проходе длина подсписков удваивается, пока не достигнет своего предельного значения. Модификация внешней сортировки заключается в том, что при работе с сортируемыми массивами большой размерности целесообразно хранить формируемые рабочие подсписки во внешних временных файлах.
Итак, внешняя сортировка использует подход объединения двух упорядоченных списков фиксированной длины в один. Пусть сортируемые элементы хранятся в файле fC, а файлы fA и fB являются временными и служат для разбиения данных. Тогда алгоритм сортировки можно представить последовательностью следующих шагов:
1. Разбить fC пополам, попеременно записывая его элементы то в fA, то в fB. Таким образом, в каждом новом файле создается последовательность одноэлементных подсписков,
2. Сопоставить подсписки. Выбрать один элемент из fA и один элемент из fB. Объединить их в двухэлементный подсписок и записать в fC. Продолжать до тех пор, пока все элементы в обоих файлах не будут снова скопированы в fC.
3. Повторить шаг 1, попеременно записывая двухэлементные подсписки файла fC в файлы fA и fB.
4. Попарно слить все двухэлементные подсписки файлов fА и fВ в четырехэлементные подсписки файла fC.
5. Повторять шаг, на котором fC разбивается пополам, образуя четырех-, восьми- и т.д. -элементные подсписки в файлах fA и fB. Затем сливать каждую пару подсписков в восьми-, шестнадцати- и т.д. –элементные подсписки файла fC. Процесс завершается в тот момент, когда в fА и fВ образуется по одному упорядоченному списку, которые окончательно сливаются в отсортированный файл fC.
Проиллюстрируем сортировку прямым слиянием на примере двадцати целых

чисел.
15 35 30 20 45 35 5 65 75 40 50 60 70 30 40 25 10 45 55


Рис. 1

На первом шаге fC разбивается на два временных файла по 10 одноэлементных подсписка в каждом. На втором шаге посредством слияния создается файл упорядоченных пар fC. (Рис. 1)


Рис. 2

На третьем шаге файл упорядоченных пар fC разбивается пополам на файлы fA и fB, которые затем попарно сливаются в файл упорядоченных четверок fC. (Рис.2)

.............

Список использованной литературы
Библиографический список:
1. Голуб А.И. «Правила программирования на С++»- М. 2001. – 241с.
2. Дейтел Х. «Как программировать на С++: Пер. с англ./ Х. Дейтел, П. Дейтел. – М.: БИНОМ,, 1998. – 1024с.
3. Климова Л.М. «Основы программирования на языке С++»-М.:ПРИОР,1999.-464с.
4. Павловская Т.А. «Программирование на языке высокого уровня» - СПб.:Питер,2003 – 461с.:ил
5. Топп У. Структуры данных в С++: Пер. с англ./У. Топп, У. Форд. –М.:БИНОМ, 1999 г. Стр. 607…621, 698





Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.