OrdinadorsProgramació

Ordenació ràpida com un mètode de programació

El 1960, K. A. Hoar va desenvolupar un mètode per a la classificació ràpida de la informació, es va convertir en el més famós. Avui dia és àmpliament utilitzat en la programació, ja que té moltes propietats positives: es pot utilitzar per als casos generals, es requereix un petit augment en la memòria addicional, compatible amb diferents tipus de llistes i fàcil d'implementar. Però també hi ha desavantatges, que té l'ordenació ràpida: l'ús de treball va permetre un munt d'errors, i és una cosa inestable.

No obstant això, és la versió més estudiat. Després de la primera Hoare pagament, molts fan el seu estudi dens. base gran es va establir en qüestions teòriques de trobar el temps emprat en el treball, que es basa en l'evidència empírica. Hi va haver propostes reals per millorar l'algoritme bàsic i una major velocitat.

Ordenació ràpida és molt comú, que es pot trobar a tot arreu. A la seva base, el mètode s'implementa TList.Sort, present en totes les versions (excepte 1) Delphi, la funció de biblioteca de temps que va prendre per completar, qsort en C ++.

El principi bàsic de funcionament es pot formular com un "divideix i venceràs". Ocorre trencar la llista en dos grups i es classifiquen per a cada part per si mateix. Es dedueix que més s'ha de prestar atenció al procés de separació, durant el qual es produeix la següent: es determina per un element de base i relativament ha reorganitzat tota la seva llista. Construït a l'esquerra d'un grup de candidats, el valor és menor que la resta de les regles de transferència. Resulta que el principal element en la llista ordenada està en el seu lloc que li correspon. La següent etapa - un desafiament funcions de classificació recursiu per banda i banda dels elements relatius a la base. S'acaba el procés només funciona si la llista conté només un element, és a dir de ser resolt. Per tant, per tal de dominar una funció de programació com una mena ràpida, cal conèixer la feina dels algoritmes de baix nivell: a) l'elecció del membre de base; b) una llista de la permutació més eficaç per produir dos conjunts amb valors més petits i més grans.

Familiaritzar-se amb els primers principis. En triar l'element de base, idealment ha de ser seleccionat de la llista de la mitjana. A continuació, al descans es divideix en dues meitats iguals. Només calcular el valor mitjà de la llista és molt difícil, de manera que fins i tot el més ràpid de classificació no passa per aquesta banda càlcul. Però l'elecció de l'element bàsic amb el valor màxim o mínim - tampoc la millor opció. En aquest cas, la determinació d'un sol crea estaran garantides llistes buides, i la segona completa. Per tant la conclusió que com el membre de base ha de ser elegit un que està més proper a la mitjana, però en el màxim i el mínim.

Una vegada que es determina una elecció, es pot procedir amb l'algoritme de descomposició. Aquest anomenat bucles interns ordenació ràpida. Tot està construït en dos índexs d'accés ràpid: en primer lloc anar a través dels elements d'esquerra a dreta, el segon, per contra, de dreta a esquerra. Comença l'operació s'executi la dreta: l'índex es troba a la llista i comparar tots els valors de la principal. El cicle es completa quan l'element és menor que o igual a la línia base. És a dir, no és una comparació i disminueix el valor de l'índex. A la mà esquerra quan el treball està acabat major o igual valor. En aquest cas, el valor de comparació s'incrementa.

En aquesta etapa de l'algorisme de partició que comprèn quicksort, poden sorgir dues situacions. La primera és que l'índex de l'esquerra és inferior a la dreta. Això indica un error, llavors hi ha elements en què s'indica a la llista estan en l'ordre equivocat. Sortida - canviar els seus llocs. La segona situació és quan tant de la columna és igual o creuat. Això indica una separació reeixida de la llista, és a dir, el treball s'ha completat.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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