KomputerProgramming

Quicksort minangka cara program

Ing taun 1960, K. A. Hoar dikembangaké cara kanggo ngurutake kanthi cepet saka informasi, dadi paling misuwur. Dina iki digunakake digunakake ing komputer, minangka wis akèh situs positif: bisa digunakake kanggo kasus umum, iku mbutuhake paningkatan cilik ing memori tambahan, kompatibel karo macem-macem jinis dhaptar lan gampang kanggo ngleksanakake. Nanging ana drawbacks, kang wis Quicksort: nggunakake karya diijini akèh kesalahane, lan iku Luwih stabil.

Nanging, iku versi paling sinau. Sawisé Hoare pembayaran pisanan, akeh apa sinau padhet. basa gedhe iki diadegaké ing pitakonan teori nemokake wektu ngginakaken ing proyek, kang underpinned dening bukti empiris. Ana usulan-usulan nyata kanggo nambah algoritma dhasar lan kacepetan tambah.

Quicksort banget umum, bisa ketemu nang endi wae. Sawijining basis cara punika dipun ginakaken TList.Sort, saiki ing kabeh versi (kajaba 1) Delphi, fungsi perpustakaan wektu iku njupuk kanggo ngrampungake, qsort ing C ++.

Ing asas dhasar saka operasi bisa dirumuske minangka "dibagi lan digdaya". Nanging occurs bejat dhaftar dadi rong klompok lan sing diurutake kanggo saben bagean dhewe. Nderek sing luwih manungsa waé kudu mbayar kanggo proses misahake, sajrone ana ing ngisor iki: ditemtokake dening unsur basa lan wis relatif rearranged kabeh dhaftar kang. Dibangun ing sisih kiwa saka klompok calon, nilai kang kurang saka kabeh aturan transfer liyane. Pranyata metu sing unsur utama ing dhaptar sing diurutake ing papan ingkang mulya punika. Tahap sabanjure - tantangan fungsi ngurutake rekursif kanggo loro-lorone saka unsur relatif kanggo dasar. Iku ends proses dianggo mung yen dhaftar namung siji unsur, sing diurut. Mangkono, supaya Master fungsi program minangka urutan cepet, iku perlu ngerti karya kalkulus murah-tingkat: a) pilihan saka anggota basa; b) dhaptar permutation paling efektif kanggo gawé loro set karo nilai cilik lan luwih gedhe.

Familiarize karo prinsip pisanan. Nalika milih anggota basa, kudu saenipun milih saka dhaftar rata-rata. Banjur ing break dipérang dadi loro halves witjaksono. Mung ngetung Nilai rata ing dhaftar banget angel, supaya malah ngurutake paling cepet ngliwati sisih kalkulus iki. Nanging pilihan saka unsur dhasar karo nilai maksimum utawa minimal - uga ora pilihan sing paling apik. Ing kasus netepake kuwi siji nggawe bakal dijamin dhaptar kosong, lan wutuh. Empu kesimpulan sing minangka anggota basa kudu milih salah siji sing nyedhaki sing rata-rata, nanging ing maksimum lan minimum.

Sawise pilihan wis ditemtokake, sampeyan bisa nerusake kanggo algoritma bosok. Iki supaya disebut-puteran utama Urut cepet. Kabeh wis dibangun ing loro indeks Akses cepet: pisanan mbukak liwat unsur saka kiwa menyang tengen, kaloro, ing nalisir, saka tengen ngiwa. Wiwit execution operasi tengen: indeks ing dhaftar lan mbandhingaké kabeh nilai kanggo utama. siklus lengkap nalika unsur kurang saka utawa witjaksono kanggo garis dasar ing. Sing, ana comparison lan sudo ing Nilai saka indeks. Ing tangan kiwa nalika karya wis rampung luwih saka utawa nilai witjaksono. Kene, nilai comparison mundhak.

Ing tataran iki algoritma pembagian kang duwèni quicksort, loro kahanan uga njedhul. Pisanan iku indeks ing sisih kiwa kurang saka tengen. Iki nuduhake kesalahan, banjur ana unsur ing kang iki nyatakake ing dhaftar ana ing urutan salah. Output - ngganti panggonan. Ing kahanan liya nalika loro kolom punika witjaksono kanggo utawa nyabrang. Iki nuduhake misahake sukses saka dhaftar, sing, karya Saiki.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 jw.atomiyme.com. Theme powered by WordPress.