Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Informe Burbuja Bidireccional

544 views

Published on

Published in: Engineering
  • Be the first to comment

Informe Burbuja Bidireccional

  1. 1. Método de ordenamiento “Burbuja Bidireccional” Integrantes: ChristopherBlum EdisonSáez GonzaloMedina Joel Salgado Asignatura: Análisisde algoritmos Profesora: PilarPardo Fecha: 03-06-2014
  2. 2. Índice INTRODUCCIÓN....................................................................................................................................................................3 ANÁLISIS ................................................................................................................................................................................4 ¿CÓMO COMIENZA? .............................................................................................................................................................5 ¿QUESECOMPARA?.............................................................................................................................................................5 ¿CUÁNDO SECAMBIA? .........................................................................................................................................................6 ¿USA PIVOTE? .....................................................................................................................................................................6 CONCLUSIÓN ........................................................................................................................................................................7
  3. 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. 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. 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. 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
  7. 7. Conclusión El algoritmoburbujabidireccionalordenaunarreglodependiendodel criterio establecido y superaal antiguométodoburbujatradicionalencuantoa tiempode ejecución.Burbuja bidireccional esunmétodoque cumpleel objetivode ordenamientohaciéndolounalgoritmo efectivo,fácil de entender,yrápido.

×