Rumah Kewangan Peribadi Bagaimana Teknik Quicksort dalam Java Work? - dummies

Bagaimana Teknik Quicksort dalam Java Work? - dummies

Video: Quick Sort dalam Java 2025

Video: Quick Sort dalam Java 2025
Anonim

Di sini, anda mengetahui bagaimana salah satu teknik penyortiran yang paling biasa digunakan di Java sebenarnya berfungsi. Teknik ini dipanggil Quicksort, dan penggunaan rekursion sangat bijak.

Bagi kebanyakan kita, memikirkan bagaimana algoritma pengurutan seperti kerja Quicksort hanyalah latihan intelektual. Java API telah menyusun telah dibina.

Teknik Quicksort menyusun pelbagai nilai dengan menggunakan rekursi. Langkah-langkah asasnya ialah:

  1. Pilih nilai sewenang-wenang yang terletak dalam julat nilai dalam array.

    Nilai ini ialah titik pangsi . Cara yang paling biasa untuk memilih titik pivot ialah memilih nilai pertama dalam array. Orang ramai telah menulis ijazah kedoktoran dengan cara yang lebih canggih untuk memilih titik pivot yang menyebabkan penyisihan lebih cepat. Stick dengan menggunakan elemen pertama dalam array.

  2. Susun semula nilai-nilai dalam array supaya semua nilai yang kurang daripada titik pangsi berada di sebelah kiri array dan semua nilai yang lebih besar atau sama dengan titik pangsi berada di sebelah kanan pelbagai.

    Nilai pangsi menandakan sempadan antara sebelah kiri dan sisi kanan array. Ia mungkin tidak akan mati, tetapi itu tidak penting. Langkah ini dipanggil partitioning, dan sisi kiri dan kanan array itu partition.

  3. Sekarang rawat setiap dua bahagian array sebagai array berasingan, dan mulakan dengan Langkah 1 untuk bahagian itu.

    Itulah sebahagian rekursif algoritma.

Bahagian paling sukar dari algoritma Quicksort adalah langkah pembahagian, yang mesti menyusun semula partition supaya semua nilai yang lebih kecil daripada titik pivot berada di sebelah kiri dan semua elemen yang lebih besar daripada pivot titik di sebelah kanan. Katakan bahawa array mempunyai sepuluh nilai ini:

38 17 58 22 69 31 88 28 86 12

Di sini titik pangsi ialah 38, dan tugas langkah partitioning adalah untuk menyusun semula array kepada sesuatu seperti ini: < 17 12 22 28 31 38 88 69 86 58

Perhatikan bahawa nilai-nilai masih tidak teratur. Arahan itu, bagaimanapun, telah dibahagi di sekitar nilai 38: Semua nilai yang kurang daripada 38 adalah di sebelah kiri 38, dan semua nilai yang lebih besar daripada 38 adalah di sebelah kanan 38.

Sekarang anda boleh membahagikan array menjadi dua partition pada nilai 38 dan ulangi proses untuk setiap sisi. Nilai pivot itu sendiri pergi dengan partition kiri, jadi partition kiri adalah ini:

17 12 22 28 31 38

Kali ini, langkah partitioning memilih 17 sebagai titik pivot dan menyusun semula unsur-unsur seperti berikut: > 12 17 22 28 31 38

Seperti yang anda dapat lihat, bahagian array ini disusun sekarang.Malangnya, Quicksort tidak menyedari bahawa pada masa ini, ia memerlukan lebih banyak rekursi untuk memastikan. Tetapi itulah proses asas.

Bagaimana Teknik Quicksort dalam Java Work? - dummies

Pilihan Editor

5 Perkara yang boleh dilakukan oleh GoPro Camera - dummies

5 Perkara yang boleh dilakukan oleh GoPro Camera - dummies

Apa yang boleh dilakukan oleh GoPro? Inilah soalan yang lebih relevan: Apa yang anda mahu lakukan? Meminta soalan ini lebih seperti menanyakan diri anda tentang keinginan dan hasrat anda sendiri untuk rakaman video yang unik. Apabila anda menentukan apa yang anda ingin tangkap, semua yang anda perlu lakukan ialah menyambungkan kamera ke gunung yang sesuai ...

Pengaturan & Pintasan dSLR Untuk Menipu Cheat Sheet - dummies

Pengaturan & Pintasan dSLR Untuk Menipu Cheat Sheet - dummies

Anda mempunyai refleks kanta tunggal digital yang besar (dSLR ) kamera dan mahu menangkap beberapa gambar indah masa-masa hidup anda. Untuk sepenuhnya menguasai dSLR anda dan membuat gambar yang menarik, anda mesti menceburkan diri ke dunia baru yang berani yang melibatkan membuat keputusan tentang mod penangkapan. Mengetahui panjang fokus apa yang digunakan dalam ...

Pilihan Editor

Bagaimana Menggunakan Lapisan Masker Gradient dan Brush Masker di Photoshop CS6 - lapisan masker

Bagaimana Menggunakan Lapisan Masker Gradient dan Brush Masker di Photoshop CS6 - lapisan masker

Lapisan lapisan di Photoshop CS6 membolehkan anda secara beransur-ansur berus dalam ketelusan dan kelegapan pada asas pixel selektif. Dua alat pelapis lapisan - Alat Gradien dan Brush - lebih kerap digunakan berbanding yang lain: Alat Gradien: Menetapkan alat ini kepada kecerunan linear hitam ke putih atau putih ke ...

Cara Menggunakan Kuler untuk Cari dan Kongsi Tema Warna di Photoshop CS6 - dummies

Cara Menggunakan Kuler untuk Cari dan Kongsi Tema Warna di Photoshop CS6 - dummies

Sumber yang tersedia untuk Adobe Photoshop Creative Suite 6 adalah luas. Kuler adalah komuniti dalam talian yang menyediakan tema warna untuk anda menyemak imbas, memuat turun, membuat, mengedit, dan memuat naik untuk berkongsi dengan orang lain. Gunakan tema ini apabila membuat projek cetak grafik atau laman web. Apa yang anda perlukan ialah sambungan Internet dan Adobe ID. Di sini ...

Cara Menggunakan Kata Kunci untuk Photoshop CS6 Files dalam Bridge - dummies

Cara Menggunakan Kata Kunci untuk Photoshop CS6 Files dalam Bridge - dummies

Kata kunci adalah label deskriptif yang anda lampirkan ke fail di Bridge. Mereka membantu untuk mengkategorikan imej Photoshop CS6 anda, membolehkan anda lebih cekap dan cepat mencari fail yang anda inginkan. Berikut adalah downside untuk membuat dan menggunakan kata kunci: Untuk membuat kata kunci baru (folder kategori yang mengandungi kata kunci): Klik ikon tanda tambah (+) ...

Pilihan Editor

Dengan Touch dengan Nota Reka bentuk - dummies

Dengan Touch dengan Nota Reka bentuk - dummies

Nota reka bentuk adalah sesuai untuk berkomunikasi dengan pemaju lain yang bekerja pada Laman web, tetapi tidak dalam jarak menjerit. Ciri Dreamweaver ini berfungsi seperti tag komen (kod HTML yang membolehkan anda memasukkan teks dalam halaman yang tidak akan dipaparkan dalam penyemak imbas) tetapi dengan privasi lebih banyak. Ramai pemaju menggunakan ...

Memenuhi Dreamweaver CS3 Common Insert Bar - dummies

Memenuhi Dreamweaver CS3 Common Insert Bar - dummies

Jangan berfikir bahawa toolbar Dreamweaver CS3 Common Insert biasa dan biasa. Ia hanya dipanggil "umum" kerana ia menawarkan perintah memasukkan yang paling kerap digunakan kerana ia adalah yang paling berguna. Dengan bilah alat yang ditunjukkan di sini, anda boleh memasukkan segala-galanya dari pautan e-mel kepada tarikh kepada mana-mana media yang ingin anda letakkan ...

Gambaran Keseluruhan Alignment Imej dalam Adobe CS5 Dreamweaver - dummies

Gambaran Keseluruhan Alignment Imej dalam Adobe CS5 Dreamweaver - dummies

Penjajaran imej dan teks bersebelahan mereka di Adobe Suite Creative 5 (Adobe CS5) Dreamweaver adalah mudah, tetapi pilihan yang ada mungkin membuat kelihatan terlalu rumit. Imej dan teks bersebelahan mereka duduk pada garis dasar yang sama sebagai lalai, memaksa teks berjalan dalam satu baris ke kanan imej. Untuk ...