SlideShare una empresa de Scribd logo
1 de 3
Estudiante de Ingeniería Electrónica
POR: BRYAN GORDILLO

ORDENAMIENTO DE VECTORES
¿Qué es ordenamiento?
Es la operación de arreglar los
registros de una tabla en algún orden
secuencial de acuerdo a un criterio
de ordenamiento.

Método Burbuja
Ventajas:
- Fácil implementación.
- No requiere memoria adicional.
Desventajas:
- Muy lento.
- Realiza numerosas comparaciones.
- Realiza numerosos intercambios.

Ordenación rápida (quicksort)
Ventajas:
-Es el ordenamiento más eficaz de todos
- Permite ordenar n elementos en un tiempo
proporcional a n*log(n).
Desventajas:
- difícil de explicar
-pseudocódigo extenso

Ordenación Interna: clasificación de valores de un vector
según orden en la memoria central
Ordenación Externa: clasificación de los registros de un
archivo situado en soporte en externo
Métodos de
ordenamiento mas
usados

Ordenación por inserción
Ventajas:
- Fácil implementación.
- Requerimientos mínimos de memoria.
Desventajas:
- Lento.
- Realiza numerosas comparaciones

El propósito principal de
un ordenamiento es el de
facilitar las búsquedas
de los miembros del
conjunto ordenado

Ordenación por selección
Ventajas:
- Fácil implementación.
- No requiere memoria adicional.
- Realiza pocos intercambios.
- Rendimiento constante: poca diferencia
entre el peor y el mejor caso.
Desventajas:
- Lento.
-Realiza numerosas comparaciones.

Método de Shell
Ventajas:
- Mucha más eficiencia
- consigue una ordenación en menor tiempo
Desventajas:
- difícil de explicar
-pseudocódigo extenso

Nota: a veces el método más entendible no es el más eficaz ni el más rápido entonces a través de este
cuadro podemos distinguir cual es el más conveniente y eficaz para el ordenamiento de vectores

Método Burbuja que hace..??
Teniendo un vector A, compara elementos de este vector en posiciones contiguas mediante
una pregunta lógica (si o no) si dicha pregunta se cumple realiza un intercambio de
posiciones de lo contrario el vector no será afectado
Ejemplo: A[0] con A[1] son adyacentes(compara) A[0]>A[1] o A[0]<A[1]- según orden
Proceso de intercambio
aux=A[C];
A[C]
A[C+1]
A[C]=A[C+1];
A[C+1]=A[C]
aux

Análisis del método burbuja:
a[0] a[1] a[2] a[3] a[4]

4

8

2

20 5

Vector

4
4
4
4
4
2
2
2
2
2
2

8
8
2
2
2
4
4
4
4
4
4

2
2
8
8
8
8
8
5
5
5
5

20
20
20
20
5
5
5
8
8
8
8

4>8no sin cambios
8>2 si a[1]=2 y a[2]=8
A burbujeado el mayor al final entonces a
la siguiente entrada del ciclo ya no lo
8>20 no realiza cambios
toma, eso quiere decir que ahora tendrá
20>5 si a[3]=5 y a[4]=20
un vector de 4 columnas
4>2 si a[0]=2 y a[1]=4
A burbujeado el mayor del nuevo vector
4>8 no sin cambios
de 4 columnas al final entonces ahora
8>5 si a[2]=5 y a[3]=8
tendrá un nuevo vector de 3 columnas
2>4 no sin cambios
A burbujeado el mayor del nuevo vector
4>5 no sin cambios y 5 de 3 columnas al final entonces ahora
2>4 no sin cambios
tendrá un nuevo vector de 2 columnas
Vector ordenado ascendentemente

5
5
5
5
20
20
20
20
20
20
20

desordenado con 1 filas y 5 columnas.

Diseño de método burbuja:

for
Pseudocódigo: observamos la
estructura totalmente
entendible lista para ser
traduccida a cualquier otro
lenguaje programático

for

if
Intercambio
Diagrama de flujo: podemos observar claramente los dos
ciclos y la pregunta lógica y el intercambio respetivo

Método Burbuja
Ventajas:

- Fácil implementación.
- No requiere memoria adicional.

Desventajas:
- Muy lento.
- Realiza numerosas comparaciones.
- Realiza numerosos intercambios.

Informe programa: bryan_gordillo_orden_bubuja_vector.cpp
Pseudocódigo
#include<iostream>
#include<ctime>
#include<cstdlib>
#include<iomanip>
intlim,b,c,x,aux,g;//declaraciones globales
usingnamespacestd;
voidordenar_burbuja (int arreglo[]);
intmain()
{
cout<<"ingrese limite: "<<endl;
cin>>lim;
int arreglo [lim];
srand(time(NULL));
cout<<"arreglo inicial: "<<endl;
for (g=0;g<lim;g++)//ciclo generador del
vector
{
x=rand()%100;
arreglo[g]=x;
cout<<"a"<<g<<"="<<arreglo[g]<<endl;
}
ordenar_burbuja(arreglo);
}
voidordenar_burbuja (int arreglo[])
{
for(b=0;b<lim;b++)
{
for(c=0;c<lim-1;c++)
{
if (arreglo[c]>arreglo[c+1])
{
aux=arreglo[c];
arreglo[c]=arreglo[c+1];
arreglo[c+1]=aux;
}
}
}
cout<<"arreglo ordenado: "<<endl;
for(c=0;c<lim;c++)
{
cout<<"a"<<c<<"="<<arreglo[c]<<endl;
}
}

ejecución

Corrida manual
Lim
g=0
x
Arreglo[g]

B=0

B=1

B=2
B=3

5
0<5
25

1<5
38

2<5
60

3<5
12

4<5
94

A[0]=25

A[1]=38

A[2]=60

A[3]=12

A[4]=94

Pregunta
logica (if)
a[0]> a[1]
a[1]> a[2]
a[2]> a[3]
a[3]> a[4]
a[0]> a[1]
a[1]> a[2]
a[2]> a[3]
a[0]> a[1]
a[1]> a[2]
a[0]> a[1]
oreden

a[0] a[1] a[2] a[3] a[4]
C=0;

25
25
25
25
25
25
25
25
12
12
12

38
38
38
38
38
38
12
12
25
25
25

60
60
60
12
12
12
38
38
38
38
38

12
12
12
60
60
60
60
60
60
60
60

94
94
94
94
94
94
94
94
94
94
94

Por cada cuadro pintado de verde B aumentea en 1
entoces en bucle entra cuatro veces para un arreglo de 5
C aumenta en cada corrida osea cambia las posiciones
de comparacion
IF es la pregunta logica respectiva sin esta no existe
intercambio

C=1;
C=2;
C=3;
Así
respectiv
amente

Más contenido relacionado

Similar a Bryan gordillo informr_metodo burbuja_ejercicio

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksortPatricia Correa
 
Detección de cambios para el desarrollo de WareHouse
Detección de cambios para el desarrollo de WareHouseDetección de cambios para el desarrollo de WareHouse
Detección de cambios para el desarrollo de WareHouseFreddy Angarita
 
Introduccionlabview seishoras-090401173537-phpapp02
Introduccionlabview seishoras-090401173537-phpapp02Introduccionlabview seishoras-090401173537-phpapp02
Introduccionlabview seishoras-090401173537-phpapp02Oso Honguito Murte
 
Problemas m2
Problemas m2Problemas m2
Problemas m2xavazquez
 
Rc miguel gomez
Rc miguel gomezRc miguel gomez
Rc miguel gomezmiguelgo79
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Balanceo de línea de producción
Balanceo de línea de producciónBalanceo de línea de producción
Balanceo de línea de producciónadmonapuntes
 
Dirección de Operaciones (9ªparte).Programación a Corto Plazo
Dirección de Operaciones (9ªparte).Programación a Corto PlazoDirección de Operaciones (9ªparte).Programación a Corto Plazo
Dirección de Operaciones (9ªparte).Programación a Corto PlazoJuan Antonio Marco Montes de Oca
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005SolidQ
 
Xilinx aprender abrirlo
Xilinx aprender abrirloXilinx aprender abrirlo
Xilinx aprender abrirloDuvan Rincon
 
Operadores aritméticos en el procesamiento digital de señales
Operadores aritméticos en el procesamiento digital de señalesOperadores aritméticos en el procesamiento digital de señales
Operadores aritméticos en el procesamiento digital de señalesRafael Bayareh
 

Similar a Bryan gordillo informr_metodo burbuja_ejercicio (20)

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksort
 
Detección de cambios para el desarrollo de WareHouse
Detección de cambios para el desarrollo de WareHouseDetección de cambios para el desarrollo de WareHouse
Detección de cambios para el desarrollo de WareHouse
 
computacion
computacioncomputacion
computacion
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
Introduccionlabview seishoras-090401173537-phpapp02
Introduccionlabview seishoras-090401173537-phpapp02Introduccionlabview seishoras-090401173537-phpapp02
Introduccionlabview seishoras-090401173537-phpapp02
 
Problemas m2
Problemas m2Problemas m2
Problemas m2
 
Programacion y secuenciacion de operaciones
Programacion y secuenciacion de operacionesProgramacion y secuenciacion de operaciones
Programacion y secuenciacion de operaciones
 
Rc miguel gomez
Rc miguel gomezRc miguel gomez
Rc miguel gomez
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Balanceo de línea de producción
Balanceo de línea de producciónBalanceo de línea de producción
Balanceo de línea de producción
 
Dirección de Operaciones (9ªparte).Programación a Corto Plazo
Dirección de Operaciones (9ªparte).Programación a Corto PlazoDirección de Operaciones (9ªparte).Programación a Corto Plazo
Dirección de Operaciones (9ªparte).Programación a Corto Plazo
 
Eesi prac4
Eesi prac4Eesi prac4
Eesi prac4
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
Balanceo de lineas
Balanceo de lineasBalanceo de lineas
Balanceo de lineas
 
TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005
 
Xilinx aprender abrirlo
Xilinx aprender abrirloXilinx aprender abrirlo
Xilinx aprender abrirlo
 
Tema3
Tema3Tema3
Tema3
 
17961921.ppt
17961921.ppt17961921.ppt
17961921.ppt
 
Operadores aritméticos en el procesamiento digital de señales
Operadores aritméticos en el procesamiento digital de señalesOperadores aritméticos en el procesamiento digital de señales
Operadores aritméticos en el procesamiento digital de señales
 

Más de Bryan Gordillo

Mochila de carga suspendida
Mochila de carga suspendidaMochila de carga suspendida
Mochila de carga suspendidaBryan Gordillo
 
Bryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglosBryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglosBryan Gordillo
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan Gordillo
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan Gordillo
 
Civilizacion inca bryangordillo
Civilizacion inca  bryangordilloCivilizacion inca  bryangordillo
Civilizacion inca bryangordilloBryan Gordillo
 
Bryan gordillo licencias_cc
Bryan gordillo licencias_ccBryan gordillo licencias_cc
Bryan gordillo licencias_ccBryan Gordillo
 
magnetismo y electromagnetismo
magnetismo y electromagnetismomagnetismo y electromagnetismo
magnetismo y electromagnetismoBryan Gordillo
 

Más de Bryan Gordillo (9)

Mochila de carga suspendida
Mochila de carga suspendidaMochila de carga suspendida
Mochila de carga suspendida
 
Dimmer- Digital
Dimmer- Digital Dimmer- Digital
Dimmer- Digital
 
Bryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglosBryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglos
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficheros
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficheros
 
Civilizacion inca bryangordillo
Civilizacion inca  bryangordilloCivilizacion inca  bryangordillo
Civilizacion inca bryangordillo
 
Lcc
LccLcc
Lcc
 
Bryan gordillo licencias_cc
Bryan gordillo licencias_ccBryan gordillo licencias_cc
Bryan gordillo licencias_cc
 
magnetismo y electromagnetismo
magnetismo y electromagnetismomagnetismo y electromagnetismo
magnetismo y electromagnetismo
 

Bryan gordillo informr_metodo burbuja_ejercicio

  • 1. Estudiante de Ingeniería Electrónica POR: BRYAN GORDILLO ORDENAMIENTO DE VECTORES ¿Qué es ordenamiento? Es la operación de arreglar los registros de una tabla en algún orden secuencial de acuerdo a un criterio de ordenamiento. Método Burbuja Ventajas: - Fácil implementación. - No requiere memoria adicional. Desventajas: - Muy lento. - Realiza numerosas comparaciones. - Realiza numerosos intercambios. Ordenación rápida (quicksort) Ventajas: -Es el ordenamiento más eficaz de todos - Permite ordenar n elementos en un tiempo proporcional a n*log(n). Desventajas: - difícil de explicar -pseudocódigo extenso Ordenación Interna: clasificación de valores de un vector según orden en la memoria central Ordenación Externa: clasificación de los registros de un archivo situado en soporte en externo Métodos de ordenamiento mas usados Ordenación por inserción Ventajas: - Fácil implementación. - Requerimientos mínimos de memoria. Desventajas: - Lento. - Realiza numerosas comparaciones El propósito principal de un ordenamiento es el de facilitar las búsquedas de los miembros del conjunto ordenado Ordenación por selección Ventajas: - Fácil implementación. - No requiere memoria adicional. - Realiza pocos intercambios. - Rendimiento constante: poca diferencia entre el peor y el mejor caso. Desventajas: - Lento. -Realiza numerosas comparaciones. Método de Shell Ventajas: - Mucha más eficiencia - consigue una ordenación en menor tiempo Desventajas: - difícil de explicar -pseudocódigo extenso Nota: a veces el método más entendible no es el más eficaz ni el más rápido entonces a través de este cuadro podemos distinguir cual es el más conveniente y eficaz para el ordenamiento de vectores Método Burbuja que hace..?? Teniendo un vector A, compara elementos de este vector en posiciones contiguas mediante una pregunta lógica (si o no) si dicha pregunta se cumple realiza un intercambio de posiciones de lo contrario el vector no será afectado Ejemplo: A[0] con A[1] son adyacentes(compara) A[0]>A[1] o A[0]<A[1]- según orden Proceso de intercambio aux=A[C]; A[C] A[C+1] A[C]=A[C+1]; A[C+1]=A[C] aux Análisis del método burbuja:
  • 2. a[0] a[1] a[2] a[3] a[4] 4 8 2 20 5 Vector 4 4 4 4 4 2 2 2 2 2 2 8 8 2 2 2 4 4 4 4 4 4 2 2 8 8 8 8 8 5 5 5 5 20 20 20 20 5 5 5 8 8 8 8 4>8no sin cambios 8>2 si a[1]=2 y a[2]=8 A burbujeado el mayor al final entonces a la siguiente entrada del ciclo ya no lo 8>20 no realiza cambios toma, eso quiere decir que ahora tendrá 20>5 si a[3]=5 y a[4]=20 un vector de 4 columnas 4>2 si a[0]=2 y a[1]=4 A burbujeado el mayor del nuevo vector 4>8 no sin cambios de 4 columnas al final entonces ahora 8>5 si a[2]=5 y a[3]=8 tendrá un nuevo vector de 3 columnas 2>4 no sin cambios A burbujeado el mayor del nuevo vector 4>5 no sin cambios y 5 de 3 columnas al final entonces ahora 2>4 no sin cambios tendrá un nuevo vector de 2 columnas Vector ordenado ascendentemente 5 5 5 5 20 20 20 20 20 20 20 desordenado con 1 filas y 5 columnas. Diseño de método burbuja: for Pseudocódigo: observamos la estructura totalmente entendible lista para ser traduccida a cualquier otro lenguaje programático for if Intercambio Diagrama de flujo: podemos observar claramente los dos ciclos y la pregunta lógica y el intercambio respetivo Método Burbuja Ventajas: - Fácil implementación. - No requiere memoria adicional. Desventajas: - Muy lento. - Realiza numerosas comparaciones. - Realiza numerosos intercambios. Informe programa: bryan_gordillo_orden_bubuja_vector.cpp
  • 3. Pseudocódigo #include<iostream> #include<ctime> #include<cstdlib> #include<iomanip> intlim,b,c,x,aux,g;//declaraciones globales usingnamespacestd; voidordenar_burbuja (int arreglo[]); intmain() { cout<<"ingrese limite: "<<endl; cin>>lim; int arreglo [lim]; srand(time(NULL)); cout<<"arreglo inicial: "<<endl; for (g=0;g<lim;g++)//ciclo generador del vector { x=rand()%100; arreglo[g]=x; cout<<"a"<<g<<"="<<arreglo[g]<<endl; } ordenar_burbuja(arreglo); } voidordenar_burbuja (int arreglo[]) { for(b=0;b<lim;b++) { for(c=0;c<lim-1;c++) { if (arreglo[c]>arreglo[c+1]) { aux=arreglo[c]; arreglo[c]=arreglo[c+1]; arreglo[c+1]=aux; } } } cout<<"arreglo ordenado: "<<endl; for(c=0;c<lim;c++) { cout<<"a"<<c<<"="<<arreglo[c]<<endl; } } ejecución Corrida manual Lim g=0 x Arreglo[g] B=0 B=1 B=2 B=3 5 0<5 25 1<5 38 2<5 60 3<5 12 4<5 94 A[0]=25 A[1]=38 A[2]=60 A[3]=12 A[4]=94 Pregunta logica (if) a[0]> a[1] a[1]> a[2] a[2]> a[3] a[3]> a[4] a[0]> a[1] a[1]> a[2] a[2]> a[3] a[0]> a[1] a[1]> a[2] a[0]> a[1] oreden a[0] a[1] a[2] a[3] a[4] C=0; 25 25 25 25 25 25 25 25 12 12 12 38 38 38 38 38 38 12 12 25 25 25 60 60 60 12 12 12 38 38 38 38 38 12 12 12 60 60 60 60 60 60 60 60 94 94 94 94 94 94 94 94 94 94 94 Por cada cuadro pintado de verde B aumentea en 1 entoces en bucle entra cuatro veces para un arreglo de 5 C aumenta en cada corrida osea cambia las posiciones de comparacion IF es la pregunta logica respectiva sin esta no existe intercambio C=1; C=2; C=3; Así respectiv amente