..


Рекламные ссылки

Алгоритмы сортировки в C

Статья написана Стефано Cancedda
Страница 1 из 5

Шифр последовательность операций сортировки, что придает приоритетное значение порядка элементов в установленном порядке в соответствии с отчета. Эти линии будут выставлены наиболее распространенной (с un'approccio высоко ориентированные образцы), и каждый будет прокомментировал достоинства и недостатки.
Для простоты в примерах всегда будет использоваться в качестве множества натуральных чисел и отношение порядка, что и большинство, алгоритмы по-прежнему подвергаются общеобязательной, сеть расправляется с адаптацией кода.

Выбор рода

Чтобы заказать набор номер один до и интуиция могут быть отсканированы столько раз, сколько носитель всей ее полноте, с каждым шагом поиск минимального значения и добавить его в упорядоченную последовательность, первоначально определены с второго перевозчика;






 Пример: {5,1,3,8,2}







 Шаг № 1 -> {1, X, X, X, X}







 Шаг № 2 -> {1,2, X, X, X}







 Шаг № 3 -> {1,2,3, X, X}







 Шаг № 4 -> {1,2,3,5, X}







 Шаг № 5 -> {1,2,3,5,8}



(X обозначен расположение нового перевозчика еще не написано)

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






 Пример: {5,1,3,8,2}







 Шаг № 1 -> {1,5,3,8,2}







 Шаг № 2 -> {1,2,3,8,5}







 Шаг № 2 -> {1,2,3,8,5}







 Шаг № 3 -> {1,2,3,5,8}



Шифр поправками Выбор сортировки, который следует возможной реализации:





 sel_sort (INT * V, Int размера)







 {



   



 Int я = 0, температура = 0, у = 0, = 0;



   



 для (я = 0, I = J -)



   



 {

  

      



 

      



 {



         



 температура = V [у];



         



 у = J;



      



 }

  

   



 своп (V, I, у) / / Сменный позиции в вектор V iey



   



 }







 }



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

Выбор Сортировать также устойчивый алгоритм.
Устойчивый алгоритм сохраняет влияние предыдущих заказов и в случае структур данных рассматриваются в нескольких ключей, такие как полное имя:






 1.

 



 Чарльз Зеленый







 2.

 



 Андреа Росси







 3.

 



 Марио Росси







 4.

 



 Лучано Бьянки



Мы заказываем поля для имени:





 1.

 



 Андреа Росси







 2.

 



 Чарльз Зеленый







 3.

 



 Марио Росси







 4.

 



 Лучано Бьянки



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





 1.

 



 Лучано Бьянки







 2.

 



 Андреа Росси







 3.

 



 Марио Росси







 4.

 



 Чарльз Зеленый



Устойчивый алгоритм гарантирует, что в этом случае всегда предшествует Марио Росси Андреа Росси. Не нужно стабильное поведение непредсказуемо, так что это может быть обращена вспять положениях 2 и 3.

Выбор рода Также на территории отеля.
Алгоритм сказал на месте (или даже на месте), если он не занимает дополнительное пространство памяти, чем исходная база данных, или это малая постоянная сумма.

В той же категории ...
E-Learning
Flash MX и ActionScript (курс) Flash MX и ActionScript (курс)
Стать разработчиком веб-сайтов от 29 €.
Java (курс) Java (курс)
ООП программирование в Java-вс От 49 €.
Расширенный веб-мастеров (курс) Расширенный веб-мастеров (курс)
Станьте профессиональным веб-мастером. С 39 €.
Рекламные ссылки