selection sort java selection sort algorithm examples
Овај водич ће објаснити све о сортирању избора у Јави заједно са алгоритмом сортирања избора, Јава кодом, примени у Јава и Јава примерима:
Техника сортирања селекције је метода у којој се најмањи елемент у низу бира и замењује првим елементом низа. Даље, други најмањи елемент у низу се размењује са другим елементом и обрнуто.
=> Овде погледајте како бисте овде видели А-З Јава туторијала за обуку.
Шта ћете научити:
Сортирање избора у Јави
На овај начин се најмањи елемент у низу више пута бира и ставља у његов одговарајући положај док се читав низ не сортира.
За сортирање одабира одржавају се два подниза:
- Сортирани под-низ: У свакој итерацији минимални елемент се пронађе и постави у свој одговарајући положај. Овај под-низ је сортиран.
- Несортирани под-низ: Преостали елементи који нису сортирани.
Сортирање избора је једноставна и лака техника сортирања. Техника укључује само проналажење најмањег елемента у сваком додавању и постављање у прави положај. Сортирање избора је идеално за мање скупове података јер ефикасно сортира мањи скуп података.
Стога можемо рећи да сортирање избора није препоручљиво за веће листе података.
Алгоритам сортирања избора
Општи алгоритам за сортирање избора дат је у наставку:
Сортирање избора (А, Н)
Корак 1 : Поновите кораке 2 и 3 за К = 1 до Н-1
Корак 2 : Најмање рутине позива (А, К, Н, ПОС)
3. корак :
Замените А (К) са А (ПОС)
(Крај петље)
4. корак : ЕКСИТ
Најмањи рутински (А, К, Н, ПОС)
Корак 1 : (иницијализовати) поставити најмањи елемент = А (К)
Корак 2 : (иницијализација) поставите ПОС = К
3. корак :
за Ј = К + 1 до Н -1, поновите
ако је најмањиИтем> А (Ј)
сет најмањиИтем = А (Ј)
поставите ПОС = Ј
(ако крај)
(Крај петље)
4. корак : поврат ПОС
Као што видите, рутина за проналажење најмањег броја позива се током преласка скупа података. Када се пронађе најмањи елемент, он се поставља у жељени положај.
за који процес су потребне аутоматизоване израде и испитивања ради верификације софтвера током развоја
Псеудоцоде за сортирање избора
Псеудо-код за алгоритам сортирања избора дат је у наставку.
Procedure selection_sort(array,N) array – array of items to be sorted N – size of array begin for I = 1 to N-1 begin set min = i for j = i+1 to N begin if array(j) Хајде да сада илуструјемо сортирање низа помоћу селекционог сортирања.
Пример сортирања избора
Размотрите следећи низ који се сортира као пример сортирања избора.





Доље је дат табеларни приказ за илустрацију:
Несортирана листа Најмање елемента Сортирана листа {17,10,7,29,2} два {} {17,10,7,29} 7 {два} {17,10,29} 10 {2.7} {17.29} 17 {2,7,10) {29} 29 {2,7,10,17} {} {2,7,10,17,29}
Из илустрације видимо да се при сваком пролазу следећи најмањи елемент ставља у свој исправан положај у сортираном низу. Генерално, да бисмо сортирали низ од Н елемената, требају нам укупно Н-1 пролази.
Имплементација сортирања избора у Јави
Покажимо сада програм Јава за примену сортирања избора.
import java.util.*; class Main { static void sel_sort(int numArray()) { int n = numArray.length; // traverse unsorted array for (int i = 0; i Излаз:
Оригинални низ: (7, 5, 2, 20, 42, 15, 23, 34, 10)
Сортирани низ: (2, 5, 7, 10, 15, 20, 23, 34, 42)

сигурно чишћење регистра за Виндовс 7
У горњем примеру Јава-а, у више наврата проналазимо најмањи елемент у низу и стављамо га у сортирани низ док се цео низ потпуно не сортира.
Листа сортирања избора повезане у Јави
Следећа листа је повезана и морамо је сортирати помоћу сортирања избора. Да бисмо то урадили, користићемо рекурзивни приступ сортирања избора. Уместо да заменимо део података чвора, заменићемо чворове и поново поравнати показиваче.
Дакле, ако је везана листа дата на следећи начин:


Доље је дат Јава програм који спроводи горе наведено сортирање.
// add a node to the beginning of the linked list static Node addNode( Node head_ref, int new_data) { // create a node Node newNode = new Node(); // assign data to node newNode.data = new_data; // link the node to linked list newNode.next = (head_ref); //head now points to new node (head_ref) = newNode; return head_ref; } // method to swap nodes static Node swapNodes( Node head_ref, Node curr_node1, Node curr_node2, Node prev_node) { // curr_node2 is new head head_ref = curr_node2; // realign links prev_node.next = curr_node1; // now swap next pointers of nodes Node temp = curr_node2.next; curr_node2.next = curr_node1.next; curr_node1.next = temp; return head_ref; } // sort the linked list using selection sort static Node Selection_Sort( Node head) { // only a single node in linked list if (head.next == null) return head; // minNode => node with minimum data value Node minNode = head; // prevMin => node previous to minNode Node prevMin = null; Node ptr; // traverse the list from head to last node for (ptr = head; ptr.next != null; ptr = ptr.next) { // check if current node is minimum if (ptr.next.data Излаз:
Оригинална повезана листа:
7 9 3 5 1 11
Повезана листа након сортирања:
1 3 5 7 9 11

Имајте на уму да смо у горњем програму поравнали везе чворова уместо да сортирамо само компоненту података чвора.
Често постављана питања
П # 1) Како функционише сортирање избора?
Одговор: Сортирање избора функционише одржавањем два подниза. Минимални елемент из неразврстане подниза постављен је на одговарајући положај у разврстани под низ. Тада се други најнижи елемент поставља у прави положај. На овај начин се читав низ сортира избором минималног елемента током сваке итерације.
К # 2) Која је сложеност селекционе сорте?
Одговор: Укупна сложеност селекционе сорте је О (ндва), чинећи га тиме алгоритмом који је неефикасан за веће скупове података. Остале технике сортирања су ефикасније.
К # 3) Које су предности и недостаци селекције?
Одговор: Селекционо сортирање је техника сортирања на месту и стога јој није потребно додатно складиште за складиштење средњих елемената.
Ефикасно ради на мањим структурама података, као и на скуповима података који су скоро сортирани.
Главни недостатак селекционе технике сортирања је тај што се она врло лоше изводи како се величина структуре података повећава. Не само да постаје спорији већ смањује и ефикасност.
К # 4) Колико замјена постоји у сортирању Избор?
Одговор: Техника сортирања одабира узима минималан број замена. У најбољем случају, када је низ сортиран, број замена у сортирању избора је 0.
К # 5) Да ли је сортирање избора брже од сортирања уметањем?
Одговор: Сортирање уметања је брже и ефикасније, као и стабилно. Сортирање избора је брже само за мање скупове података и делимично сортиране структуре.
Закључак
Сортирање избора је техника која функционише одабиром минималног елемента током преласка низа. За сваки пролаз / итерацију бира се следећи минимални елемент у скупу података и поставља се у његов одговарајући положај.
Техника сортирања одабиром ефикасно функционише када је број елемената у скупу података мањи, али почиње да ради лоше како величина скупа података расте. Постаје неефикасан у поређењу са другим сличним техникама попут сортирања уметања.
У овом упутству имплементирали смо примере за сортирање низова и повезаних листа помоћу сортирања избора.
=> Посетите овде да бисте видели серију Јава обуке за све.
Препоручено читање
- Како сортирати низ у Јави - Водич са примерима
- Сортирање избора у Ц ++ са примерима
- Водич за дужину Јава низа са примерима кода
- МонгоДБ метода сортирања () са примерима
- Назубљени низ у Јави - Водич са примерима
- Уник наредба за сортирање са синтаксом, опцијама и примерима
- Обрни низ у Јави - 3 методе са примерима
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича