Diferencia entre revisiones de «Estructuras de datos y algoritmos»

Contenido eliminado Contenido añadido
Se agrega plantilla: propuesta. , Se revisa y/o corrige contenido. , Se revisa y/o modifica formato.
Sin resumen de edición
Línea 12:
# [[Estructura de Datos y Algoritmos/Árboles Avanzados|Árboles Avanzados]]
# [[Estructura de Datos y Algoritmos/Programación Orientada a Objetos|Programación Orientada a Objetos]]
 
== Referencia ==
=== Algoritmos ===
* '''[http://es.wikipedia.org/wiki/Algoritmo Algoritmos]'''
* '''[http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo Pseudocódigo]'''
* '''[http://es.wikipedia.org/wiki/Diagramas_de_flujo Diagramas de flujo]'''
 
=== Técnicas de diseño de algoritmos ===
* '''[http://es.wikipedia.org/wiki/Algoritmo_voraz Algoritmos voraces]''': seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la solución no es óptima.
* '''[http://es.wikipedia.org/wiki/Algoritmos_paralelos Algoritmos paralelos]''': permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma simultánea en varios procesadores.
* '''[http://es.wikipedia.org/wiki/Algoritmo_probabil%C3%ADstico Algoritmos probabilísticos]''': algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios.
* '''[http://es.wikipedia.org/wiki/Algoritmo_determin%C3%ADstico Algoritmos determinísticos]''': el comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro antecesor.
* '''[http://es.wikipedia.org/wiki/Algoritmo_no_determin%C3%ADstico Algoritmos no determinísticos]''': el comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.
* '''[http://es.wikipedia.org/wiki/Divide_y_vencer%C3%A1s Divide y vencerás]''': dividen el problema en subconjuntos disjuntos obteniendo una solución de cada uno de ellos para después unirlas, logrando así la solución al problema completo.
* '''[http://es.wikipedia.org/wiki/Metaheur%C3%ADsticas Metaheurísticas]''': encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.
*'''[http://es.wikipedia.org/wiki/Programaci%C3%B3n_din%C3%A1mica_(computaci%C3%B3n) Programación dinámica]''': intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.
*'''[http://es.wikipedia.org/wiki/Ramificaci%C3%B3n_y_acotaci%C3%B3n Ramificación y acotación]''': se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones.
*'''[http://es.wikipedia.org/wiki/Vuelta_atr%C3%A1s Vuelta atrás]''': se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas.
 
==Wikilibros relacionados==