000042156 001__ 42156
000042156 005__ 20170831221054.0
000042156 037__ $$aGDOC-2012-1709
000042156 041__ $$aspa
000042156 100__ $$0(orcid)0000-0003-4810-0062$$aCampos Laclaustra, Francisco Javier
000042156 24500 $$930213$$aEstructuras de datos y algoritmos
000042156 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2012-2013
000042156 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. 
000042156 521__ $$9148$$aGraduado en Ingeniería Informática
000042156 540__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/
000042156 700__ $$0(orcid)0000-0001-8531-353X$$aBernad Lusilla, Jorge Raul
000042156 700__ $$0(orcid)0000-0001-5664-6589$$aNaranjo Palomino, Fernando
000042156 700__ $$0(orcid)0000-0001-6644-0103$$aVillate Pérez, María Yolanda
000042156 830__ $$9439
000042156 830__ $$9443
000042156 8564_ $$s108305$$uhttps://zaguan.unizar.es/record/42156/files/guia.pdf$$yGuía (idioma español)
000042156 980__ $$aGDOC$$bIngeniería y Arquitectura$$c110
000042156 980__ $$aGDOC$$bIngeniería y Arquitectura$$c326