3. Introducción
Un algoritmode ordenamientoes aquelque aloselementosde unalistaoun vector lesda
una secuenciaparauna relaciónde orden,esdecir,ubicauordenaloselementosde tal formaque
intercambialoselementosde posiciónparaasídarle el ordenesperado.
A continuaciónse analizaráel algoritmode Burbujabidireccional observandolos
siguientes4puntos:
1. ¿Cómocomienza?
2. ¿Que se compara?
3. ¿Cuándose cambia?
4. ¿Usa Pivote?
4. Burbuja Bidireccional
El ordenamientooclasificaciónesel procesode organizardatosenalgúnordeno
secuenciaespecíficatal comocreciente o decreciente paradatosnuméricosoalfabéticamente
para datos de caracteres.
El Métodode la Burbujao Intercambiose basaen el principiode compararparesde
elementosadyacentese intercambiarlosentresíhastaque esténtodosordenados.
Supongamosque se deseaclasificarenordenascendente el vectorolista:
50 15 56 14 35 1 12 9
A (1) A (2) A (3) A (4) A (5) A (6) A (7) A (8)
Los pasosa dar son:(de menora mayor)
1.- Comparar A (7) y A (8); si estánenorden,se mantienencomoestán;encasocontrario se
intercambianentre síllevandoel númeromenorhacialaizquierda.
2.- A continuaciónse comparanloselementosA (6) yA (7); de nuevo se intercambiansi es
necesario.
3.- Al llegaral extremodel arreglocambiael punteroala posiciónanteriorosiguiente
dependiendode dóndese encuentreyyano esnecesariovolverapasar porel elemento
ordenado.
4.- Nose comienzade nuevoel arreglosinoque trabajaahorahacia el ladocontrariopero
llevandohaciael otroextremoel númeromayor.
5.- El procesocontinúahastaque cada elementodel vectorhasidocomparadocon sus
elementosadyacentesyse hanrealizadolosintercambiosnecesarios.
Observación:Loselementoscomparadosse vanllevandohacialosextremosynoes necesario
volverarecorrer loselementosyaordenados.
Para la acción“intercambiarelementos”esnecesariocontarconun variable auxiliar,se
intercambiaranlosvaloresde A (p) porA (p+1),las siguientesaccionessonlassiguientes,
considerandodichavariable auxiliarAUX:
AUX ← A (p) - la variable AUXtomael valorde lapositionp
A (p) ← A (p+1) - laposiciónptoma el valorde la positionp+1
A (p+1) ←AUX - la posiciónp+1 toma el valorde la variable AUX
5. Gráficamente sería:
Análisis
¿Cómo comienza?
El algoritmode ordenamiento"BURBUJA BIDIRECCIONAL"comienzaconunarregloal cual se
pretende darun ordeny 4 elementosque son:
1. Límite izquierdo:Hace referencia al primerelementodel arreglo
2. Límite derecho:Hace referenciaal últimoelementodel arreglo
3. Un puntero:que nos indicacuál esel elementoque se estácomparando
4. Variable auxiliar:que permitiráalmacenarel valoracompararpara intercambiarlos
elementosde posición
El algoritmocomienzahaciendolacomparacióndel elementoque este al ladodel puntero
hasta ladirecciónel límite al que se pretende llegar.
Cada vezque el punterorecorre el arregloy llegaauno de loslímiteseste se mueve una
posiciónhacialadireccióncontraria(de izquierdaaderechaode derechaa izquierda).
¿Quese compara?
Realizaunaprimeracomparaciónlosprimerosdatosy efectúael cambionecesariode sus
posicionesde acuerdoal criteriode el que se quierarealizar.Luegodel cambiocomparaconla
siguiente posiciónyasí sucesivamente,al llegaral últimodatovuelve hastael principiodel arreglo
haciendolascomparacionesahorahaciala direccióncontrariaynuevamente realiza
comparacionesaunque yaesténordenados.
P
AUX
P+1
6. ¿Cuándo se cambia?
Se cambianlos elementosde posicióncuandose cumple lacondición(enel casode
elementosnuméricos) de mayoramenoro de menora mayor
¿Usa Pivote?
El algoritmoburbujabidireccionalutilizaunpunteroparaindicarcuál es el elementoque
se está comparandoy recorre el arreglocomprobandoloselementos.
¿Iterativo o Recursivo?
Es un algoritmoque utilizalarecursividadpararesolverel problemaen cuestión.
Ventajas y desventajas
Ventajas Desventajas
Es bastantesencillo
En un código reducido se
realiza el ordenamiento
Eficaz
Ordena el arreglo tanto de
ida como de vuelta
No es necesario volver a
recorrer los elementos ya
ordenados
Mejora a la burbuja
tradicional
Consumebastante tiempo de
computadora
Requiere muchas lecturas/escrituras
en memoria
Bi direccional vs burbuja tradicional