bubble sort java java sorting algorithms code examples
Bu Öğretici, Java'daki Kabarcık Sıralamasını, Büyük Java Sıralama Algoritması, Kabarcık Sıralama Uygulaması ve Kod Örnekleri ile birlikte açıklayacaktır:
Bir sıralama algoritması, bir koleksiyonun öğelerini belirli bir sıraya yerleştirmek için bir algoritma veya prosedür olarak tanımlanabilir. Örneğin, ArrayList gibi tamsayılardan oluşan bir sayısal koleksiyonunuz varsa, ArrayList öğelerini artan veya azalan sırada düzenlemek isteyebilirsiniz.
Benzer şekilde, bir dize koleksiyonunun dizelerini alfabetik veya sözlüksel sırayla düzenlemek isteyebilirsiniz. Java'daki sıralama algoritmaları burada devreye giriyor.
.bin dosyaları nasıl çalıştırılır
Ne öğreneceksin:
Java'da Başlıca Sıralama Algoritmaları
Sıralama algoritmaları genellikle zaman ve yer karmaşıklığına bağlı olarak değerlendirilir. Java, koleksiyonları veya veri yapılarını sıralamak veya düzenlemek için kullanılan çeşitli sıralama algoritmalarını destekler.
Aşağıdaki tablo, Java'da desteklenen başlıca sıralama algoritmalarını en iyi / en kötü durum karmaşıklıkları ile birlikte göstermektedir.
Zaman karmaşıklığı | ||||
---|---|---|---|---|
Taban Sıralaması | Doğrusal sıralama algoritması. | O (nk) | O (nk) | O (nk) |
Sıralama algoritması | Açıklama | En iyi senaryo | En kötü durumda | Ortalama durum |
Kabarcık Sıralama | Geçerli öğeyi tekrar tekrar bitişik öğelerle karşılaştırır. Her yinelemenin sonunda, en ağır öğe uygun yerde köpürtülür. | O (n) | O (n ^ 2) | O (n ^ 2) |
Ekleme Sıralaması | Koleksiyonun her bir öğesini uygun yerine yerleştirir. | O (n) | O (n ^ 2) | O (n ^ 2) |
Sıralamayı Birleştir | Böl ve yönet yaklaşımını izler. Koleksiyonu daha basit alt koleksiyonlara böler, sıralar ve ardından her şeyi birleştirir | O (nlogn) | O (nlogn) | O (nlogn) |
Hızlı sıralama | En verimli ve optimize edilmiş sıralama tekniği. Koleksiyonu sıralamak için böl ve fethet özelliğini kullanır. | O (nlogn) | O (n ^ 2) | O (nlogn) |
Seçim Sıralaması | Koleksiyondaki en küçük öğeyi bulur ve her yinelemenin sonunda uygun yerine koyar | O (N ^ 2) | O (N ^ 2) | O (N ^ 2) |
Yığın Sıralama | Öğeler, minimum yığın veya maksimum yığın oluşturmaya göre sıralanır. | O (nlogn) | O (nlogn) | O (nlogn) |
Yukarıdaki tabloda verilen sıralama tekniklerinin yanı sıra, Java ayrıca aşağıdaki sıralama tekniklerini de destekler:
- Kova Sıralaması
- Sayma Sıralaması
- Kabuk Sıralaması
- Tarak Sırala
Ancak bu teknikler pratik uygulamalarda idareli kullanılır, bu nedenle bu teknikler bu serinin parçası olmayacaktır.
Java'da Kabarcık Sıralama Tekniğini tartışalım.
Java'da Kabarcık Sıralama
Kabarcık sıralama, Java'daki tüm sıralama tekniklerinin en basitidir. Bu teknik, iki bitişik öğeyi tekrar tekrar karşılaştırarak ve istenen sırada değilse bunları değiştirerek koleksiyonu sıralar. Böylece, yinelemenin sonunda, en ağır öğe, haklı konumunu talep etmek için köpürtülür.
A (0), A (1), A (2), A (3),… .A (n-1) ile verilen A listesinde n eleman varsa, A (0), A (1 ile karşılaştırılır. ), A (1), A (2) ile karşılaştırılır vb. İlk elemanın ikinciden büyük olup olmadığını karşılaştırdıktan sonra, sıralı değilse iki eleman değiştirilir.
Kabarcık Sıralama Algoritması
Kabarcık Sıralama Tekniği için genel algoritma aşağıda verilmiştir:
Aşama 1: İ = 0 ila N-1 için Adım 2'yi tekrarlayın
Adım 2: J = i + 1'den N'ye - tekrar ediyorum
Aşama 3: eğer A (J)> A (i)
A (J) ve A (i) 'yi değiştirin
(İç döngü sonu)
(Döngü için Dışsa Bitir)
4. Adım: çıkış
Şimdi açıklayıcı bir örnek kullanarak Kabarcık Sıralama Tekniğini gösterelim.
5 boyutlu bir dizi alıyoruz ve kabarcık sıralama algoritmasını gösteriyoruz.
Kabarcık sıralamayı Kullanarak Bir Diziyi Sıralama
Aşağıdaki liste sıralanacaktır.
qa yöneticisi mülakat soruları cevaplar pdf
Yukarıda görebileceğiniz gibi, dizi tamamen sıralanmıştır.
Yukarıdaki çizim, aşağıda gösterildiği gibi tablo halinde özetlenebilir:
Geçmek | Sıralanmamış liste | karşılaştırma | Sıralanmış liste |
---|---|---|---|
{3,6,11,4,15} | {11.4} | {3,6,4,11,15} | |
1 | {11, 3, 6,15,4} | {11.3} | {3,11,6,15,4} |
{3,11,6,15,4} | {11.6} | {3,6,11,15,4} | |
{3,6,11,15,4} | {11.15} | {3,6,11,15,4} | |
{3,6,11,15,4} | {15.4} | {3,6,11,4,15} | |
iki | {3,6,11,4,15} | {3,6} | {3,6,11,4,15} |
{3,6,11,4,15} | {6.11} | {3,6,11,4,15} | |
3 | {3,6,4,11,15} | {3,6} | {3,6,4,11,15} |
{3,6,4,11,15} | {6.4} | {3,4,6,11,15} | |
{3,4,6,11,15} | SIRALANMIŞ |
Yukarıdaki örnekte gösterildiği gibi, en büyük eleman her yinelemede / geçişte uygun konumuna kabarcıklar. Genel olarak, N-1'e ulaştığımızda (burada N, listedeki toplam eleman sayısıdır) geçer; tüm listeyi sıralayacağız.
Kabarcık Sıralama Kodu Örneği
Aşağıdaki program, kabarcık sıralama algoritmasının Java uygulamasını göstermektedir. Burada, bir sayı dizisi tutuyoruz ve dizinin bitişik öğeleri arasında geçiş yapmak için iki for döngüsü kullanıyoruz. İki bitişik eleman sıralı değilse, değiştirilirler.
import java.util.*; class Main{ // Driver method to test above public static void main(String args()) { //declare an array of integers int intArray() = {23,43,13,65,11,62,76,83,9,71,84,34,96,80}; //print original array System.out.println('Original array: ' + Arrays.toString(intArray)); int n = intArray.length; //iterate over the array comparing adjacent elements for (int i = 0; i intArray(j+1)) { int temp = intArray(j); intArray(j) = intArray(j+1); intArray(j+1) = temp; } //print the sorted array System.out.println('Sorted array: ' + Arrays.toString(intArray)); } }
Çıktı:
Orijinal dizi: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
Sıralanmış dizi: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96)
Sıkça Sorulan Sorular
S # 1) Java'daki Sıralama Algoritmaları nelerdir?
Cevap: Sıralama algoritması, bir koleksiyondaki öğelerin istenen şekilde sıralanabileceği veya düzenlenebileceği bir algoritma veya prosedür olarak tanımlanabilir.
Aşağıda, Java'da desteklenen bazı sıralama algoritmaları verilmiştir:
- Kabarcık Sıralama
- Ekleme sıralaması
- Seçim sıralaması
- Sıralamayı birleştir
- Hızlı sıralama
- Radix sıralaması
- Yığın sıralaması
S # 2) Java'daki en iyi Sıralama Algoritması nedir?
Cevap: Birleştirme Sıralaması, Java'daki en hızlı sıralama algoritmasıdır. Aslında Java 7, Collections.sort () yöntemini uygulamak için dahili olarak birleştirme sıralaması kullanmıştır. Hızlı Sıralama da başka bir en iyi sıralama algoritmasıdır.
S # 3) Java'da Kabarcık sıralaması nedir?
Cevap: Kabarcık sıralama, Java'daki en basit algoritmadır. Kabarcık sıralaması her zaman listedeki iki bitişik öğeyi karşılaştırır ve istenen sırada değilse bunları değiştirir. Böylece, her yineleme veya geçişin sonunda, en ağır öğe uygun yerine köpürtülür.
S # 4) Kabarcık sıralaması neden Niki?
Cevap: Kabarcık sıralamayı uygulamak için döngüler için iki kullanıyoruz.
c ++ 'da int için karakter
Yapılan toplam iş şu şekilde ölçülür:
İç döngü tarafından yapılan iş miktarı * dış döngünün toplam çalışma sayısı.
N elemanlı bir liste için, iç döngü her yineleme için O (n) için çalışır. Dış döngü O (n) iterasyonu için çalışır. Dolayısıyla yapılan toplam iş O (n) * O (n) = O (niki)
S # 15) Kabarcık sıralamanın Avantajları Nelerdir?
Cevap: Bubble Sort'un avantajları aşağıdaki gibidir:
- Kodlanması ve anlaşılması kolay.
- Algoritmayı uygulamak için birkaç satır kod gereklidir.
- Sıralama yerinde yapılır, yani ek bellek gerekmez ve dolayısıyla bellek ek yükü yoktur.
- Sıralanan veriler hemen işlenmeye hazırdır.
Sonuç
Şimdiye kadar, Java'daki Bubble Sort sıralama algoritmasını tartıştık. Ayrıca Kabarcık Sıralama Tekniğini kullanarak bir diziyi sıralamanın algoritmasını ve ayrıntılı resmini araştırdık. Sonra Java programını Bubble Sort'a uyguladık.
Bir sonraki eğitimde, Java'daki diğer sıralama tekniklerine devam edeceğiz.
=> TÜM Java Öğreticilerini Buradan Kontrol Edin.
Önerilen Kaynaklar
- Java'da Seçim Sırala - Algoritmayı ve Örnekleri Sıralama Seçimi
- Java'da Ekleme Sıralama - Ekleme Sıralama Algoritması ve Örnekler
- Örneklerle C ++ 'da Kabarcık Sıralama
- Java'da Bir Dizi Nasıl Sıralanır - Örneklerle Eğitim
- Kod Örnekleriyle Java Dizi Uzunluğu Eğitimi
- MongoDB Sort () Yöntemi Örneklerle
- Sözdizimi, Seçenekler ve Örneklerle Unix Sıralama Komutu
- Java 'bu' Anahtar Kelime: Kod Örnekleriyle Eğitim