Documento Metodo de Burbuja

9

Transcript of Documento Metodo de Burbuja

Page 1: Documento Metodo de Burbuja
Page 2: Documento Metodo de Burbuja

Algoritmo de ordenamiento

método de burbujaMateria:

Matemáticas discretas II

Profesor(a):

Criseida Martinez Gomez

Integrantes del equipo:

Eduardo lara Montes Matricula:12011219

Jesus Alberto Roque Ortiz Matricula 12011459

Fecha de entrega:

8 de abril del 2013

Page 3: Documento Metodo de Burbuja

Introducción

La Ordenación de burbuja o Bubble Sort en inglés es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.Descripción:Una manera simple de expresar el ordenamiento de burbuja en pseudocódigo es la siguiente:Este algoritmo realiza el ordenamiento de una lista a de n valores, en este caso de n términos numerados del 0 al n-1, consta de dos bucles anidados uno con el índice i, que da un tamaño menor al recorrido de la burbuja en sentido inverso de 2 a n, y un segundo bucle con el índice j, con un recorrido desde 0 hasta n-i, para cada iteración del primer bucle, que indica el lugar de la burbuja.La burbuja son dos términos de la lista seguidos, j y j+1, que se comparan, si el primero es menor que el segundo sus valores se intercambian.Esta comparación se repite en el centro de los dos bucles, dando lugar a la postre a una lista ordenada, puede verse que el número de repeticiones sola depende de n, y no del orden de los términos, esto es, si pasamos al algoritmo una lista ya ordenada, realizara todas las comparaciones exactamente igual que para una lista no ordenada, esta es una característica de este algoritmo.

Page 4: Documento Metodo de Burbuja

Option Explicit '\\ -- Se declara la variante como VectorDim Vector() As Variant ' --------------------------------------------------------------------------------' \\ -- Se dá el Inicio del Programa, nombrando las herramientas que se programaran.' --------------------------------------------------------------------------------Private Sub Form_Load() Command1.Caption = " Ordenar Letras " Command2.Caption = " Cargar Letras " Command1.Enabled = FalseEnd Sub ' --------------------------------------------------------------------------------' \\ -- Se programan los Botónes para Ordenar el array y cargar los valores en el List2' --------------------------------------------------------------------------------Private Sub Command1_Click() Dim i As Integer Call Ordenar List2.Clear For i = 0 To UBound(Vector) List2.AddItem Vector(i) Next i Command1.Enabled = FalseEnd Sub ' --------------------------------------------------------------------------------' \\ -- Se programa para Cargar valores en el List1' --------------------------------------------------------------------------------Private Sub Command2_Click() Command2.Enabled = False Command1.Enabled = True Call Cargar_ArrayEnd Sub' --------------------------------------------------------------------------------' \\ -- BubbleSort - Sub para ordenar el vector

Page 5: Documento Metodo de Burbuja

' --------------------------------------------------------------------------------Private Sub Ordenar() Dim iMin As Long Dim iMax As Long Dim Vectemp As String ' -- variable temporal Dim Pos As Long Dim i As Long iMin = LBound(Vector) iMax = UBound(Vector) While iMax > iMin Pos = iMin For i = iMin To iMax - 1 If Vector(i) > Vector(i + 1) Then Vectemp = Vector(i + 1) Vector(i + 1) = Vector(i) Vector(i) = Vectemp Pos = i End If Next i iMax = Pos WendEnd Sub ' ---------------------------------------------------------------------------------' \\ -- Sub cargar valores de ejemplo en el array y en el control de lista' ---------------------------------------------------------------------------------Private Sub Cargar_Array() Dim i As Integer ' -- Listbox With List1 .AddItem "A" .AddItem "H" .AddItem "B" .AddItem "G" .AddItem "C" .AddItem "F" .AddItem "D" End With ' -- Array ReDim Vector(List1.ListCount - 1) For i = 0 To List1.ListCount - 1 Vector(i) = List1.List(i) Next i

Page 6: Documento Metodo de Burbuja

End Sub

Page 7: Documento Metodo de Burbuja

Bibliografía

http://www.ecured.cu/index.php/M%C3%A9todo_burbuja

http://es.wikipedia.org/wiki/Ordenamiento_de_burbuja

http://wisedotnet.blogspot.mx/2008/04/metodo-burbuja-en-vbnet.html

http://www.forosdelweb.com/f29/b-metodo-burbuja-vb-clasico-net-b-776183/