Unidad 1 Recursividad Y Tipo Abstracto de Datos Flashcards
(21 cards)
¿Qué son las estructuras de datos?
Son una forma de organizar información o datos en la computadora.
¿Cuál es el propósito de las estructuras de datos?
Realizar operaciones con los datos de manera eficiente y desarrollar una solución óptima a un problema.
¿Que es la recursividad?
Es una característica de los lenguajes de programación que permite que un subprograma se invoque a si mismo.
¿Cuales son las características/partes de la recursividad?
1.- Caso base
2.- Caso recursivo
3.- Descomposición
4.- Solución combinada
¿Que es un caso base?
Es la condición que permite que el algoritmo detenga la recursividad.
¿Cuando se tiene una recursividad directa?
Cuando una función se llama explícitamente a si misma.
¿Cuando tenemos una recursividad indirecta?
Cuando una función hace referencia a otra función la cual hace una llamada a la función inicial.
¿Cuales son los objetivos del caso base?
1.- Actuar como condición de finalización.
2.- Ser el cimiento sobre el cual construir la solución completa.
¿Que es un caso recursivo?
Es la parte de la función que se llama a sí misma con un subproblema más pequeño.
¿Que es la descomposición?
Es cuando se divide el problema original en partes más pequeñas y manejables.
¿Que es la solución combinada?
Es cuando se combinan los resultados de los subproblemas para formar la solución del problema original.
¿Cuales son ejemplos de funciones recursivas?
°Factorial de un número
°Secuencia de Fibonacci
°Busqueda binaria
¿Que es un tipo abstracto de datos (TAD)?
Es una descripción formal de los comportamientos y operaciones que se pueden realizar sobre una colección de datos, sin especificar como se implementan.
¿Cuales son algunos ejemplos de TAD?
°Listas
°Pilas (Stacks)
°Colas (Queues)
°Arboles
¿Cuales son las operaciones básicas?
°Creacion
°Insercion
°Eliminacion
°Consulta
¿Que es la creación?
Es la inicializacion de una instancia del TAD.
¿Que es la inserción?
Es agregar un elemento.
¿Que es la eliminación?
Es quitar un elemento.
¿Que es la consulta?
Es obtener información sobre el contenido.
¿Que es un arreglo de diccionarios?
Es una estructura de datos que combina las características de un arreglo (índices) y un diccionario (pares clave-valor).
¿Que implica el desarrollo de una aplicación con TAD y archivos?
1.- Definir el TAD (Especificar las operaciones y comportamientos)
2.- Implementar el TAD (Escribir el codigo para las operaciones)
3.- Manipular archivos (Leer y escribir archivos para persistir en el estado del TAD)