Rumah > Java > javaTutorial > Isih Baldi di Jawa

Isih Baldi di Jawa

WBOY
Lepaskan: 2024-08-30 15:31:56
asal
850 orang telah melayarinya

Teknik pengisihan yang menggunakan elemen tatasusunan yang diberikan diedarkan ke dalam banyak bilangan baldi untuk mengisih setiap baldi dengan menggunakan algoritma pengisihan yang berbeza atau dengan menggunakan algoritma pengisihan baldi secara rekursif dipanggil isihan baldi dalam Java yang kerumitan ruangnya ialah O (1), kerumitan kes terburuk ialah O(n^2), kerumitan kes terbaik ialah Omega(n+k) dan kerumitan kes purata ialah theta(n+k) dan teknik pengisihan baldi untuk mengisih elemen yang diberikan bagi tatasusunan berfungsi di kelajuan yang lebih pantas jika dibandingkan dengan algoritma pengisihan lain dan elemen tatasusunan yang akan diisih menggunakan algoritma isihan baldi mestilah diedarkan secara seragam.

Mulakan Kursus Pembangunan Perisian Percuma Anda

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

Fungsi untuk melaksanakan isihan baldi dalam Java adalah seperti berikut:

public static int[] bucketsort(int[] array, int maximum_value)
{
int[] newbucket = new int[maximum_value + 1];
int[] sorted_array = new int[array.length];
for (int a= 0; a <array.length; a++)
newbucket[array[a]]++;
int position = 0;
for (int b = 0; b < newbucket.length; b++)
for (int c = 0; c < newbucket[b]; c++)
sorted_array[position++] = b;
return sorted_array;
}
Salin selepas log masuk

di mana tatasusunan ialah tatasusunan input yang hendak diisih menggunakan algoritma isihan baldi, nilai_maksimum ialah nilai_maksimum yang terdapat dalam tatasusunan yang diberikan dan tatasusunan_isih ialah tatasusunan terhasil yang terdiri daripada elemen yang diisih.

Menggunakan Algoritma Isih Baldi dalam Java

Cara algoritma isihan Baldi dalam Java adalah seperti berikut:

  • Langkah pertama dalam algoritma isihan Baldi ialah mencipta tatasusunan kosong yang dianggap sebagai baldi.
  • Langkah kedua ialah melintasi keseluruhan tatasusunan input yang elemennya akan diisih dan menambah setiap elemen pada baldi.
  • Langkah ketiga ialah mengisih setiap elemen dalam baldi.
  • Langkah keempat ialah melintasi semua elemen dalam baldi dan menambah setiap satu daripadanya dalam tertib diisih pada tatasusunan input asal.

Contoh Isih Baldi dalam Java

Berikut adalah contoh yang diberikan di bawah:

Contoh #1

Atur cara Java untuk mengisih elemen tatasusunan yang diberikan dengan melaksanakan algoritma isihan baldi dan kemudian memaparkan elemen disusun tatasusunan sebagai output pada skrin:

 Kod:

import java.util.*;
public class Main
{
public static int[] bucketsort(int[] array, int maximum_value)
{
//creating an empty array called newbucket which is considered as bucket array
int[] newbucket = new int[maximum_value + 1];
//creating another empty array called sorted_array to store the result array
int[] sorted_array = new int[array.length];
//traversing through the input array to add each element to the bucket array
for (int a= 0; a <array.length; a++)
newbucket[array[a]]++;
//sorting each element in the bucket array and adding each sorted element in order to the original input array
int position = 0;
for (int b = 0; b < newbucket.length; b++)
for (int c = 0; c < newbucket[b]; c++)
sorted_array[position++] = b;
return sorted_array;
}
//function to find the maximum value in the input array in order to sort the given array using bucket sort technique
static int maximumValue(int[] array)
{
int maximum_value = 0;
for (int d = 0; d < array.length; d++)
if (array[d] > maximum_value)
maximum_value = array[d];
return maximum_value;
}
//main function is called within which we display the resulting array
public static void main(String args[])
{
int[] array ={100, 90, 80, 70, 60, 50, 40, 30, 20, 10};
int maximum_value = maximumValue(array);
System.out.print("\nThe elements of the array to be sorted are:\n ");
System.out.println(Arrays.toString(array));
System.out.print("\nThe elements of the sorted array sorted using bucket sort algorithm are:\n ");
System.out.println(Arrays.toString(bucketsort(array,maximum_value)));
}
}
Salin selepas log masuk

Output:

Isih Baldi di Jawa

Dalam program di atas, kami mencipta tatasusunan kosong yang dipanggil newbucket yang dianggap sebagai tatasusunan baldi. Kemudian kami mencipta satu lagi tatasusunan kosong yang dipanggil sorted_array untuk menyimpan tatasusunan hasil. Kemudian kita merentasi tatasusunan input untuk menambah setiap elemen pada tatasusunan baldi. Kemudian kami mengisih setiap elemen dalam tatasusunan baldi dan menambah setiap elemen yang diisih untuk susunan input asal. Kemudian kita mentakrifkan fungsi untuk mencari nilai maksimum dalam tatasusunan input untuk mengisih tatasusunan yang diberikan menggunakan teknik isihan baldi. Kemudian fungsi utama dipanggil di mana kita memaparkan tatasusunan yang terhasil. Output ditunjukkan dalam syot kilat di atas.

Contoh #2

Atur cara Java untuk mengisih elemen tatasusunan yang diberikan dengan melaksanakan algoritma isihan baldi dan kemudian memaparkan elemen disusun tatasusunan sebagai output pada skrin:

Kod:

import java.util.*;
public class Main
{
public static int[] bucketsort(int[] array, int maximum_value)
{
//creating an empty array called newbucket which is considered as bucket array
int[] newbucket = new int[maximum_value + 1];
//creating another empty array called sorted_array to store the result array
int[] sorted_array = new int[array.length];
//traversing through the input array to add each element to the bucket array
for (int a= 0; a <array.length; a++)
newbucket[array[a]]++;
//sorting each element in the bucket array and adding each sorted element in order to the original input array
int position = 0;
for (int b = 0; b < newbucket.length; b++)
for (int c = 0; c < newbucket[b]; c++)
sorted_array[position++] = b;
return sorted_array;
}
//function to find the maximum value in the input array in order to sort the given array using bucket sort technique
static int maximumValue(int[] array)
{
int maximum_value = 0;
for (int d = 0; d < array.length; d++)
if (array[d] > maximum_value)
maximum_value = array[d];
return maximum_value;
}
//main function is called within which we display the resulting array
public static void main(String args[])
{
int[] array ={ 60, 80, 50, 90, 30, 70, 20 };
int maximum_value = maximumValue(array);
System.out.print("\nThe elements of the array to be sorted are:\n ");
System.out.println(Arrays.toString(array));
System.out.print("\nThe elements of the sorted array sorted using bucket sort algorithm are:\n ");
System.out.println(Arrays.toString(bucketsort(array,maximum_value)));
}
}
Salin selepas log masuk

Output:

Isih Baldi di Jawa

Dalam atur cara di atas, kami mencipta tatasusunan kosong yang dipanggil baldi baharu yang dianggap tatasusunan baldi. Kemudian kita mencipta satu lagi tatasusunan kosong yang dipanggil sorted_array untuk menyimpan tatasusunan hasil. Kemudian kami merentasi tatasusunan input untuk menambah setiap elemen pada tatasusunan baldi. Kemudian kami mengisih setiap elemen dalam tatasusunan baldi dan menambah setiap elemen yang diisih untuk susunan input asal. Kemudian kita mentakrifkan fungsi untuk mencari nilai maksimum dalam tatasusunan input untuk mengisih tatasusunan yang diberikan menggunakan teknik isihan baldi. Kemudian fungsi utama dipanggil di mana kita memaparkan tatasusunan yang terhasil. Output ditunjukkan dalam syot kilat di atas.

Atas ialah kandungan terperinci Isih Baldi 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