Cara Menggunakan Pengurutan Seleksi

Cara Menggunakan Pengurutan Seleksi

Sortir pilihan adalah teknik pengurutan yang memilih item daftar dan kemudian menukar tempatnya dengan yang lain. Itu memilih item terbesar dan kemudian menukarnya dengan item dalam indeks tertinggi dari daftar.





Algoritme melakukan ini berulang kali hingga daftar diurutkan. Jika Anda tidak yakin bagaimana cara kerja pengurutan seleksi, Anda telah datang ke tempat yang tepat. Kami akan menjelaskannya secara lebih mendalam di bawah ini, bersama dengan menunjukkan kepada Anda sebuah contoh.





Sortir Seleksi: Pandangan Lebih Dekat

Misalkan Anda memiliki daftar: [39, 82, 2, 51, 30, 42, 7]. Untuk mengurutkan daftar menggunakan sortir pilihan, Anda harus terlebih dahulu menemukan angka tertinggi di dalamnya.





Dengan daftar yang diberikan, angka itu adalah 82. Tukar 82 dengan angka dalam indeks tertinggi (yaitu, 7).

Setelah pass pertama, urutan daftar baru adalah: [39, 7, 2, 51, 30, 42, 82]. Setiap kali algoritma melewati seluruh daftar, itu disebut 'lulus'.



Perhatikan bahwa daftar mempertahankan subdaftar yang diurutkan dan subdaftar yang tidak disortir selama proses penyortiran.

pengisian daya telepon tetapi tidak menyala

Terkait: Apa itu Notasi Big-O?





Daftar asli dimulai dengan daftar nol item yang diurutkan dan daftar semua item yang tidak disortir. Kemudian setelah lulus pertama, ia memiliki daftar yang diurutkan hanya memiliki nomor 82.

Pada pass kedua, angka tertinggi dalam sublist yang tidak disortir adalah 51. Angka ini akan ditukar dengan 42 untuk memberikan urutan daftar baru di bawah ini:





hal-hal keren yang bisa dilakukan dengan raspberry pi

[39, 7, 2, 42, 30, 51, 82].

Proses ini diulang sampai seluruh daftar diurutkan. Gambar di bawah ini merangkum seluruh proses:

Angka yang dicetak tebal hitam menunjukkan nilai daftar tertinggi saat itu. Yang berwarna hijau menunjukkan sublist yang diurutkan.

Analisis Algoritma

Untuk mendapatkan kompleksitas (menggunakan notasi Big-O) dari algoritma ini, ikuti di bawah ini:

Pada lintasan pertama, (n-1) perbandingan dibuat. Pada lintasan kedua, (n-2). Pada lintasan ketiga, (n-3) dan seterusnya hingga lintasan (n-1) yang hanya membuat satu perbandingan.

Menyimpulkan perbandingan seperti di bawah ini memberikan:

(n-1)+ (n-1)+ (n-1)+...+1 = ((n-1)n)/2.

Oleh karena itu jenis seleksi adalah O(n2).

Implementasi Kode

Kode menunjukkan fungsi yang dapat Anda gunakan untuk melakukan pengurutan pemilihan menggunakan Python dan Java.

ular piton:

def selectionSort(mylist):
for x in range(len(mylist) - 1, 0, -1):
max_idx = 0
for posn in range(1, x + 1):
if mylist[posn] > mylist[max_idx]:
max_idx = posn
temp = mylist[x]
mylist[x] = mylist[max_idx]
mylist[max_idx] = temp

Jawa:

void selectionSort(int my_array[]){
for (int x = 0; x {
int index = x;
for (int y = x + 1; y if (my_array[y] index = y; // find lowest index
}
}
int temp = my_array[index]; // temp is a temporary storage
my_array[index] = my_array[x];
my_array[x] = temp;
}}

Pindah Dari Sortir Seleksi ke Sortir Gabung

Seperti yang ditunjukkan oleh analisis algoritma di atas, algoritma pengurutan seleksi adalah O(n2). Ini memiliki kompleksitas eksponensial dan karena itu tidak efisien untuk kumpulan data yang sangat besar.

kurangi ukuran file video windows 10

Algoritma yang jauh lebih baik untuk digunakan adalah merge sort dengan kompleksitas O(nlogn). Dan sekarang Anda tahu cara kerja pengurutan seleksi, selanjutnya pada daftar studi Anda untuk algoritme pengurutan adalah pengurutan gabungan.

Membagikan Membagikan Menciak Surel 8 Situs Web Terbaik untuk Mengunduh Buku Audio Gratis

Buku audio adalah sumber hiburan yang hebat, dan lebih mudah dicerna. Berikut adalah delapan situs web terbaik tempat Anda dapat mengunduhnya secara gratis.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • Pemrograman
  • algoritma
Tentang Penulis Jerome Davidson(22 Artikel Diterbitkan)

Jerome adalah Staf Penulis di MakeUseOf. Dia meliput artikel tentang Pemrograman dan Linux. Dia juga penggemar kripto dan selalu mengawasi industri kripto.

More From Jerome Davidson

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan