- •Структура курсового проекта
- •Оформление курсовой работы
- •Исходными данными являются:
- •Выходными данными являются:
- •Перечень тем курсовых проектов
- •Понятие, свойства и способы описания алгоритма
- •Блок-схема и ее элементы
- •Пример оформления теоретической части курсового проекта. Сортировка выбором
- •Быстрая сортировка
- •Сортировка выбором
- •Сортировка пузырьком
- •Сортировка Шелла
- •Сортировки информации методом дешифрации данных
- •Курсовой проект
- •Информации”
- •Содержание
- •Описание переменных и процедур:
- •1. Введение
- •2. Теоретическая часть
- •2.1. Сортировка путем вставок
- •2.2. Метод бинарного поиска
- •3.5. Описание алгоритма задания элементов массива
- •Описание алгоритма поиска заданного образца
- •3.6. Текст программы, выполняющей сортировку массива символов способом простых вставок
- •3 1. 5. 6. .7. Описание интерфейса программы:
- •3.9. Графики зависимостей времени и скорости от количества чисел
- •4. Заключение
- •5. Список используемых источников
Исходными данными являются:
Способ сортировки входного массива чисел;
Метод поиска образца в упорядоченном массиве чисел;
Элементы массива в диапазоне от 1 до 10 000, сформированные с помощью генератора случайных чисел;
Заданное число - образец.
Выходными данными являются:
Упорядоченный массив чисел по возрастанию;
Упорядоченный массив чисел по убыванию;
Время сортировки символов массива;
Время поиска заданного образца в упорядоченном массиве чисел;
Количество элементов равных образцу в заданном массиве чисел;
Таблицы определения времени и скорости от количества чисел;
Графики функций.
Сортировка элементов массива породила множество разнообразных решений. Однако, имея приблизительные характеристики входных данных, можно подобрать метод, работающий оптимальным образом.
Пусть есть последовательность a0, a1... an и функция сравнения, которая на любых двух элементах последовательности принимает одно из трех значений: меньше, больше или равно. Задача сортировки состоит в перестановке членов последовательности таким образом, чтобы выполнялись условия:
ai <= ai+1, для всех i от 0 до n для упорядочения последовательности в возрастающем порядке;
ai >= ai+1, для всех i от 0 до n для упорядочения последовательности в убывающем порядке.
Оценка алгоритмов сортировки информации производиться по параметрам:
Время и скорость сортировки - основные параметры, характеризующие быстродействие алгоритма.
Память - ряд алгоритмов требует выделения дополнительной памяти под временное хранение данных.
Устойчивость - устойчивая сортировка не меняет взаимного расположения равных элементов.
Естественность поведения - эффективность метода при обработке уже отсортированных, или частично отсортированных данных. Алгоритм ведет себя естественно, если учитывает эту характеристику входной последовательности и работает лучше.
Еще одним важным свойством алгоритма является его сфера применения. Здесь основных позиций две:
внутренние сортировки работают с данным в оперативной памяти с произвольным доступом;
внешние сортировки упорядочивают информацию, расположенную на внешних носителях. Это накладывает некоторые дополнительные ограничения на алгоритм:
доступ к носителю осуществляется последовательным образом: в каждый момент времени можно считать или записать только элемент, следующий за текущим
объем данных не позволяет им разместиться в ОЗУ
Кроме того, доступ к данным на носителе производится намного медленнее, чем операции с оперативной памятью.
Данный класс алгоритмов делится на два основных подкласса:
Внутренняя сортировка оперирует с массивами, целиком помещающимися в оперативной памяти с произвольным доступом к любой ячейке. Данные обычно сортируются на том же месте, без дополнительных затрат.
Внешняя сортировка оперирует с запоминающими устройствами большого объема, но с доступом не произвольным, а последовательным (сортировка файлов), т.е. в данный момент только один элемент, а затраты на перемотку по сравнению с памятью неоправданно велики. Это приводит к специальным методам сортировки, обычно использующим дополнительное дисковое пространство.
Современные вычислительные системы работают наиболее эффективно при упорядоченных данных. Сортировка информации — это процесс расстановки элементов в некотором порядке. Элементы размещаются следующим образом: 1) вычисления, которые требуют определенного порядка расположения данных, могли выполняться эффективно, 2) результаты имели осмысленный вид, 3) последующие операции имели бы упорядоченные исходные данные. Есть много различных способов упорядочений информации таких, например, как сортировка имен в списке по алфавиту или упорядочение данных по возрастанию или по убыванию.
Упорядочение данных включает анализ возможностей аппаратных средств вычислительных систем, расположения их каналов, объема оперативной памяти, частоты обращений, быстродействие, диапазона обработки входной числовой и символьной информации.
Задача сортировки потоков информации в вычислительной технике является настолько важной, что ее следует осуществлять только тогда, когда тщательное изучение аппаратных средств и параметров данных оправдывает сортировку [1].
Если значение функции сравнения зависит только от поля x, то x называют ключом, по которому производится сортировка. На практике, в качестве x часто выступает число, а поле y хранит какие-либо данные, никак не влияющие на работу алгоритма.