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