selection sort java selection sort algorithm examples
Bu Öğretici, Seçim Sıralama Algoritması, Java Kodu, Java'da Uygulama ve Java Örnekleriyle birlikte Java'da Seçim Sıralama hakkında her şeyi açıklayacaktır:
Seçim sıralama tekniği, dizideki en küçük öğenin seçildiği ve dizinin ilk öğesi ile değiştirildiği bir yöntemdir. Daha sonra, dizideki ikinci en küçük eleman, ikinci elemanla değiştirilir ve bunun tersi de geçerlidir.
=> Java Eğitim Öğreticilerinin A-Z'sini Burada Görmek İçin Burayı Kontrol Edin.
Ne öğreneceksin:
Java'da Seçim Sıralaması
Bu şekilde, dizideki en küçük öğe tekrar tekrar seçilir ve tüm dizi sıralanana kadar uygun konumuna yerleştirilir.
Seçim sıralaması için iki alt dizi tutulur:
- Sıralanmış alt dizi: Her yinelemede minimum eleman bulunur ve uygun pozisyonuna yerleştirilir. Bu alt dizi sıralanır.
- Sıralanmamış alt dizi: Sıralanmamış kalan öğeler.
Seçme sıralaması, basit ve kolay bir sıralama tekniğidir. Teknik, yalnızca her geçişte en küçük öğeyi bulup doğru konuma yerleştirmeyi içerir. Seçim sıralaması, daha küçük veri kümesini verimli bir şekilde sıraladığından daha küçük veri kümeleri için idealdir.
Bu nedenle, büyük veri listeleri için seçim sıralamanın tavsiye edilmediğini söyleyebiliriz.
Seçim Sıralama Algoritması
Seçim Sıralaması için Genel Algoritma aşağıda verilmiştir:
Seçim Sıralaması (A, N)
Aşama 1 : K = 1 - N-1 için Adım 2 ve 3'ü tekrarlayın
Adım 2 : Çağrı rutini en küçük (A, K, N, POS)
Aşama 3 :
A (K) ile A (POS) arasında geçiş yapın
(Döngünün sonu)
4. adım : ÇIKIŞ
Rutin en küçük (A, K, N, POS)
Aşama 1 : (başlat) smallestItem = A (K) ayarla
Adım 2 : (başlat) POS = K ayarla
Aşama 3 :
J = K + 1 ila N -1 için tekrarlayın
smallestItem> A (J) ise
smallestItem = A (J) olarak ayarlayın
POS = J ayarla
(eğer biterse)
(Döngünün sonu)
4. adım : POS'a dönüş
Gördüğünüz gibi, en küçük numarayı bulma rutini, veri setini geçerken çağrılır. En küçük eleman bulunduğunda, istenen pozisyona yerleştirilir.
qa analist mülakat soruları ve cevapları
Seçim Sıralaması İçin Sözde Kod
Seçimli sıralama algoritması için sözde kod aşağıda verilmiştir.
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) Şimdi, seçim sıralaması kullanarak bir dizinin sıralamasını gösterelim.
Seçim Sıralama Örneği
Bir seçim sıralaması örneği olarak sıralanacak aşağıdaki diziyi düşünün.





Aşağıda, gösterim için tablo halinde bir temsil verilmiştir:
Sıralanmamış liste En az öğe Sıralanmış liste {17,10,7,29,2} iki {} {17,10,7,29} 7 {iki} {17,10,29} 10 {2.7} {17.29} 17 {2,7,10) {29} 29 {2,7,10,17} {} {2,7,10,17,29}
Resimden, her geçişte bir sonraki en küçük elemanın sıralanmış dizide doğru konumuna yerleştirildiğini görüyoruz. Genel olarak, bir N eleman dizisini sıralamak için toplamda N-1 geçişine ihtiyacımız var.
Java'da Seçim Sıralaması Uygulaması
Şimdi seçim sıralaması uygulamak için Java programını gösterelim.
import java.util.*; class Main { static void sel_sort(int numArray()) { int n = numArray.length; // traverse unsorted array for (int i = 0; i Çıktı:
Orijinal Dizi: (7, 5, 2, 20, 42, 15, 23, 34, 10)
Sıralanmış Dizi: (2, 5, 7, 10, 15, 20, 23, 34, 42)

Yukarıdaki java örneğinde, dizideki en küçük elemanı tekrar tekrar buluyoruz ve tüm dizi tamamen sıralanana kadar onu sıralanmış diziye koyuyoruz.
Java'da Bağlantılı Listeyi Sırala
Aşağıda verilen bağlantılı bir listedir ve bunu seçim sıralaması kullanarak sıralamak zorundayız. Bunu yapmak için seçim sıralamanın özyinelemeli yaklaşımını kullanacağız. Düğümün veri bölümünü değiştirmek yerine, düğümleri değiştireceğiz ve işaretçileri yeniden hizalayacağız.
Dolayısıyla bağlantılı liste aşağıdaki gibi verilmişse:


Aşağıda verilen, yukarıdaki sıralamayı uygulayan Java programıdır.
// 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 Çıktı:
Orijinal Bağlantılı liste:
7 9 3 5 1 11
Sıralamadan sonra bağlantılı liste:
1 3 5 7 9 11

dinlenme web hizmeti mülakat soruları ve cevapları
Yukarıdaki programda, düğümün yalnızca veri bileşenini sıralamak yerine düğümlerin bağlantılarını yeniden hizaladığımızı unutmayın.
Sıkça Sorulan Sorular
S # 1) Seçim sıralaması nasıl çalışır?
Cevap: Seçim sıralaması, iki alt diziyi koruyarak çalışır. Sıralanmamış alt diziden minimum eleman, sıralı bir alt dizide uygun konumuna yerleştirilir. Daha sonra ikinci en alttaki eleman uygun konumuna yerleştirilir. Bu şekilde, tüm dizi, her yineleme sırasında minimum bir öğe seçilerek sıralanır.
S # 2) Seçim sıralamasının karmaşıklığı nedir?
Cevap: Seçim sıralamasının genel karmaşıklığı O (niki), böylece daha büyük veri kümelerinde verimsiz olan algoritmayı yapar. Diğer sıralama teknikleri daha etkilidir.
S # 3) Seçimin Avantaj ve Dezavantajları Nelerdir?
Cevap: Seçme sıralama, yerinde ayırma tekniğidir ve bu nedenle, ara öğeleri depolamak için ek depolama gerektirmez.
Daha küçük veri yapılarında ve neredeyse sıralanan veri kümelerinde verimli bir şekilde çalışır.
Seçim sıralama tekniğinin en büyük dezavantajı, veri yapısının boyutu arttıkça çok zayıf performans göstermesidir. Sadece yavaşlamakla kalmaz, aynı zamanda verimliliği de düşürür.
S # 4) Seçim sıralamasında kaç tane takas vardır?
Cevap: Seçim sıralama tekniği minimum sayıda takas alır. En iyi durumda, dizi sıralandığında, seçim sıralamasındaki takas sayısı 0'dır.
S # 5) Seçim sıralaması, Eklemeli sıralamadan daha hızlı mı?
Cevap: Ekleme sıralaması daha hızlı, daha verimli ve kararlıdır. Seçim sıralaması yalnızca daha küçük veri kümeleri ve kısmen sıralanmış yapılar için daha hızlıdır.
Sonuç
Seçim sıralaması, dizide gezinirken minimum öğeyi seçerek çalışan bir tekniktir. Her geçiş / yineleme için, veri setindeki bir sonraki minimum eleman seçilir ve uygun pozisyonuna yerleştirilir.
Seçim sıralama tekniği, veri kümesindeki öğelerin sayısı az olduğunda verimli bir şekilde çalışır, ancak veri kümesinin boyutu büyüdükçe kötü performans göstermeye başlar. Ekleme sıralaması gibi diğer benzer tekniklerle karşılaştırıldığında verimsiz hale gelir.
Bu eğitimde, seçim sıralaması kullanarak dizileri ve bağlantılı listeleri sıralamak için örnekler uyguladık.
=> Java Eğitim Serisini Herkes İçin Görmek İçin Burayı Ziyaret Edin.
Önerilen Kaynaklar
- Java'da Bir Dizi Nasıl Sıralanır - Örneklerle Eğitim
- Örneklerle C ++ 'da Seçim Sırala
- Kod Örnekleriyle Java Dizi Uzunluğu Eğitimi
- MongoDB Sort () Yöntemi Örneklerle
- Java'da Jagged Array - Örneklerle Eğitim
- Sözdizimi, Seçenekler ve Örneklerle Unix Sıralama Komutu
- Java'da Bir Diziyi Ters Çevirme - Örneklerle 3 Yöntem
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi