Algoritmo: Bubble Sort

2/10
Recursos
Transcripción

Aportes 37

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

​Bubble Sort u Ordenamiento de Burbuja (Algoritmo más simple que existe). Se le llama así por que va seleccionando los elementos adyacentes, cambia el número que está en la posición incorrecta a la posición correcta. Es un Algoritmo super lento y poco eficiente, primero por que necesitas dos bucles y segundo, por la cantidad de iteraciones del mismo.

Bubble Sort
La Ordenación de burbuja 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.

Pseudocódigo Bubble Sort:

PROCEDIMIENTO bubble_sort ( vector a[1:n])
iteración ← 0
REPETIR
    permut ← FALSO
    PARA i VARIANDO DE 1 HASTA n - 1 - iteración HACER
        SI a[i] > a[i+1] ENTONCES
            intercambiar a[i] Y a[i+1]
            permut ← VERDADERO
        FIN SI
    FIN PARA
    iteración ← iteración + 1
MIENTRAS QUE permut = VERDADERO

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”.

Es el ordenamiento más simple, y funciona validando cada elemento de la lista que a ordenar con el siguiente, es decir, realiza el intercambio de posición en caso de que estén en orden erróneo. El ordenamiento de burbuja (Bubble Sort) revisa varias veces el recorrido hasta que no se requieran más intercambios, es decir, ya está ordenado por completo. Aquí podemos ver el recorrido del ordenamiento Bubble Sort

La nueva intro muy bonita por cierto!
En la universidad en la materia de Estructura de datos recuerdo que vi este metodo, lo supe implementar pero hoy dia no recuerdo a ciencia cierta como fue.
Asi que me servira mucho volverlo a ver.

Es importante entender el algoritmo de forma visual antes poder realizar su implementación.

Bubble sort

  • Bubble sort (ordenamiento burbuja) es un método bastante sencillo e intuitivo de ordenar datos. Es muy útil para comenzar a comprender las formas en las que podemos ordenar la información, aunque dada su complejidad no es muy útil en casos muy demandantes.
    Para poder entender cómo funciona el algoritmo, usaremos el conjunto desordenado de datos 7, 9, 3, 4, 8 y definiremos como
    N
    la cantidad de datos a ordenar, en este ejemplo
    N
    =
    6
    .

  • La forma en la que funciona el algoritmo del Bubble sort es utilizando intercambios. Por ejemplo, si queremos ordenar los datos de forma creciente, sabemos que hemos de dejar al principio (lado izquierdo) los valores más pequeños. Entonces vamos “tomando” pares de datos y dejando del lado izquierdo el valor más pequeño. Para esto intercambiamos las posiciones de los dos elementos en cuestión, y dejamos en la posición de la izquierda el valor más chico, y en el de la derecha el más grande.

repasando, buena continuación ojala lo hubieran hecho completo.

Es el algoritmo de ordenamiento más simple que existe
Va seleccionando dos números juntos y los cambia de posicion en caso del que la izquierda sea mayor, sino los deja igual y se mueve una posición a la derecha, es un algoritmo muy lento porque necesitas dos bucles uno que recorre todos los datos y el otro que hace el cambio de datos en caso de ser encesario.

Mi humilde aporte:

Devuelve lo siguiente:

Solo con la pura explicación basta para decir que ese algoritmo es super lento y poco eficiente

3 Etapas del Algoritmo: Entrada, Proceso, Salida.

import random

def ordenamiento_de_burbuja(lista):
n = len(lista)

for i in range(n):
    for j in range(0, n - i - 1): # O(n) * O(n) = O(n * n) = O(n**2)

        if lista[j] > lista[j + 1]:
            lista[j], lista[j + 1] = lista[j + 1], lista[j]

return lista

if name == ‘main’:
tamano_de_lista = int(input('De que tamano sera la lista? '))

lista = [random.randint(0, 100) for i in range(tamano_de_lista)]
print(lista)

lista_ordenada = ordenamiento_de_burbuja(lista)
print(lista_ordenada)

El Bubble Sort básicamente es un switch de arr[i] y arr[i+1] cuando arr[i] sea mayor que arr[i+1] para ordenar una lista

Buena clase vamos por mas.

Aunque es un algoritmo super sencillo de implementar, es poco eficiente comparado con otros. Pero es básico de entender super bien, para luego entender los próximos algoritmos

Bubble sort:
Como si fuese una burbuja que va empujando el valor mas alto hacia el final de la lista

Interesante!

Mi primer método de ordenamiento que vi en programación, me recuerda la escuela.

Ordenamiento burbuja, es muy lento ya que tiene que hacer 2 ciclos uno para todo el recorrido y otro para hacer la comparación, esto es poco eficiente porque tiene que hacer muchos ciclos, por lo que no es recomendado

Que buena explicación

Muy simple en realidad.

Muy buena el video que muestra como funciona el Bubble Sort.

BUBBLE SORT
Ordenamiento en burbuja. Es de lento procesamiento, porque analiza número por número y repite el array hasta que quede ordenado.

<h3>Algoritmo: Bubble Sort</h3>

Es el algoritmo de ordenamiento más simple que existe. Va seleccionado de 2 en 2 los elementos y de estos los pone en el orden correcto.

Este algoritmo es super lento, ya que nesesitas dos ciclo, el que recorre del primer elemento al último, y el que se encarga de que cada paso del recorrido haga el cambio.

Es un Algoritmo lento ya que necesita 2 ciclos para realizar el ordenamiento.

Excelente clase.

Esto tambien se da en el curso de POO orientado a python del profe David

El Bubble sort, es un algoritmo muy ineficiente, debido a que con un array mediano, se tendrán más problemas que corrigeir y por tanto mayor tiempo.

Tenemos que tener dos bucles para que nos funciones el bubble sort

El bubble sort, es uno verdaderamente el algoritmo de ordenamiento que abre la introducción a estos, debido a lo simple que és.

El ordenamiento burbuja
.
El ordenamiento burbuja hace múltiples pasadas a lo largo de una lista. Compara los ítems adyacentes e intercambia los que no están en orden. Cada pasada a lo largo de la lista ubica el siguiente valor más grande (o más chico) en su lugar apropiado. En esencia, cada ítem “burbujea” hasta el lugar al que pertenece.
.

Algoritmo de ordenamiento. Burbuja(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.

El procedimiento de la burbuja es el siguiente: § Ir comparando desde la casilla 0 número tras número hasta encontrar uno mayor, si este es realmente el mayor de todo el vector se llevará hasta la última casilla, si no es así, será reemplazado por uno mayor que él. § Este procedimiento seguirá así hasta que haya ordenado todas las casillas del vector. § Una de las deficiencias del algoritmo es que ya cuando a ordenado parte del vector vuelve a compararlo cuando esto ya no es necesario.

Dado un vector a1, a2, a3, … an 1) Comparar a1 con a2 e intercambiarlos si a1>a2 (o a12) 2) Seguir hasta que todo se haya comparado an-1 con an 3) Repetir el proceso anterior n-1 veces
Algoritmo: Complejidad for(i=0; i < n-++){ T(n2)

for(j=0; j < n-1; j++){ T(n)
if(vec[j] > vec[j+1]){ T(1)
aux=vec[j]; T(1)
vec[j]=vec[j+1]; T(1)
vec[j+1]=aux;} T(1)
} }

Pseudocódigo Bubble Sort:

PROCEDIMIENTO bubble_sort ( vector a[1:n])
iteración ← 0
REPETIR
    permut ← FALSO
    PARA i VARIANDO DE 1 HASTA n - 1 - iteración HACER
        SI a[i] > a[i+1] ENTONCES
            intercambiar a[i] Y a[i+1]
            permut ← VERDADERO
        FIN SI
    FIN PARA
    iteración ← iteración + 1
MIENTRAS QUE permut = VERDADERO```

La Ordenación de burbuja (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 uno de los más sencillos de implementar.

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

Cuando yo implemente mi primer algoritmo de ordenamiento de tipo bubble sort yo use tres bucles:

  1. Para saber si los números estaban en orden
  2. Para recorrer el bucle
  3. Para cambiar los numero o letras en caso de que estén desordenados

Bubble Sort es un algoritmo no recomendado ya que tiene como “Big-O” (n^2) lo cual hace que su rendimiento sea bajo y que consuma muchos recursos, se le asigna el n^2 ya que para que este sea posible, se tiene que iterar un for dentro de otro for.

Aquí una pagina con mas información que incluye el gif de su representación
https://brilliant.org/wiki/bubble-sort/

Se agradece la explicación visual del algoritmo