Conectarse
Contador De Visitas
Mejores posteadores
Administrador (138) | ||||
lezlhy (54) | ||||
blazeken (27) | ||||
grisselgpeco (19) | ||||
Maiku (16) | ||||
rigostar27 (4) | ||||
maestro1 (2) | ||||
Luikore (2) | ||||
pedro alberto (1) | ||||
anelpilo (1) |
Paginas Asociadas
CLASIFICACION DE ALGORITMOS
3 participantes
Página 1 de 1.
CLASIFICACION DE ALGORITMOS
LOS ALGORITMOS SE CLASIFICAN EN:
1.-Ordenamiento Burbuja
Este es el algoritmo más sencillo probablemente. Ideal para empezar. Consiste en ciclar repetidamente a través de la lista, comparando elementos adyacentes de dos en dos. Si un elemento es mayor que el que está en la siguiente posición se intercambian.
Ventajas:
• Fácil implementación.
• No requiere memoria adicional.
Desventajas:
• Muy lento.
• Realiza numerosas comparaciones.
• Realiza numerosos intercambios.
2.-Ordenamiento por Selección
Este algoritmo también es sencillo. Consiste en lo siguiente:
• Buscas el elemento más pequeño de la lista.
• Lo intercambias con el elemento ubicado en la primera posición de la lista.
• Buscas el segundo elemento más pequeño de la lista.
• Lo intercambias con el elemento que ocupa la segunda posición en la lista.
• Repites este proceso hasta que hayas ordenado toda la lista.
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.
3.-Ordenamiento por Inserción
En este tipo de algoritmo los elementos que van a ser ordenados son considerados uno a la vez. Cada elemento es INSERTADO en la posición apropiada con respecto al resto de los elementos ya ordenados.
Ventajas:
• Fácil implementación.
• Requerimientos mínimos de memoria.
Desventajas:
• Lento.
• Realiza numerosas comparaciones.
Este también es un algoritmo lento, pero puede ser de utilidad para listas que están ordenadas o semiordenadas, porque en ese caso realiza muy pocos desplazamientos.
4.-Ordenamiento Rápido (Quicksort)
Esta es probablemente la técnica más rápida conocida. Fue desarrollada por C.A.R. Hoare en 1960. El algoritmo original es recursivo, pero se utilizan versiones iterativas para mejorar su rendimiento (los algoritmos recursivos son en general más lentos que los iterativos, y consumen más recursos). El algoritmo fundamental es el siguiente:
• Eliges un elemento de la lista.
• Buscas la posición que le corresponde en la lista ordenada.
• Acomodas los elementos de la lista a cada lado del elemento de división, de manera que a un lado queden todos los menores que él y al otro los mayores . En este momento el elemento de división separa la lista en dos sublistas.
• Realizas esto de forma recursiva para cada sublista mientras éstas tengan un largo mayor que 1. Una vez terminado este proceso todos los elementos estarán ordenados.
Una idea preliminar para ubicar el elemento de división en su posición final sería contar la cantidad de elementos menores y colocarlo un lugar más arriba. Pero luego habría que mover todos estos elementos a la izquierda del elemento, para que se cumpla la condición y pueda aplicarse la recursividad. Reflexionando un poco más se obtiene un procedimiento mucho más efectivo. Se utilizan dos índices: i, al que llamaremos contador por la izquierda, y j, al que llamaremos contador por la derecha. El algoritmo es éste:
• Recorres la lista simultáneamente con i y j: por la izquierda con i (desde el primer elemento), y por la derecha con j (desde el último elemento).
• Cuando lista sea mayor que el elemento de división y lista[j] sea menor los intercambias.
• Repites esto hasta que se crucen los índices.
• El punto en que se cruzan los índices es la posición adecuada para colocar el elemento de división, porque sabemos que a un lado los elementos son todos menores y al otro son todos mayores (o habrían sido intercambiados).
Al finalizar este procedimiento el elemento de división queda en una posición en que todos los elementos a su izquierda son menores que él, y los que están a su derecha son mayores.
Ventajas:
• Muy rápido
• No requiere memoria adicional.
Desventajas:
• Implementación un poco más complicada.
• Recursividad (utiliza muchos recursos).
• Mucha diferencia entre el peor y el mejor caso.
1.-Ordenamiento Burbuja
Este es el algoritmo más sencillo probablemente. Ideal para empezar. Consiste en ciclar repetidamente a través de la lista, comparando elementos adyacentes de dos en dos. Si un elemento es mayor que el que está en la siguiente posición se intercambian.
Ventajas:
• Fácil implementación.
• No requiere memoria adicional.
Desventajas:
• Muy lento.
• Realiza numerosas comparaciones.
• Realiza numerosos intercambios.
2.-Ordenamiento por Selección
Este algoritmo también es sencillo. Consiste en lo siguiente:
• Buscas el elemento más pequeño de la lista.
• Lo intercambias con el elemento ubicado en la primera posición de la lista.
• Buscas el segundo elemento más pequeño de la lista.
• Lo intercambias con el elemento que ocupa la segunda posición en la lista.
• Repites este proceso hasta que hayas ordenado toda la lista.
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.
3.-Ordenamiento por Inserción
En este tipo de algoritmo los elementos que van a ser ordenados son considerados uno a la vez. Cada elemento es INSERTADO en la posición apropiada con respecto al resto de los elementos ya ordenados.
Ventajas:
• Fácil implementación.
• Requerimientos mínimos de memoria.
Desventajas:
• Lento.
• Realiza numerosas comparaciones.
Este también es un algoritmo lento, pero puede ser de utilidad para listas que están ordenadas o semiordenadas, porque en ese caso realiza muy pocos desplazamientos.
4.-Ordenamiento Rápido (Quicksort)
Esta es probablemente la técnica más rápida conocida. Fue desarrollada por C.A.R. Hoare en 1960. El algoritmo original es recursivo, pero se utilizan versiones iterativas para mejorar su rendimiento (los algoritmos recursivos son en general más lentos que los iterativos, y consumen más recursos). El algoritmo fundamental es el siguiente:
• Eliges un elemento de la lista.
• Buscas la posición que le corresponde en la lista ordenada.
• Acomodas los elementos de la lista a cada lado del elemento de división, de manera que a un lado queden todos los menores que él y al otro los mayores . En este momento el elemento de división separa la lista en dos sublistas.
• Realizas esto de forma recursiva para cada sublista mientras éstas tengan un largo mayor que 1. Una vez terminado este proceso todos los elementos estarán ordenados.
Una idea preliminar para ubicar el elemento de división en su posición final sería contar la cantidad de elementos menores y colocarlo un lugar más arriba. Pero luego habría que mover todos estos elementos a la izquierda del elemento, para que se cumpla la condición y pueda aplicarse la recursividad. Reflexionando un poco más se obtiene un procedimiento mucho más efectivo. Se utilizan dos índices: i, al que llamaremos contador por la izquierda, y j, al que llamaremos contador por la derecha. El algoritmo es éste:
• Recorres la lista simultáneamente con i y j: por la izquierda con i (desde el primer elemento), y por la derecha con j (desde el último elemento).
• Cuando lista sea mayor que el elemento de división y lista[j] sea menor los intercambias.
• Repites esto hasta que se crucen los índices.
• El punto en que se cruzan los índices es la posición adecuada para colocar el elemento de división, porque sabemos que a un lado los elementos son todos menores y al otro son todos mayores (o habrían sido intercambiados).
Al finalizar este procedimiento el elemento de división queda en una posición en que todos los elementos a su izquierda son menores que él, y los que están a su derecha son mayores.
Ventajas:
• Muy rápido
• No requiere memoria adicional.
Desventajas:
• Implementación un poco más complicada.
• Recursividad (utiliza muchos recursos).
• Mucha diferencia entre el peor y el mejor caso.
Re: CLASIFICACION DE ALGORITMOS
si alguien sabe o dice que algunos de estas clasificaciones estan mal; tienen el derecho de modificar o decirme que es lo que esta mal agradesco los comentarios
Re: CLASIFICACION DE ALGORITMOS
sta realment muy bn la informacion me gusta mucho la pag
pedro alberto- Nuevo Usuario
- Mensajes : 1
ComuReputacion : 0
Fecha de inscripción : 15/02/2011
Re: CLASIFICACION DE ALGORITMOS
Gracias Pedro Y Less Seguira Trabajando Aportando Informacion Como Esta =)
Re: CLASIFICACION DE ALGORITMOS
juju gracias tio chueko y si seguire subiendo esto tambn subire lo de alma delia y lo de diagrama de flujo
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|