Автор: Пользователь скрыл имя, 17 Октября 2011 в 17:50, курсовая работа
Целью теоретической части курсовой работы является ознакомление с алгоритмами сортировки, попытка проанализировать их и осветить каждый из них.
В практической части курсовой работы с помощью пакетов прикладных программ (ППП) будут решены и описаны следующие задачи:
создание таблиц и заполнение таблиц данными;
применение математических формул для выполнения запросов в ППП;
построение графиков.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ...………………………………………………….…………………....3
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ……………………………….……………………..5
1.1. Понятие алгоритма сортировки..………...…...…..……………………….…..5
1.2. Характеристика основных видов алгоритма сортировки ……………….…..8
a) Сортировка пузырьком
b) Сортировка перемешиванием
c) Сортировка методом вставок
d) Сортировка подсчётом
e) Сортировка слиянием
f) Цифровая сортировка
g) Поразрядная сортировка
h) Сортировка методом выбора
i) Сортировка методом Шелла
j) Пирамидальная сортировка
k) Быстрая сортировка
2. ПРАКТИЧЕСКАЯ ЧАСТЬ…………………………………………………….....17
2.1. Практическое задание №7………...………….………………….…….…….....17
2.2. Описание алгоритма решения практического задания……………....…….....19
ЗАКЛЮЧЕНИЕ……………………………………………………………….……...24
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ……...……………...…………..25
ВСЕРОССИЙСКИЙ
ЗАОЧНЫЙ ФИНАНСОВО-
ИНСТИТУТ
КАФЕДРА АВТОМАТИЗИРОВАННОЙ ОБРАБОТКИ
ЭКОНОМИЧЕСКОЙ
ИНФОРМАЦИИ
КУРСОВАЯ РАБОТА
по дисциплине «Информатика»
на тему
«Алгоритмы сортировки»
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ...…………………………………………………
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ……………………………….……………………..5
1.1. Понятие
алгоритма сортировки..………...…...…..……………
1.2. Характеристика основных видов алгоритма сортировки ……………….…..8
2. ПРАКТИЧЕСКАЯ
ЧАСТЬ…………………………………………………….....
2.1. Практическое
задание №7………...………….………………….…….……....
2.2. Описание алгоритма решения практического задания……………....…….....19
ЗАКЛЮЧЕНИЕ……………………………………………………
СПИСОК
ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ……...……………...…………..
ВВЕДЕНИЕ
Успешное выполнение большинством специалистов своих функциональных обязанностей в настоящее время во многом определяется умелым использованием персональных компьютеров, средств коммуникаций, профессиональных пакетов прикладных программ, различного рода интеллектуальных информационных технологий. Процессы информатизации общества обусловили необходимость формирования у студентов знаний в области информатики и компьютеризации управленческих процессов.
Одно из широко используемых понятий информатики определяет ее как науку, изучающую общие свойства информации, а также методы, процессы, технические и программные средства для ее автоматизированной обработки.
Сам термин «информатика» (informatique) возник в 60-х годах во Франции для определения области исследований, связанных с автоматизацией обработки информации с помощью электронных вычислительных машин (ЭВМ). Этот термин был образован слиянием слов information (информация) и automatique (автоматика) для обозначения информационной автоматики или автоматизированной переработки информации.
Данная курсовая работа состоит из двух частей: теоретической и практической.
Целью теоретической части курсовой работы является ознакомление с алгоритмами сортировки, попытка проанализировать их и осветить каждый из них.
В практической части курсовой работы с помощью пакетов прикладных программ (ППП) будут решены и описаны следующие задачи:
Краткие
характеристики ПК и программного обеспечения,
использованных для выполнения и оформления
курсовой работы:
Программные
средства: операционная система Windows ХР
Professional sp2, пакет прикладных программ –
MS Office 2003(из него использованы для выполнения
курсовой работы: текстовый процессор
MS Word 2003, табличный процессор MS Excel2003).
1.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Алгоритм – это точно определенная последовательность действий, которую необходимо выполнить над исходными данными для достижения решения задачи.
Слово «алгоритм» происходит от имени узбекского математика девятого века Аль-Харезми, который сформулировал правило четырёх арифметических действий над многозначными числами. В дальнейшем это слово стало использоваться не только в математике, а фактически любую последовательность действий, приводящих к конечному результату, стали называть алгоритмом, а каждое действие шагом алгоритма. Алгоритм обладает рядом свойств, связанных с необходимостью выполнения определенных требований к процессу вычисления. Это следующие свойства: 1) определённость; 2) массовость; 3) результативность; 4) дискретность. Определённость алгоритма означает, что каждый шаг алгоритма должен быть точен, общепонятен, и исключать возможность различного толкования, другими словами алгоритм должен быть таким, чтобы его мог повторить любой пользователь. Массовость заключается в том, что алгоритм предназначен для решения целого класса задач, которые отличаются только своими входными условиями. Результативность означает, что пошаговый процесс решения задачи в соответствии с алгоритмом должен заканчиваться через определенное конечное число шагов.
Формы представления алгоритма:
Виды алгоритмических структур:
I-ое поколение алгоритмических языков - конец 1950-х начало 1960-х. Совершенствовались ассемблерные языки. В настоящее время они применяются для создания драйверов оборудования ПК.
II-ое поколение - 60е годы. В это время появляются универсальные языки высшего уровня: ФОРТРАН, АЛГОЛ, КОБОЛ, обеспечивающие создание программ для решения задач различного класса.
III-e поколение. С начала 1970-х годов начался переход на создание больших программных комплексов. Они в основном применяются для проектирования приложений баз данных и средств визуального программирования.
В
середине 1990-х – 4 поколение языков
программирования, назначение которых
для образования инструкции текст программ
на универсальном языке программирования.
Система 4 поколения имеет открытую архитектуру
и поддерживает значительное число программных
продуктов.
Языки программирования:
1.2
Характеристика основных
видов алгоритмов сортировки.
Алгоритм сортировки — это алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько полей, поле по которому производится сортировка, называется ключом сортировки. На практике, в качестве ключа часто выступает число, а в остальных полях хранятся какие-либо данные, никак не влияющие на работу алгоритма.
Пожалуй, никакая другая проблема не породила такого количества разнообразнейших решений, как задача сортировки. Существует ли некий «универсальный», наилучший алгоритм? Вообще говоря, нет. Однако, имея приблизительные характеристики входных данных, можно подобрать метод, работающий оптимальным образом.
Сортировка применяется во всех без исключения областях программирования, будь то базы данных или математические программы.
Практически каждый алгоритм сортировки можно разбить на три части:
Подобными
свойствами обладают и те алгоритмы
сортировки, которые рассмотрены
ниже. Они отобраны из множества
алгоритмов, потому что, во-первых, наиболее
часто используются, а во-вторых,
потому что большинство остальных алгоритмов
является различными модификациями описанных
здесь.
Основные виды сортировок:
a)Сортиро́вка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При проходе алгоритма, элемент, стоящий не на своём месте, «всплывает» до нужной позиции как пузырёк в воде, отсюда и название алгоритма.
Сортировка
методом пузырька имеет сложность
O(n2). Для понимания и реализации это —
простейший алгоритм сортировки, но эффективен
он лишь для небольших массивов.
Пример реализации алгоритма (язык Pascal):
for i := n - 1 downto 1 do
for j := 1 to i do
if a[j] > a[j+1] then
begin
t := a[j];
a[j] := a[j+1];
a[j+1] := t;
end;
b)Сортировка перемешиванием (шейкер-сортировка) — разновидность пузырьковой сортировки. Отличается тем, что просмотры элементов выполняются один за другим в противоположных направлениях, при этом большие элементы стремятся к концу массива, а маленькие — к началу.
Лучший
случай для этой сортировки — отсортированный
массив (О(n)), худший — отсортированный
в обратном порядке (O(n²)).