- •Информатика
- •Ответы на вопросы
- •1). Функции ос
- •2). Функции осmsdos. Обеспечение автоматического запуска ос,
- •3). Файлы autoexec.Bat и config.Sys Начальнаязагрузка.
- •4. Файловая структура. Диски, файлы, их имен
- •Работа с каталогами.
- •Работа с экраном, принтером.
- •Общесистемные команды.
- •5. Каталоги. Корневой и текущий каталоги. Путь к файлу.
- •6. Основные командыMsdos. Команды работы с каталогами
- •7. Оболочка Norton Commander. Возможности Norton Commander Оболочка Norton Commander
- •8. Дерево каталогов вNortonCommander. Просмотр и редактирование файлов.Создание и удаление файлов. Работа с группами файлами. Оболочка Norton Commander
- •Внешний вид экрана
- •Выделение файлов
- •Работа с файлами
- •Создание каталога
- •Дерево каталогов
- •9. Панели и функциональные клавиши вNortonCommander. Меню Norton Commander, Meню пользователя.
- •Активная панель. Управление указателем
- •Смена диск
- •Управление панелями:
- •Меню Norton Commander
- •Функциональные клавиши:
- •10 Структура и общие принципы построения программы вTurboPascal'eАлфавит,лексика. Операторные скобки. Алфавит Константы. Переменные.
- •11 Типы данных вTurboPascal`е. Порядковый, вещественный, структурированныйСовместимость и преобразование типов.
- •Простые типы данных
- •12 Имена и доступ к файлам в Turbo Pascal`е
- •13 Операторы ввода' вывода вTurboPascal`е
- •14 Операции вTurboPascal`е Математические операции
- •Логические операции
- •Операции отношения
- •Оператор выбора
- •16 Метки и оператор перехода.
- •17 Операторы циклов с предусловием, постусловием и с параметром вTurbo Pascal`е
- •18 Процедуры и функции вTurboPascal`е. Локализация имен.
- •19 Локальные и глобальные переменные вTurboPascal'e.
- •20 Процедуры и функции формальные и фактические параметры вTurbo Pascal`е
- •21 Переход в графический режим в Turbo Pascal`е. Масштабирование
- •22 Процедуры и функции вTurbo Pascal`е Pascal's для работы с экраном в графическом режиме.
- •23 Алгоритмы поиска и выборки элементовиз массивов данных. Двоичный (бинарный) поиск элемента в массиве
- •Интерполяционный поиск элемента в массиве
- •Критерии Эффективности
- •Сортировка выбором
- •Сортировка пузырьком
- •Сортировка простыми вставками
- •Сортировка Шелла (Ох и презабавная вещь).
- •Пирамидальная сортировка (Эх, мать…) Вариант №1 (Вики):
- •Вариант №2 (Алголист)
- •Фаза 1 сортировки: построение пирамиды
- •Фаза 2: собственно сортировка
- •Сортировка быстрая («Чем дальше в лес, тем злее дятлы…») Вариант №1 (Вики):
- •Вариант №2 (Forum.Pascal.Net):
- •Сортировка поразрядная
- •25 Табличный редактор Excel абсолютные и относительные адреса. Запись и выполнение операций. Графическое оформление результатов.
- •Список Крематоров. Примечания и пожелания.
- •В фильме снимались:
Критерии Эффективности
Единственного эффективнейшего алгоритма сортировки нет, ввиду множества параметров оценки эффективности:
Время— основной параметр, характеризующий быстродействие алгоритма. Называется также вычислительной сложностью. Для упорядочения важны худшее, среднее и лучшее поведение алгоритма в терминах размера списка (n). Для типичного алгоритма хорошее поведение — это O(n log n) и плохое поведение — это O(n²). Идеальное поведение для упорядочения — O(n). Алгоритмы сортировки, использующие только абстрактную операцию сравнения ключей всегда нуждаются по меньшей мере в O(n log n) сравнениях в среднем;
Память — ряд алгоритмов требует выделения дополнительной памяти под временное хранение данных. При оценке используемой памяти не будет учитываться место, которое занимает исходный массив и независящие от входной последовательности затраты, например, на хранение кода программы.
Устойчивость (stability)— устойчивая сортировка не меняет взаимного расположения равных элементов.
Естественность поведения— эффективность метода при обработке уже упорядоченных, или частично упорядоченных данных. Алгоритм ведёт себя естественно, если учитывает эту характеристику входной последовательности и работает лучше.
Данные нам методы сортировки удобно поместить в сводную таблицу
(Warning! Таблица не проверена. Там где стоят знаки вопроса, значение под сомнением!)
(BrutalScorp-respect for the table)
|
Вид сортировки |
Быстродействие |
Память |
Устойчивось |
Естественность |
Краткое описание |
|
Быстрая |
O(n*log(n)) |
требует |
неустойчив |
естественный |
выбираем опорный элемент Ак. Затем эл-ты меньше Ак переносим влево, большие вправо. Затем обе части обрабатываем аналогично |
|
Выбором |
O(n^2) |
не требует |
неустойчив |
неестественный |
строим массив из "правильных эл-тов" слева-направо. после каждого прохода неотсортированный участок уменьшается |
|
Пузырьком |
O(n^2) |
не требует |
устойчив |
Неестественный, (естественный только у модифицир.) |
С каждым перебором массива “легкий” эл-т поднимается выше. Производится до тех пор пока не всплывут все |
|
Слиянием |
O(n*log(n)) |
требует |
устойчив |
Естественный |
Разбивка и сортировка сначала по 2 эл-та, затем 4, 8, 16… |
|
Вставками |
O(n^2) |
не требует |
устойчив |
Естественный |
“просеивание” элемента в отсортированный участок |
|
Шелла |
O(n*log(n)) или n^12 |
?не требует? |
неустойчив |
?Естественный? |
Сортируется сначала каждый 8, затем каждый 4, 2. (разбиваются на пары через 8,4,2) |
|
Поразрядная |
O(n*log(n)) |
требует(?) |
устойчив |
неестественный |
Выстраивание эл-тов по карманам старших разрядов, затем младших |
Теперь можно заняться подробным описанием алгоритмов с примерами.
Сортировка выбором
Сортировка выбором (англ. selection sort) — алгоритм сортировки, относящийся к неустойчивым алгоритмам сортировки. На массиве из n элементов имеет время выполнения в худшем, среднем и лучшем случае Θ(n2), предполагая что сравнения делаются за постоянное время.
Шаги алгоритма:
находим минимальное значение в текущем списке
производим обмен этого значения со значением на первой позиции
теперь сортируем хвост списка, исключив из рассмотрения уже отсортированный первый элемент
for i := 1 to n - 1 do
begin
min := i;
for j := i + 1 to n do
if a[min] > a[j] then
min := j;
t := a[i];
a[i] := a[min];
a[min] := t
end;
