000053539 001__ 53539
000053539 005__ 20170831221230.0
000053539 037__ $$aGDOC-2015-2139
000053539 041__ $$aspa
000053539 100__ $$0(orcid)0000-0003-4810-0062$$aCampos Laclaustra, Francisco Javier
000053539 24500 $$930213$$aEstructuras de datos y algoritmos
000053539 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2015-2016
000053539 520__ $$aA la hora de enfrentarse a la resolución de problemas de programación de tamaño medio surge la necesidad de dividir el diseño e implementación de la solución en una serie de módulos o partes, de tamaño y complejidad menor que el problema inicial, pero de forma que dichos módulos interactúen entre si de forma mínima y clara, y constituyan en su conjunto la solución del problema a resolver. Esta aproximación nos permitirá identificar y diseñar módulos con una misión muy clara y acotada, lo que reducirá su grado de dependencia con el resto, y nos permitirá desarrollar módulos reutilizables, eficientes, y robustos, facilitando también que el trabajo de implementación y depuración pueda ser repartido entre varios programadores que trabajen en paralelo. Gran parte de estos módulos se centrarán en la representación y gestión de la información necesaria para resolver el problema. De esta forma, cada uno de estos módulos encapsulará las estructuras de datos necesarias para representar y almacenar cierta información, ocultando los detalles de su implementación y ofreciendo al exterior únicamente operaciones permitidas (su interfaz), robustas y eficientes, lo que facilitará su reutilización. En este contexto, se puede definir un Tipo Abstracto de Datos (TAD) como el conjunto de valores que pueden tomar los datos de ese tipo y el conjunto de operaciones para manipularlos, definidos de forma independiente de cualquier representación o implementación. La definición de TADs es por tanto una herramienta de abstracción que intuitivamente responde a la necesidad de enriquecer nuestros lenguajes de programación permitiéndonos proponer nuevos tipos de datos que puedan utilizarse de forma similar a los que suelen ofrecerse predefinidos en un lenguaje de programación, ocultando al usuario de dichos tipos los detalles de su implementación, pero serán de naturaleza mucho más compleja que los tipos habitualmente predefinidos en un lenguaje de programación. 
000053539 521__ $$9148$$aGraduado en Ingeniería Informática
000053539 540__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/
000053539 700__ $$0(orcid)0000-0001-8531-353X$$aBernad Lusilla, Jorge Raul
000053539 700__ $$0(orcid)0000-0001-5664-6589$$aNaranjo Palomino, Fernando
000053539 700__ $$0(orcid)0000-0001-6644-0103$$aVillate Pérez, María Yolanda
000053539 830__ $$9439
000053539 830__ $$9443
000053539 8564_ $$s104194$$uhttps://zaguan.unizar.es/record/53539/files/guia.pdf$$yGuía (idioma español)
000053539 980__ $$aGDOC$$bIngeniería y Arquitectura$$c110
000053539 980__ $$aGDOC$$bIngeniería y Arquitectura$$c326