avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

Pengalaman visual intuitif 7 algoritma pengisihan yang biasa digunakan (biasa digunakan untuk strategi menulis)

Dicipta dalam: 2016-12-06 10:23:16, dikemas kini pada:
comments   2
hits   1925

7 algoritma pengaturcaraan yang biasa digunakan

Apabila kita menulis strategi, kod program pasti akan menghadapi situasi yang memerlukan pengurutan data, jadi bagaimana kita boleh merancang program sains dengan perbelanjaan sistem minimum (waktu, sumber sistem)?

  • ### 1. Urutan pantas

Pengantar: Pengurutan pantas adalah algoritma pengurutan yang dibangunkan oleh Tony Hall. Dalam keadaan biasa, pengurutan n item memerlukan O (n log n) perbandingan. Dalam keadaan terburuk, ia memerlukan O (n) 2 perbandingan, tetapi ini tidak biasa. Langkah seterusnya: Pilih satu elemen dari susunan, yang dipanggil pivot (pivot) dan pilih satu elemen dari susunan yang dipanggil pivot. Susun semula susunan, semua elemen yang lebih kecil daripada nilai asas diletakkan di hadapan asas, dan semua elemen yang lebih besar daripada nilai asas diletakkan di belakang asas (dengan jumlah yang sama boleh ke mana-mana). Selepas keluar dari bahagian ini, asas itu berada di tengah-tengah susunan. Ini dipanggil operasi partisi (partition). Secara berulang ((recursive) susun susunan unsur-unsur yang lebih kecil daripada unsur-unsur asas dan lebih besar daripada unsur asas. Kesan pemasangan: Pengalaman visual intuitif 7 algoritma pengisihan yang biasa digunakan (biasa digunakan untuk strategi menulis)

  • ### 2. Penggabungan dan Pengurutan

Pengantar: Merge sort ialah algoritma pengurutan yang berkesan berdasarkan operasi penggabungan. Algoritma ini adalah aplikasi yang sangat tipikal yang menggunakan pembahagian dan menakluki. Langkah seterusnya: Ruang permohonan, yang ukurannya adalah jumlah dua urutan yang telah disusun, ruang ini digunakan untuk menyimpan urutan gabungan Tetapkan dua penunjuk, kedudukan asal masing-masing sebagai kedudukan awal dua urutan yang telah disusun Bandingkan elemen yang diarahkan oleh dua penunjuk, pilih elemen yang lebih kecil untuk dimasukkan ke ruang gabungan, dan gerakkan penunjuk ke kedudukan seterusnya Ulangi langkah 3 sehingga salah satu penunjuk mencapai akhir siri Menyalin semua elemen yang tinggal dari urutan lain secara langsung ke hujung urutan gabungan Kesan pemasangan: Pengalaman visual intuitif 7 algoritma pengisihan yang biasa digunakan (biasa digunakan untuk strategi menulis)

  • ### 3. Pengurutan tumpukan

Pengantar: Heapsort ialah satu jenis algoritma pengaturcaraan yang direka menggunakan struktur data seperti heap. Heap adalah struktur yang hampir sama dengan pokok binari yang lengkap, dan pada masa yang sama memenuhi sifat heap: iaitu nilai kunci atau indeks subnode selalu kurang daripada (atau lebih besar daripada) nod induknya. Langkah seterusnya: (Lebih rumit, cari sendiri di internet) Kesan pemasangan: Pengalaman visual intuitif 7 algoritma pengisihan yang biasa digunakan (biasa digunakan untuk strategi menulis)

  • ### 4. Pilih urutan

Pengantar: Pengatur pilihan ialah algoritma pengatur yang mudah dan intuitif. Ia berfungsi seperti berikut. Pertama, cari elemen terkecil dalam urutan yang tidak disusun, simpan ke kedudukan permulaan urutan, kemudian terus mencari elemen terkecil dari sisa unsur yang tidak disusun, dan kemudian masuk ke akhir urutan. Kesan pemasangan: Pengalaman visual intuitif 7 algoritma pengisihan yang biasa digunakan (biasa digunakan untuk strategi menulis)

  • ### 5. Bubble sorting

Pengantar: Bubble Sort ialah satu algoritma pengaturcaraan yang mudah. Ia berulang kali melawat nombor yang ingin disusun, sekali membandingkan dua elemen, dan menukarnya jika urutan mereka salah. Pekerjaan melawat nombor baris dilakukan berulang kali sehingga tidak perlu lagi pertukaran, iaitu, nombor baris telah disusun. Langkah seterusnya: Bandingkan unsur-unsur berdekatan. Jika yang pertama lebih besar daripada yang kedua, gantikan kedua-duanya. Buat kerja yang sama untuk setiap pasangan elemen berdekatan, dari pasangan pertama hingga pasangan terakhir. Pada ketika ini, elemen terakhir sepatutnya menjadi bilangan terbesar. Ulangi langkah-langkah di atas untuk semua elemen, kecuali yang terakhir. Ulangi langkah-langkah di atas untuk setiap elemen yang semakin sedikit sehingga tiada pasangan nombor yang perlu dibandingkan. Kesan pemasangan: Pengalaman visual intuitif 7 algoritma pengisihan yang biasa digunakan (biasa digunakan untuk strategi menulis)

  • ### 6. Penyerapan

Pengantar: Insertion Sort ialah algoritma pengaturcaraan yang mudah dan intuitif. Prinsip kerjanya ialah dengan membina urutan berurutan, untuk data yang tidak disusun, mengimbas dari belakang ke hadapan dalam urutan yang disusun, mencari kedudukan yang sesuai dan menyisipkannya. Pengurutan insersi dalam pelaksanaan, biasanya menggunakan pengurutan in-place (iaitu, pengurutan ruang tambahan yang hanya digunakan untuk O1), dan oleh itu dalam proses pengimbasan ke belakang, elemen yang telah disusun perlu dipindahkan berulang kali ke belakang, menyediakan ruang untuk elemen baru. Langkah seterusnya: Bermula dari elemen pertama, ia boleh dianggap sebagai unsur yang telah disusun. Mengambil elemen seterusnya dan mengimbas dari belakang ke hadapan dalam barisan elemen yang telah disusun Jika elemen ((tersusun) lebih besar daripada elemen baru, pindahkan elemen ke kedudukan seterusnya Ulangi langkah 3 sehingga anda dapati elemen yang telah diurutkan lebih kecil daripada atau sama dengan kedudukan elemen baru Masukkan elemen baru ke dalam kedudukan Ulangi langkah 2 Kesan pemasangan: (Tiada)

  • ### 7. Pelarasan Hill

Pengantar: Pengurutan Hill, juga dikenali sebagai algoritma pengurutan inkremental berkurangan, adalah versi penambahbaikan yang lebih pantas dan stabil untuk menyisipkan pengurutan. Pengurutan Hill mengusulkan kaedah penambahbaikan berdasarkan dua sifat pengurutan yang dimasukkan: 1. Penyusunan insert adalah cekap apabila ia digunakan untuk data yang hampir disusun dengan baik, iaitu ia boleh mencapai kecekapan penyusunan linear 2. Tetapi penyusunan penyusunan secara amnya tidak cekap kerana penyusunan penyusunan hanya boleh memindahkan satu data setiap kali. Pengalaman visual intuitif 7 algoritma pengisihan yang biasa digunakan (biasa digunakan untuk strategi menulis)

Saya lebih suka menggunakan kaedah berbuih (yang paling mudah), anda?