Семь, алгоритм сортировки

Во-первых, понятие сортировки и классификации

Общее определение вида

 Сортировка является обычно выполняется операция компьютера, целью которого является установить «расстройство» доводят до элемента данных «заказал» элемент данных.

例如 : 将下列关键字序列
52, 49, 80, 36, 14, 58, 61, 23, 97, 75
调整为
14, 23, 36, 49, 52, 58, 61 ,75, 80, 97

Сортировка математическое определение
 гипотезы последовательности содержат элементы данных , как п {R1, R2, ..., Rn }, соответствующая клавиша последовательность {К1, К2, ..., Кп }, эти ключевые слова могут быть сопоставлены друг с другом, то есть, есть такие отношения между ними:
Kp1 <= Kp2 <= ... <= крп
Нажмите на внутренней связи переставить записи последовательности
{R p1, R p2, ... , R рп}
работы называется сортировка ,
Сортировка стабильность
Если имеются два данных элементов г [I] в последовательности и г [J], их ключ к [I] == к [J ], и до рода, объект г [я] в строке г [J]. Если после сортировки, предшествующее объект является г [я] все еще является предметом г [J], метод такого рода считается стабильным.
Multi-сортировка по ключевым словам

排序时需要比较的关键字多余一个
排序结果首先按关键字 1 进行排序
当关键字 1 相同时按关键字 2 进行排序
……
当关键字 n-1 相同时按关键字 n 进行排序

Сортировка критических операций

比较:任意两个数据元素通过比较操作确定先后次序
交换: 数据元素之间需要交换才能得到预期结果

Сортировка Сортировка внутренний и внешний

内排序:整个排序过程不需要访问外存便能完成
外排序:待排序的数据元素数量很大 , 整个序列的排序过程不可能在内存中完成

Сортировать пробный

时间性能:关键性能差异体现在比较和交换的数量
辅助存储空间:为完成排序操作需要的额外的存储空间;必要时可以“ 空间换时间”
算法的实现复杂性:过于复杂的排序法会影响代码的可读性和可维护性 , 也可能影响排序的性能

Во-вторых, алгоритм основной сортировки

сортировать выбор
каждый проход (например , I-й раз, г = 0, 1, ... , n - 2) выбора наименьшего элемента в элементах данных ключевых слов , чтобы быть за щ строки, как упорядоченной последовательности элементов г-го элементы.
Семь, алгоритм сортировки
Вставка рода
при вставке раздела I (I> = 1) элементов данных, в передней части V [0], В [1 ], ..., V [I-1] уже отсортирован. В этом случае [I-1], В [I-2], ... Ключевое слово сравнивается с V [I] ключевые слова V, чтобы найти положение вставки составляет около V [я] вставляется, исходное положение объекта на направлении назад Shun сдвиг.
Семь, алгоритм сортировки

Пузырь рода
обеспечивается как число элементов в последовательности строк элементов данных представляет собой н. Для времени до п-1, i = 1, 2, ... ..., п-1. Запуск после г-го вперед от, J = п-1, п -2, ... ..., I, попарное сравнение V [J-1] и V [J] ключевые слова. Если происходит обратное, то переключатель V [J-1] и V [J].
Семь, алгоритм сортировки
Хилл сортировки
будет сортировать колонки разделены на несколько групп, сортировка вставкой внутри каждой группы, так что по существу весь упорядоченной последовательности, то вся последовательность сортировки вставки.

将n个数据元素分为d个子序列:
{R[1],R[1+d],R[1+2d],…,R[1+kd]}
{R[2],R[2+d],R[2+2d],…,R[2+kd]}
...
{R[d],R[2+d],R[3+2d],…,R[(k+1)d]}

Отличающийся тем, д, называется дельта, нисходящий постепенно уменьшается его значение в процессе сортировки, своего рода, пока не уменьшено до последней поездки.

Quicksort
1) по любому одному из элементов данных , которые должны быть приняты (например отсортированной последовательности: первый элемент) в качестве эталона, в соответствии с размером ключевого элемента вокруг всей последовательности в двух суб-последовательностей:
 левую последовательность всех элементы или равно опорный элемент меньше
 правильная последовательность больше , чем все элементы опорного элемента
 опорного элемента в строке два подпоследовательностей промежуточных
2) этих двух последовательностей , которые выполняются над процессом повторяется , пока все объекты в соответствующей позиции строки до сих пор.
Семь, алгоритм сортировки

Сортировка слиянием
двух или более упорядоченных последовательностей упорядоченные в новую последовательность
V [1] ... V [м ] и V [M + 1] ... V [ п] -------- -----------> в [1] ... V [п] ,
такие как двусторонний метод слияния слияния.
Семь, алгоритм сортировки
Резюме:
Шелл, быстрая сортировка и сортировка слияния сортировки улучшить временную сложность алгоритма О (п * LOGN)
Сортировать результаты Сортировать Hill и быстрая сортировка неустойчив
алгоритм исходного код

рекомендация

отblog.51cto.com/yinsuifeng/2415507