7 algoritma pemasangan yang biasa digunakan (menulis strategi yang biasa digunakan)

Penulis:Mimpi kecil, Dicipta: 2016-12-06 10:23:16, Dikemas kini:

7 Algoritma Pengaturcaraan yang Sering Digunakan

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

  • 1. Pengaturcaraan pantas

    Perkenalkan: Pengaturcaraan cepat adalah algoritma pengaturcaraan yang dibangunkan oleh Tony Hall. Dalam keadaan purata, pengaturcaraan n item memerlukan O (n) log n perbandingan. Dalam keadaan terburuk, pengaturcaraan O (n) log n perbandingan diperlukan, tetapi keadaan ini tidak biasa. Sebenarnya, pengaturcaraan cepat biasanya jauh lebih cepat daripada algoritma O (n) log n lain kerana gelung dalamannya dapat dilaksanakan dengan cekap di kebanyakan struktur, dan dalam kebanyakan data dunia nyata, pilihan reka bentuk boleh ditentukan, mengurangkan kemungkinan masa yang diperlukan untuk item kedua. Langkah: Mengambil satu elemen dari barisan nombor, yang dikenali sebagai pivot, Mengurutkan semula barisan nombor, semua elemen yang lebih kecil daripada nilai rujukan diletakkan di hadapan rujukan, dan semua elemen yang lebih besar daripada nilai rujukan diletakkan di belakang rujukan (jumlah yang sama boleh pergi ke mana-mana sisi); selepas pembahagian ini keluar, rujukan berada di tengah barisan; ini dipanggil operasi pembahagian (partition). Recursive (recursive): Mengurutkan sub-unsur yang mempunyai unsur yang lebih kecil daripada nilai rujukan dan sub-unsur yang mempunyai unsur yang lebih besar daripada nilai rujukan. Kesan susunan:img

  • 2. Pengelompokan

    Perkenalkan: Merge sort adalah satu algoritma pengaturcaraan yang berkesan yang dibina di atas operasi pengaturcaraan. Algoritma ini adalah satu aplikasi yang sangat tipikal menggunakan kaedah pembahagian dan menakluk. Langkah: Ruang permohonan, sehingga saiznya sama dengan jumlah dua siri yang telah diurutkan, ruang ini digunakan untuk menyimpan siri yang digabungkan Tetapkan dua penunjuk dengan kedudukan awal masing-masing sebagai kedudukan permulaan dua siri yang telah diurutkan Bandingkan elemen yang ditunjuk oleh dua penunjuk, pilih elemen yang agak kecil, masukkan ke ruang gabungan, dan pindahkan penunjuk ke kedudukan seterusnya Ulangi langkah 3 sehingga satu penunjuk mencapai hujung siri Menyalin semua elemen yang tersisa dalam satu siri lain secara langsung ke hujung siri gabungan Kesan susunan:img

  • 3. Pengaturcaraan tumpukan

    Perkenalkan: Heapsort adalah satu algoritma yang direka untuk menggunakan struktur data seperti heaps. Heapsort adalah struktur yang hampir sama dengan pokok binari dan juga memenuhi sifat heaps: iaitu nilai kunci atau indeks titik anak sentiasa kurang daripada (atau lebih besar daripada) titik induknya. Langkah: (Melainkan lebih rumit, cari sendiri di internet) Kesan susunan:img

  • 4. Pilih susunan

    Perkenalkan: Pemilihan susunan (Selection sort) adalah algoritma susunan yang mudah dan intuitif. Ia berfungsi sebagai berikut. Pertama, cari elemen terkecil dalam susunan yang tidak disusun, simpan ke tempat permulaan susunan, kemudian terus mencari elemen terkecil dari elemen yang tidak disusun yang tinggal, dan letakkan pada akhir susunan; dan seterusnya sehingga semua elemen disusun sepenuhnya. Kesan susunan:img

  • 5. Pengatur Buangan

    Perkenalkan: Urutan gelembung (Bahasa Taiwan: Bubble Sort) adalah satu algoritma penyortiran yang mudah. Ia berulang kali melawat barisan nombor yang akan diurutkan, membandingkan dua elemen sekali, dan menukar mereka jika urutan mereka salah. Pekerjaan menyortir barisan nombor dilakukan berulang kali sehingga tidak perlu menukar lagi, iaitu barisan telah disusun. Langkah: Elemen yang berdekatan. Jika yang pertama lebih besar daripada yang kedua, tukar kedua-duanya. Lakukan kerja yang sama untuk setiap pasangan elemen berdekatan, dari permulaan pasangan pertama hingga akhir pasangan terakhir. Pada titik ini, elemen terakhir harus menjadi nombor terbesar. Ulangi langkah di atas untuk semua elemen kecuali yang terakhir. Teruskan mengulangi langkah-langkah di atas untuk elemen yang semakin sedikit sehingga tidak ada pasangan nombor yang perlu dibandingkan. Kesan susunan:img

  • 6. Masukkan susunan

    Perkenalkan: Deskripsi algoritma Sort Insertion adalah algoritma penyortiran yang mudah dan intuitif. Ia berfungsi dengan membina satu siri yang disusun, untuk data yang tidak disusun, mengimbas ke hadapan dalam siri yang disusun, mencari lokasi yang sesuai dan menyortir. Sort Insertion dalam pelaksanaan biasanya menggunakan susunan di tempat (iaitu hanya menggunakan susunan ruang tambahan hingga O) 1) kerana dalam proses mengimbas ke hadapan, perlu berulang kali menggerakkan elemen yang disusun secara beransur-ansur untuk memberi ruang penyortiran kepada elemen terbaru. Langkah: Bermula dari unsur pertama, unsur itu boleh dianggap telah diurutkan Mengambil elemen seterusnya dan mengimbas ke hadapan dalam siri elemen yang telah diurutkan Jika elemen tersebut (yang telah diurutkan) lebih besar daripada elemen baru, pindahkan elemen tersebut ke kedudukan seterusnya Ulangi langkah 3 sehingga anda menemui kedudukan elemen yang telah diurutkan kurang daripada atau sama dengan elemen baru Masukkan elemen baru ke dalam lokasi Ulangi langkah 2. Kesan susunan: (Tidak ada)

  • 7. Penentuan Hill

    Perkenalkan: Pengaturcaraan Hill, juga dikenali sebagai algoritma pengaturcaraan kenaikan penurunan, adalah versi yang dipertingkatkan dan stabil dari pengaturcaraan kemasukan. Pengaturcaraan Hill telah mencadangkan kaedah penambahbaikan berdasarkan sifat dua perkara berikut: 1, menyertakan susunan adalah berkesan apabila ia digunakan untuk data yang hampir disusun, iaitu mencapai kecekapan susunan linear 2, tetapi penyusunan penyusunan biasanya tidak berkesan, kerana penyusunan penyusunan hanya akan memindahkan satu data setiap kaliimg

Saya paling sering menggunakan cara yang paling mudah, bagaimana dengan anda?


Lebih lanjut

Kekuatan KuantitiMenemui beberapa kod algoritma pemesanan JavaScript https://www.w3cschool.cn/wqcota/

Kekuatan KuantitiTerima kasih, Kop.