Bagaimana Cara Melaksanakan Program Susun Radix Terbaik di C?



Artikel ini akan memperkenalkan anda kepada Radix Sort Program In C dan ikuti demonstrasi terprogram untuk pemahaman yang lebih baik.

Artikel ini akan memperkenalkan Radix Sort dan memberitahu anda bagaimana melaksanakan Radix Sort dalam C. Petunjuk berikut akan dibahas dalam artikel ini,

Oleh itu, mari kita mulakan,





Dengan kata mudah, menyusun bermaksud mengatur unsur-unsur yang diberikan dalam susunan yang sistematik. Pengisihan dilakukan di sebahagian besar algoritma kerana menjadikan carian lebih mudah yang akhirnya menjadikan algoritma menjadi cekap. Di blog ini kita akan memahami salah satu algoritma penyerapan yang biasa digunakan iaitu Radix sort.

Radix sort adalah algoritma penyusun integer bukan perbandingan. Ia melakukan digit dengan pengisihan digit bermula dari digit yang paling tidak signifikan (iaitu digit yang ada di sebelah kanan) hingga digit yang paling signifikan (iaitu digit yang ada di sebelah kiri). Urutan Radix menggunakan pengiraan sebagai subrutin untuk disusun.
Batas bawah untuk algoritma penyortiran berdasarkan Perbandingan (seperti Heap sort, Quick Sort, Merge Sort) adalah & Omega (nLogn), dan ia tidak dapat ditingkatkan melebihi nLogn. Sekiranya kita bercakap mengenai pengiraan pengiraan, itu adalah algoritma penyortiran masa linear dengan kerumitan masa O (n + k), di mana julatnya terletak antara 1 hingga k. Sekarang, masalah dengan mengira adalah, ia memerlukan O (n2) apabila elemennya berkisar antara 1 hingga n2.



Oleh itu, untuk menyusun susunan dengan unsur-unsur yang berkisar antara 1 hingga n2 dalam masa linear, kita memerlukan pengisihan radix. Radix sort menyusun digit array mengikut digit bermula dari digit paling kecil hingga digit paling signifikan. Urutan Radix menggunakan pengiraan sebagai subrutin untuk disusun.

Melanjutkan dengan artikel ini mengenai Program Susun Radix Di C,

Algoritma Susun Radix

Lakukan langkah-langkah berikut untuk semua digit bermula dari digit paling penting yang terdapat di kanan, bergerak ke arah digit yang paling signifikan yang terdapat di kiri.



Isih elemen menggunakan pengiraan mengikut digit semasa.
Contoh:

Susunan Asal:
140, 65, 85, 110, 612, 54, 12, 86

Menyusun digit paling tidak signifikan iaitu di satu tempat, memberi

140, 110, 612, 12, 54, 65, 85, 86

CATATAN: Seperti 612 muncul sebelum 12, dan penyortiran dilakukan hanya untuk satu digit, oleh itu 612 muncul sebelum 12 selepas lelaran ini.

Menyusun mengikut digit seterusnya, iaitu di tempat 10-an, memberikan:

110, 612, 12, 140, 54, 65, 85, 86

Menyusun mengikut digit yang paling signifikan, iaitu hadir di tempat 100-an, memberikan:

012, 054, 065, 085, 086, 110, 140, 612

Melanjutkan dengan artikel ini mengenai Program Susun Radix Di C,

Program Susun Radix Di C

Mula-mula melihat fungsi sort Radix

Fungsi Susun Radix:

void radixsort (int array [], int n) {// Dapatkan nombor terbesar untuk mengetahui bilangan digit maksimum int m = getMax (array, n) int dig // Urutan pengiraan dilakukan untuk setiap digit untuk (dig = 1 m / dig> 0 dig * = 10) kiraanSort (susunan, n, gali)}

Melanjutkan dengan artikel ini mengenai Program Susun Radix Di C,

array php print_r

Fungsi Pengiraan Kira:

void countSort (int array [], int n, int dig) {int output [n] int i, count [10] = {0} // Simpan bilangan kejadian dalam hitungan [] untuk (i = 0 i= 0 i--) {output [count [(array [i] / dig)% 10] - 1] = array [i] hitung [(array [i] / dig)% 10] -} // Salin array output ke arr [], sehingga arr [] sekarang // mengandungi nombor yang disusun mengikut digit semasa untuk (i = 0 i

Maju ke depan, mari kita menulis program C untuk menerapkan jenis Radix.

Contoh:

#include // Fungsi untuk mencari Nombor Terbesar int getMax (int array [], int n) {int max = array [0] int i untuk (i = 1 i max) max = array [i] return max} // Fungsi untuk Count mengira void countSort (int array [], int n, int dig) {int output [n] int i, count [10] = {0} // Kira jumlah kejadian dalam hitungan [] untuk (i = 0 i= 0 i--) {output [count [(array [i] / dig)% 10] - 1] = array [i] hitung [(array [i] / dig)% 10] -} // Salin output array ke arr [], sehingga arr [] sekarang // mengandungi nombor yang disusun mengikut digit semasa untuk (i = 0 i 0 dig * = 10) countSort (array, n, dig)} // Fungsi untuk Mencetak Array batal cetak (int arr [], int n) {int i untuk (i = 0 i

Pengeluaran

Output- Program Susun Radix di C- Edureka

Sekarang setelah melaksanakan program di atas, Anda akan memahami Program Urutkan Radix Di C. Oleh itu, kami telah mengakhiri artikel ini mengenai 'Quicksort in Java'. Sekiranya anda ingin mengetahui lebih lanjut, lihat di , syarikat pembelajaran dalam talian yang dipercayai. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.