Rumah > Java > javaTutorial > Isih Buih di Jawa

Isih Buih di Jawa

WBOY
Lepaskan: 2024-08-30 15:31:50
asal
628 orang telah melayarinya

Isih gelembung ialah salah satu algoritma yang paling biasa digunakan untuk mengisih data dalam Java. Pengisihan dilakukan secara rekursif membandingkan nombor bersebelahan dan mengalihkannya dalam susunan meningkat atau menurun. Peralihan elemen ini dilakukan sehingga semua digit diisih sepenuhnya dalam susunan yang diperlukan. Isih buih ialah nama kerana unsur buih tatasusunan adalah cara mereka bermula. Marilah kita memahami algoritma isihan gelembung dengan mengambil contoh.

Contoh: Pertimbangkan tatasusunan nombor [6 1 8 5 3] yang perlu disusun dalam susunan yang semakin meningkat.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Algoritma isihan gelembung berfungsi dalam berbilang lelaran sehingga ia mendapati semua nombor diisih.

Lelaran

Di bawah ialah lelaran yang dilakukan dalam Bubble Sort di Java iaitu seperti berikut:

Lelaran Pertama

[6 1 8 5 3] – Ia bermula dengan membandingkan dua nombor pertama dan menganjakkan nombor terkecil daripada dua ke kanannya. Oleh itu antara 6 dan 1, 1 ialah nombor yang lebih kecil yang dianjakkan ke kiri dan 6 ke kanan. [1 6 8 5 3] – Seterusnya, ia membandingkan dua nombor bersebelahan dengan mengalihkan satu kedudukan ke kanan. Di sini, nombor 6 adalah kurang daripada 8, dan oleh itu susunan yang sama dikekalkan. [1 6 8 5 3] – Sekali lagi, dengan mengalihkan satu kedudukan ke kanan, perbandingan berlaku antara 8 dan 5. Nombor 5 dianjak ke kiri kerana ia lebih kecil daripada 8. [1 6 5 8 3] – Di sini, perbandingan berlaku antara nombor 8 dan 3. Nombor 3 dianjak ke kiri kerana ia lebih kecil daripada 8. [1 6 5 3 8] – Ini adalah keputusan akhir pesanan selepas lelaran pertama.

Lelaran Kedua

Memandangkan bilangannya masih belum meningkat sepenuhnya, atur cara pergi untuk lelaran kedua.

[1 6 5 3 8] – Di sini, perbandingan sekali lagi bermula daripada dua digit pertama hasil lelaran pertama. Ia membandingkan nombor 1 dan 6 dan mengekalkan susunan yang sama kerana 1 lebih kecil daripada 6. [1 6 5 3 8] – Di sini, nombor 5 dan 6 dibandingkan. Pesanan yang sama dikekalkan kerana ia sudah berada dalam susunan yang semakin meningkat yang diperlukan. [1 5 6 3 8] – Perbandingan berlaku antara nombor 6 dan 3. Nombor 3 dianjak ke kiri kerana ia lebih kecil daripada 6. [1 5 3 6 8] – Seterusnya, nombor 6 dan 8 dibandingkan antara satu sama lain. Pesanan yang sama dikekalkan kerana ia dalam susunan yang dijangkakan. [1 5 3 6 8] – Ini adalah keputusan akhir selepas lelaran kedua. Namun, kita dapat perhatikan bahawa digit tidak disusun sepenuhnya dalam susunan yang semakin meningkat. Namun, kita perlu bertukar nombor 5 dan 3 untuk mendapatkan keputusan akhir. Oleh itu program ini pergi untuk lelaran ketiga.

Lelaran Ketiga

[1 5 3 6 8] – lelaran Ketiga bermula dengan membandingkan dua digit pertama, 1 dan 5. Memandangkan susunan adalah seperti yang dijangkakan, ia dikekalkan sama. [1 5 3 6 8]- Seterusnya, nombor 3 dan 5 bersebelahan dibandingkan. Oleh kerana 5 lebih besar daripada 3, ia dianjakkan ke sebelah kanan. [1 3 5 6 8] – Lelaran diteruskan untuk membandingkan nombor 5 dan 6, 6 dan 8. Memandangkan ia berada dalam susunan yang diperlukan, ia mengekalkan susunannya. [1 3 5 6 8] – Akhir sekali, lelaran dihentikan semasa atur cara melintasi membandingkan setiap elemen bersebelahan dan mendapati semua digit berada dalam susunan yang semakin meningkat.

Memandangkan hanya 5 elemen tatasusunan perlu diisih, ia mengambil masa 3 lelaran sahaja. Apabila elemen dalam tatasusunan bertambah, jumlah lelaran juga meningkat.

Pelaksanaan Isih Buih menggunakan Java

Di bawah ialah kod Java, yang melaksanakan algoritma isihan Bubble. (Perhatikan bahawa kedudukan pertama tatasusunan dalam Java bermula pada 0 dan berterusan dalam kenaikan 1, iaitu tatasusunan[0], tatasusunan[1], tatasusunan[2], dan ia berterusan.)

Kod:

import java.util.Scanner;
public class BubbleSort {
static void bubbleSort(int[] arraytest) {
int n = arraytest.length; //length of the array is initialized to the integer n
int temp = 0; //A temporary variable called temp is declared as an integer and initialized to 0
for(int i=0; i < n; i++){ // first for loop performs multiple iterations
for(int j=1; j < (n-i); j++){
if(arraytest[j-1] > arraytest[j]){ // if loop compares the adjacent numbers
// swaps the numbers
temp = arraytest[j-1]; // assigns the greater number to temp variable
arraytest[j-1] = arraytest[j]; // shifts the lesser number to the previous position
arraytest[j] = temp; // bigger number is then assigned to the right hand side
}
}
}
}
public static void main(String[] args) {
int arraytest[] ={23,16,3,42,75,536,61}; // defining the values of array
System.out.println("Array Before Doing Bubble Sort");
for(int i=0; i < arraytest.length; i++){ // for loop used to print the values of array
System.out.print(arraytest[i] + " ");
}
System.out.println();
bubbleSort(arraytest); // array elements are sorted using bubble sort function
System.out.println("Array After Doing Bubble Sort");
for(int i=0; i < arraytest.length; i++){
System.out.print(arraytest[i] + " "); // for loop to print output values from array
}
}
}
Salin selepas log masuk

Output:

Isih Buih di Jawa

Kebaikan dan Keburukan Isih Buih dalam Java

Di bawah ialah kelebihan dan kelemahan yang berbeza bagi isihan buih di java:

Kelebihan

  1. Kod ini sangat mudah untuk ditulis dan difahami. Biasanya mengambil masa beberapa minit sahaja.
  2. Pelaksanaan juga sangat mudah.
  3. Isih gelembung mengisih nombor dan menyimpannya dalam ingatan justeru menjimatkan banyak memori.

Keburukan

  1. Algoritma ini tidak sesuai untuk set data yang besar kerana perbandingan memerlukan banyak masa. Masa yang diambil untuk mengisih nombor input meningkat secara eksponen.
  2. O(n^2) ialah purata kerumitan isihan Bubble dan O(n) ialah kerumitan kes terbaik (kes terbaik ialah apabila elemen diisih di tempat pertama), dengan n ialah bilangan elemen.

Aplikasi Masa Nyata

Memandangkan isihan Bubble mampu mengesan ralat minit dalam pengisihan, ia digunakan dalam grafik komputer. Ia juga digunakan dalam algoritma pengisian poligon, di mana lapisan bucu poligon perlu diisih.

Kesimpulan

Artikel ini melihat cara algoritma Isih Bubble berfungsi dan cara ia boleh dilaksanakan menggunakan pengaturcaraan Java. Bubble sort ialah algoritma yang sangat stabil yang boleh dilaksanakan dengan mudah untuk set data yang agak kecil. Ia adalah kes algoritma perbandingan dan digunakan oleh orang baru kerana kesederhanaannya.

Atas ialah kandungan terperinci Isih Buih di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan