Начални методи сортиране на обмен, вмъкване, селекция
Има три общи методи за сортиране на масиви:
За да разберете как тези методи, представете си тесте карти за игра. За да сортирате метод за споделяне на карта на. ги поставете върху маса с лицето нагоре и да се обърне на картата, подредени в никакъв определен ред, докато цялата палуба няма да се поръча.
В метода на избор лежеше карти на масата, изберете най-ниската стойност карта и я сложи в ръката му. Тогава оставащите карти, изберете картата, отново най-малко значение и да го поставят на някого, който вече е в ръцете ви. Процесът се повтаря, докато ръката не доказва, всички карти; в края на палубата ще бъдат сортирани процес.
За да сортирате тесте метод вмъкване. Вземете всички карти в ръката си. Можете да ги един по един на масата, всеки поставяне на следващата карта в съответното положение. Когато всички карти са на масата, на палубата ще бъдат сортирани.
Вмъкването вид - обикновен алгоритъм за сортиране. Въпреки че този алгоритъм е толкова ефективен, колкото по-сложна (като Quicksort), има редица предимства:
· Ефективно за малки набори от данни, наборите от данни на десетки елементи могат да бъдат по-добри;
· Ефективно на набори от данни, които вече са частично подредени;
· Тя е стабилна алгоритъм за сортиране (не се променя реда на елементи, които вече са подредени);
· Може да сортирате списъка, тъй като е получил;
Минус -висока алгоритъм сложност: О (п ²)
Най-общо казано, в най-тежките случаи, вмъкване вид е толкова зле, колкото вида на балона и сортиране чрез избора и средно тя е само малко по-добре.
На всяка стъпка на алгоритъма избираме един от елементите на входните данни и да го поставите на нова позиция в вече подредени листа, докато множеството от въвеждане на данни е изчерпана. Методът за избор на следващия елемент на източник на масива е произволно; Може да се използва в почти всяка алгоритъм селекция. Обикновено (и с цел да се получи стабилен алгоритъм за сортиране), елементите се поставят в реда, в който се появява във входната масива.
алгоритъм на времето за изпълнение зависи от входните данни: по-големия набор да се сортират, толкова повече време, докато сортиране. Също така, по време на оригинала се отрази на подредбата на масива. Така че, най-добрия случай е сортиран масив, и най-лошото - масив подредени в обратен ред желания. сложност на времето в най-лошия случай входните данни - # 952 (n²).
Изпълнението на Java
обществени невалидни addingSort ()
за (Node тек = first.next ;! тек = нула; тек = cur.next)
Node п = cur.prev;
Обект Val = cur.value;