Cara Menggunakan Urutan Pemilihan

Cara Menggunakan Urutan Pemilihan

Selection sort adalah teknik penyortiran yang memilih item senarai dan kemudian menukar tempatnya dengan yang lain. Ia memilih item terbesar dan kemudian menukarnya dengan item dalam indeks tertinggi dalam senarai.





Algoritma melakukan ini berulang kali sehingga senarai disusun. Sekiranya anda tidak pasti bagaimana cara kerja pemilihan, anda sudah sampai di tempat yang betul. Kami akan menerangkannya dengan lebih mendalam di bawah, bersama dengan menunjukkan contoh kepada anda.





Susun Pilihan: Pandangan Lebih Dekat

Katakan anda mempunyai senarai: [39, 82, 2, 51, 30, 42, 7]. Untuk menyusun senarai menggunakan pilihan pilihan, anda mesti terlebih dahulu mencari nombor tertinggi di dalamnya.





Dengan senarai yang diberikan, angka itu adalah 82. Tukar 82 dengan nombor dalam indeks tertinggi (iaitu, 7).

Selepas hantaran pertama, susunan senarai baru akan menjadi: [39, 7, 2, 51, 30, 42, 82]. Setiap kali algoritma melalui keseluruhan senarai, itu disebut 'lulus'.



Perhatikan bahawa senarai tersebut mengekalkan senarai yang disusun dan senarai yang tidak disusun semasa proses menyusun.

cara memindahkan kunci produk windows 10

Berkaitan: Apa itu Notasi Big-O?





Senarai asalnya bermula dengan senarai item sifar yang disusun dan senarai semua item yang tidak disusun. Kemudian setelah hantaran pertama, ia mempunyai senarai yang disusun yang hanya mempunyai nombor 82.

Pada hantaran kedua, nombor tertinggi dalam senarai tidak disusun adalah 51. Nombor ini akan ditukar dengan 42 untuk memberi pesanan senarai baru di bawah:





cara menyambungkan telefon ke komputer

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

Proses diulang sehingga keseluruhan senarai disusun. Gambar di bawah merangkum keseluruhan proses:

Nombor dalam warna hitam tebal menunjukkan nilai senarai tertinggi pada masa itu. Mereka yang berwarna hijau menunjukkan senarai yang disusun.

Analisis Algoritma

Untuk mendapatkan kerumitan (menggunakan notasi Big-O) algoritma ini, ikuti langkah berikut:

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

Merumuskan perbandingan seperti di bawah memberikan:

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

Oleh itu pemilihan jenis adalah O (n2).

Pelaksanaan Kod

Kod menunjukkan fungsi yang boleh anda gunakan untuk melakukan pemilihan jenis menggunakan Python dan Java.

Python:

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;
}}

Bergerak Dari Seleksi Pilih ke Gabungan Urutkan

Seperti yang ditunjukkan oleh analisis algoritma di atas, algoritma urutan pemilihan adalah O (n2). Ia mempunyai kerumitan eksponensial dan oleh itu tidak cekap untuk set data yang sangat besar.

senarai tetingkap program yang dipasang 10

Algoritma yang lebih baik untuk digunakan adalah penggabungan jenis dengan kerumitan O (nlogn). Dan sekarang anda tahu bagaimana kaedah pemilihan berfungsi, seterusnya dalam senarai kajian anda untuk algoritma penyortiran mestilah jenis penggabungan.

Berkongsi Berkongsi Tweet E-mel 8 laman web terbaik untuk memuat turun buku audio secara percuma

Buku audio adalah sumber hiburan yang hebat, dan lebih mudah dicerna. Berikut adalah lapan laman web terbaik di mana anda boleh memuat turunnya secara percuma.

Baca Seterusnya
Topik-topik yang berkaitan
  • Pengaturcaraan
  • Pengaturcaraan
  • Algoritma
Mengenai Pengarang Jerome Davidson(22 Artikel Diterbitkan)

Jerome adalah Penulis Kakitangan di MakeUseOf. Dia merangkumi artikel mengenai Pengaturcaraan dan Linux. Dia juga peminat crypto dan selalu mengawasi industri crypto.

Lagi Dari Jerome Davidson

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan