Hi binària, també conegut com a recerca binària, l'avantatge d'un nombre relativament menor, la velocitat de recerca, el bon acompliment mitjana; inconvenient cal 0.059194 taula ordenada i inseriu eliminar dificultats. Per tant, un mètode de recerca binària és aplicable no trobar sovint els canvis freqüents en una llista ordenada. En primer lloc, suposem que la taula s'ordena en ordre ascendent d'elements en el mig de la taula i trobar les paraules clau registrades relativament paraula clau, si els dos són iguals, llavors trobar l'èxit, en cas contrari, utilitzeu la taula al mig de l'enregistrament abans i després dels dos sub-taules, si mitjà de la gravació més de trobar les paraules clau paraules clau per trobar encara més abans d'una taula secundària, en cas contrari el nen després d'una taula de cerca encara més. Repetiu el procés fins que trobi els registres compleixen les condicions, la recerca té èxit, o fins que la taula secundària no existeix, de manera que la recerca de temps no es realitza correctament.Introducció als Algorismes
Algorisme requereix
Estructura d'emmagatzematge seqüencial ha de ser utilitzat
2 han de ser classificades per grandària de paraula clau.
Complexitat de l'algorisme
Assumint la seva matriu de longitud n, la complexitat de l'algorisme és O (log (n))
Aquests són alguns pseudo-codi binari de cerca per a:
BinarySearch (max, min, des)
mitjan <(max min) / 2
while (min <= max)
mid = (min max) / 2
si mid = donis a continuació
tornar mitjans
elseif mitjans> des a continuació
màx = mitjans-1
més
min = centre gener
tornar max
Mètode de cerca binària, també conegut mètode de recerca binària, que aprofita al màxim la relació entre els elements de l'ordre, l'ús de l'estratègia de divideix i venceràs, en el pitjor dels casos per completar la tasca de recerca amb O (log n). La idea bàsica és que els n elements en més o menys el mateix nombre de dos i mig, prenen un [n / 2] i volen trobar x per a la comparació, si x = a [n / 2] és trobar x, l'algorisme acaba. Si x <a [n / 2], i després ens van deixar la meitat de la matriu d'una recerca contínua de x (Això suposa que els elements de la matriu presenten en ordre ascendent). Si x> a [n / 2], llavors ens seguim meitat dreta de la matriu d'una recerca de x.
Mètode de cerca binària és generalment ERROR existeix un valor crític, que no és l'últim de trobar o el primer valor. Es pot comparar als dos darrers números, que al final de nou per determinar el valor del mateix valor i es veuen.
Exemple de codi
codi font pascal
Codi de llenguatge C
Codi Java
public class BinarySearch {/ *** algorisme de cerca binària ** srcArray @ param matriu ordenada * @ param des trobar l'element de l'arranjament * @ return des marcada, i no podia trobar retornar -1 * / public static int binarySearch (int [] srcArray , int des) {int sota = 0; int Alta = srcArray.length-1, mentre que (sota <= alt) {int mitjà = Baixa ((alt-baix) / 2); if (des == srcArray [mitjana ]) {mitja volta;} else if (des <srcArray [mig]) {Alta = mitjana - 1;} else {baixa = mitjana 1;}} return -1;} main (String [] args void estàtics públics ) {int [] src = new int [] {1, 3, 5, 7, 8, 9}; System.out.println (binarySearch (src, 3));}} Codi AAuto
/ / Hi binària
binsearch funció (t, v) {
var p = # t;
p2 var;
|