Isih Mengira ialah algoritma yang memainkan peranan penting dalam mana-mana bahasa pengaturcaraan begitu juga Java. Objektif utama algoritma pengiraan adalah untuk menyusun koleksi objek mengikut kekunci yang terdapat sebagai integer kecil untuk menyusun algoritma. Ia kebanyakannya beroperasi dan melakukan pengiraan pada pasangan nilai kunci, membentangkan kedudukan elemen mengikut urutan output. Masa berjalan dalam pengisihan ini adalah linear dari segi item, dan kemudian perbezaan antara nilai utama terletak di antara maksimum dan minimum.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks
Tiada sintaks khusus untuk melaksanakan Isih Mengira dalam Java, tetapi terdapat aliran logik yang digunakan dalam bentuk algoritma langkah demi langkah untuk melaksanakan Isihan Mengira mengikut input dan diwakili seperti berikut :
Class name {
Method name following sorting ()
{
# Find the length of array defined;
#the output character array will have sorted array
#Create a count arr to store count of each element, characters and initialize it 0
#Store count of each character element in the array
#Build output character and write the logic to make it operated in reverse order
#that builds output can now be copied from the previous array to the current
#Make use of the driver code to move and proceed.
}
Bagaimana Pengisihan berfungsi dalam Java?
- Seperti yang dinyatakan, algoritma Isih Mengira memainkan peranan penting dalam pengaturcaraan; ia berfungsi pada pengisihan objek yang hadir dalam format terkumpul dan digunakan untuk mengira bilangan elemen hadir yang mempunyai pasangan kunci dan nilai yang berbeza dan sekali lagi digunakan dengan kiraan aritmetik yang menentukan kedudukan setiap elemen hadir dengan setiap nilai kunci mempunyai perbezaan antara nilai minimum dan maksimum.
- Masa berjalan atau kerumitan masa jika diperiksa adalah bersifat linear yang mempunyai semua elemen dalam tatasusunan dan perbezaan antara nilai kunci minimum dan maksimum, jadi elemen dan teknik pengisihan ini sesuai sekiranya digunakan secara langsung di mana variasi dalam kunci tidak jauh lebih besar daripada elemen yang ada dengan kunci yang diperlukan.
- Walaupun terdapat algoritma lain yang boleh menyokong kebanyakan pengendalian kunci, ia tidak secekap pengiraan mengikut keperluan dan pencincangan boleh digantikan dengan jenis Radix untuk mengendalikan situasi sejumlah besar kunci berbanding sebelumnya. .
- Memandangkan isihan mengira menggunakan pasangan kunci dan nilai sebagai sebahagian daripada nilai indeks ke dalam tatasusunan, maka ia tidak dianggap sebagai isihan Perbandingan. Selain itu, sempadan bawah jenis perbandingan tidak dibenarkan.
- Isih baldi juga datang pengisihan kurang mengira hanya dengan set tugasan yang sama dan analisis masa yang serupa, tetapi jika dibandingkan dengan pengisihan baldi maka pada masa itu, isihan baldi memerlukan tatasusunan dinamik, senarai terpaut atau sejumlah besar memori untuk disimpan unsur-unsur yang terdapat dalam baldi dan kemudian mengira isihan menyimpan hanya nilai-nilai itu yang merupakan nombor individu dan tunggal mengikut baldi.
- Terdapat jujukan hipotesis input dan output tertentu yang terletak pada fakta bahawa input untuk pengiraan terdiri daripada koleksi n item di mana setiap item mempunyai nilai kunci integer bukan negatif untuk nilai maksimum yang mempunyai beberapa nilai sebagai k. beberapa perihalan pengiraan pengiraan ialah input untuk mengisih hanya urutan format linear integer.
- Keluaran tatasusunan kebanyakannya tidak terdiri daripada item utama dengan beberapa susunan kunci, tetapi penggunaannya perlu diperiksa berkenaan dengan keperluan.
- Kerumitan masa berkenaan dengan pengiraan Isih keluar sebagai O (n+l), dengan n ialah bilangan elemen dan l ialah julat untuk mempertimbangkan input.
- Selain itu, ruang tambahan adalah O(n+l) sahaja.
Contoh Pengiraan isihan dalam java
Atur cara ini menunjukkan isihan mengira dengan mempertimbangkan beberapa urutan input dan output yang ditetapkan sebagai sebahagian daripada isihan dalam Java.
Kod:
public class Counting_Sort_1{
void sort_0(char arr_0[])
{
int n_8 = arr_0.length;
char output_val[] = new char[n_8];
int count_0[] = new int[528];
for (int l_0 = 0; l_0 < 528; ++l_0)
count_0[l_0] = 0;
for (int y_1 = 0; y_1 < n_8; ++y_1)
++count_0[arr_0[y_1]];
for (int l_0 = 1; l_0 <= 526; ++l_0)
count_0[l_0] += count_0[l_0 - 1];
for (int l_0 = n_8 - 1; l_0 >= 0; l_0--) {
output_val[count_0[arr_0[l_0]] - 1] = arr_0[l_0];
--count_0[arr_0[l_0]];
}
for (int l_0 = 0; l_0 < n_8; ++l_0)
arr_0[l_0] = output_val[l_0];
}
public static void main(String []args){
Counting_Sort_1 ob = new Counting_Sort_1();
char arr_0[] = { 's', 'a', 'r', 'c', 's', 'f', 'o',
'i', 'n', 'c', 'a', 'r', 'm' };
ob.sort_0(arr_0);
System.out.print("Sorted_character_array_in_Counting_Sort ");
for (int l = 0; l < arr_0.length; ++l)
System.out.print(arr_0[l]);
}
}
Output:
Penjelasan
Dalam contoh di atas, kami telah melaksanakan jenis pengiraan di Java di mana langkah berikut telah diikuti untuk pelaksanaan yang betul:
- Kelas dengan Selection_Sort_0 dibuat kemudian mengikut set input kepada kelas.
- Setelah kelas dibuat, maka kaedah telah dibuat untuk menyimpan tatasusunan aksara yang akan mempunyai tatasusunan diisih.
- Penciptaan tatasusunan kiraan dengan rasa menyimpan nilai sebagai entiti bebas dalam bentuk kunci dan pasangan nilai seterusnya disimpan dalam bentuk aksara sebagai kiraan.
- Perubahan dalam kiraan diperlukan untuk mengira nilai sebenar dan kedudukan aksara semasa dalam tatasusunan output.
- Membina tatasusunan output dengan set aksara untuk menjadikannya stabil dan boleh dikendalikan dalam susunan terbalik.
- Menyalin tatasusunan yang diisih ke tatasusunan semasa untuk menyusun tatasusunan dalam beberapa cara atau sebaliknya.
- Kod Pemandu dilaksanakan untuk memacu keseluruhan pangkalan kod lebih jauh untuk mendapatkan output daripada sumber input.
Kesimpulan
Isih mengira ialah sejenis algoritma pengisihan yang digunakan pada tatasusunan yang terdiri daripada julat elemen untuk pengisihan. Pengisihan akan berdasarkan pasangan kunci dan nilai yang akan hadir dalam tatasusunan atau perbezaan nilai minimum atau nilai maksimum. Pengisihan Mengira telah memberikan banyak bantuan kepada pembangun apabila keperluan datang untuk pelaksanaan menggunakan nombor integer secara pukal.
Atas ialah kandungan terperinci Mengira jenis dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!