KomputerProgramming

Quicksort salaku padika programming

Dina 1960, K. A. Hoar dimekarkeun metoda pikeun nu asihan gancang inpormasi, janten nu kawentar. Dinten eta loba dipaké di programming, sabab geus loba sipat positif: eta bisa dipake pikeun kasus umum, merlukeun paningkatan leutik dina mémori tambahan, cocog sareng tipena béda béréndélan sarta gampang pikeun diimplementasikeun. Tapi aya drawbacks, nu boga Quicksort: ngagunakeun karya diwenangkeun loba kasalahan, sarta éta rada stabil.

Sanajan kitu, éta versi paling neuleuman. Sanggeus Hoare mayar heula, loba ngalakukeun study padet na. base badag ieu didirikeun dina patarosan teoritis ngeunaan nyungsi wanci spent dina proyék nu geus underpinned ku bukti empiris. Aya usulan nyata pikeun ngaronjatkeun algoritma dasar na speed ngaronjat.

Quicksort pisan umum, bisa kapanggih unggal madhab. Dina dasar na metoda ieu dilaksanakeun TList.Sort, hadir dina sagala versi (iwal 1) Delphi, fungsi perpustakaan waktos eta nyandak kana ngalengkepan, qsort di C ++.

Prinsip dasar operasi bisa ngarumuskeun salaku "ngabagi sarta nalukkeun". Ieu lumangsung megatkeun daftar kana dua grup na aya dumasar pikeun tiap bagian ku sorangan. Hal ieu nuturkeun yen perhatian leuwih kudu dibayar ka prosés separation, salila nu lumangsung di handap: ditangtukeun ku unsur basa jeung geus kawilang disusun sakabéh daftar Na. Diwangun jeung kénca grup caleg, ajén tina nu kirang ti sagala aturan transperna lianna. Tétéla yén unsur utama dina daptar dumasar aya dina tempat rightful na. Tahap hareup - tangtangan fungsi asihan recursive boh sisi elemen relatif ka dasarna. Ieu ends prosés nu gawéna ukur lamun daftar ngandung ngan hiji unsur, nyaeta bisa disusun. Ku kituna, dina urutan ngawasaan fungsi programming salaku diurutkeun rusuh, perlu uninga karya algoritma-tingkat handap: a) pilihan tina anggota basa; b) mangrupa daptar nu permutation paling éféktif pikeun ngahasilkeun dua sét ku nilai leutik sarta leuwih badag.

Familiarize kalawan prinsip kahiji. Lamun milih ka anggota basa, kedah ideally dipilih ti daptar rata. Lajeng kana tatakrama dibagi jadi dua halves sarua. Ngan ngitung nilai average dina daptar nu hésé pisan, jadi sanajan éta asihan panggancangna bypasses samping kalkulus ieu. Tapi pilihan unsur dasar jeung nilai maksimum atawa minimum - ogé teu pilihan pangalusna. Bisi tekad misalna hiji nyiptakeun bakal dijamin béréndélan kosong, sarta pinuh kadua. Mangkana kacindekan yén salaku anggota base kudu dipilih hiji anu geus ngadeukeutan ka rata, tapi dina maksimum sarta minimum.

Sakali pilihan a ditangtukeun, anjeun tiasa lumangsungna algoritma dékomposisi. Ieu disebut puteran jero diurutkeun gancang. Sagalana geus diwangun dina dua indexes Aksés Rapid: mimiti buka leuwih unsur ti kénca ka katuhu, nu kadua, sabalikna, ti katuhu ka kenca. Dimimitian palaksanaan operasi katuhu: indéks aya dina daptar tur ngabandingkeun sakabeh nilai ka utama. siklus geus réngsé nalika unsur nyaéta kurang atawa sarua jeung dasar nu. Hartina, aya perbandingan sarta nurun nilai indéks dina. Di sisi kénca nalika karya rengse gede ti atanapi nilai sarua. Di dieu, dina nilai ngabandingkeun nambahan.

Dina tahap ieu algoritma ngabagi nu ngandung quicksort, dua kaayaan bisa hudang. Kahiji nyaeta yén indéks dina kénca URANG SUNDA ti katuhu. Ieu nunjukkeun hiji kasalahan, teras aya elemen dina nu ieu nyatakeun dina daptar nu aya dina urutan salah. Kaluaran - ngarobah tempat maranéhanana. Kaayaan kadua nalika duanana kolom sarua atawa meuntas. Ieu nunjukkeun pemisahan sukses daftar, nyéta, karya téh kiwari lengkep.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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