Algoritmos
Tipos abstractos de datos
Una vez que se ha elegido el algoritmo, la implementación puede hacerse usando las estructuras más
simples, comunes en casi todos los lenguajes de programación: escalares, arreglos y matrices. Sin embargo
algunos problemas se pueden plantear en forma más simple o eficiente en términos de estructuras informáticas
más complejas, como listas, pilas, colas, árboles, grafos, conjuntos. Por ejemplo, el TSP se plantea
naturalmente en términos de un grafo donde los vértices son las ciudades y las aristas los caminos que van
de una ciudad a otra. Estas estructuras están incorporadas en muchos lenguajes de programación o bien
pueden obtenerse de librerías. El uso de estas estructuras tiene una serie de ventajas :
- Se ahorra tiempo de programación ya que no es necesario codificar.
- Estas implementaciones suelen ser eficientes y robustas.
- Se separan dos capas de código bien diferentes, por una parte el algoritmo que escribe el programador,
y por otro las rutinas de acceso a las diferentes estructuras.
- Existen estimaciones bastante uniformes de los tiempos de ejecución de las diferentes operaciones.
- Las funciones asociadas a cada estructura son relativamente independientes del lenguaje o la implementación
en particular. Así, una vez que se plantea un algoritmo en términos de operaciones sobre
una tal estructura es fácil implementarlo en una variedad de lenguajes con una performance similar.
No hay comentarios:
Publicar un comentario