B03-T05 Estructura de datos Flashcards

1
Q

Cuáles son los tipos de datos elemental

A

Numéricos, Alfabéticos, Especiales (fines aritméticos)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cuáles son los tipos de datos estructurados

A

Hay de dos tipos, simples y complejos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cuáles son los datos estructurados simples

A

Consituidos por una mínima estructura de datos denominados campos (por ejmplo, una dirección)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cuáles son los datos estructurados complejos

A

Listas, grafos, tablas (arrays,matrices), árboles, registros y ficheros

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Definición de tabla y array

A

Un array es una estructura de datos unidimensional, es decir, una colección lineal de elementos del mismo tipo, accesibles por un índice.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Elementos que componen una tabla

A
  • Definición de sus elementos (longitud y tipo de datos)
  • Índice: permite el acceso a los elementos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qué es una matriz

A

Es un array bidimensional, por lo tanto los índices son accesibles con dos índices.

Por lo general los lenguajes de programación solo permiten dos dimensiones como máximo de matriz

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cuáles son los tipos de tabla

A

Estáticas y dinámicas. Las dinámicas permiten alterarse durante el tiempo de ejecución

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qué una lista

A

Conjunto homogéno de de elementos
(nodos) entre los que existe una relación
linéal. Tiene similitudes con una array unidimensional, pero en algunas proframas de programación existen diferencias

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué diferencias se pueden encontrar entre una lista y un array unidimensional en algunos lenguajes de programación?

A

El tamaño de las lista es homogéneo, puede contener diferentes tipos de datos, contiene métodos avanzados y la gestión de memoria puede ser automática.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

En una lista, cuáles son los tres tipos posibles de inserción

A

En posición intermedia, al principio y al final de la lista

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cuáles son las posibles implementaciones de una lista

A
  • Secuencial: ocupan espacios contiguos de memoria (estática, dinámica)
  • Enlazada: cada nodo contiene valor y referencia a otro nodo y no es necesario que ocupen espacios de memoria contiguos (estática, dinámica)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cuáles son tipos de lista

A

Pilas, colas y listas doblemente enlzadas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Definición de pilas

A
  • Aplica la filosofía LIFO
  • Elimina y añade elementos por el principio
  • Vuelta atrás del navegadors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Definición de colas

A
  • Aplica la filosofía FIFO
  • Añade elementos por la cola y los elimina del inicio
  • Lista de esèra
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Definición de listas doblemente enlazadas

A
  • Cada nodo tiene un puntero el anterior y al nodo siguiente
  • Son listas bidireccionales
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Qué es un grafo

A

Es una estructura de datos compuesta de vértices o nodos y arcos o aristas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Tipos de conexión entre nodos o vertices en un grafo

A
  • Dirigidos, cuando están compuestos po nodos ordenados (se representa con arcos —>). Estos nodos se dirán que son adyacentes
  • No dirigido, compuesto por nodos desordenados (se representa con aristas —)-
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

En un grafo que es un ciclo

A

Un camino simple cerrado compuesto de al menos de tres nodos, es decir, que empieza y termina en el mismo nodo, y que no repite ni nodos ni aristas. Son importantes para evitar bucles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

En un grafo que un bluque

A

Es un arco o arista que conecta al nodo consigo mismo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Cómo se puede representar un grafo?

A

Mediante lista de adyacencia (lista o diccionario), matrices o estructuras enlazadas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Cómo se puede recorre un grafo

A
  • En anchura: de izquierda a derecha. Se visitan primero todos los nodos vecinos. Se usa una cola FIFO. Econtrar caminos már corto
  • En profundidad, de dentro hacia fuera. Sigue un camino hasta el final antes de retroceder. Se usa una pila (LIFO). Recorrer en profundidad con menos uso de memoria
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Definición de árbol

A

Estructura jerárquica no linéal, de relaciones padre-hijo entre nodos. Se puede considerar un tipo especial de grafo. Un árbol es un grafo, pero no todos los grafos son árboles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Cuál es la raíz de un árbol

A

El único nodo sin padre

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Cuál es el nodo interno de un árbol

A

El que tiene padres e hijos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Cuál es el nodo hoja de un árbol

A

El que tiene padre pero no tiene hijos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Árbol: qué es el grado de nodo

A

El número de hijos directos que tiene ese nodo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Cuál es grado de un árbol

A

Mayor grado de sus nodos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Definición de árbol binario

A

Sus nodos tienen como máximo dos nodos. Por ejemplo, los árboles de decisión. Por lo tanto, es un árbol de grado dos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Qué es una lista

A

Un árbol degenerado de grado uno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Cuál es la notación específica de los árboles

A
  • n: número de nodos
  • e: número de hojs
  • i: número de nodos internos
  • h: altura de un árbol
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Cuáles son los tipos de recorrido de profundidad de un árbol

A
  • in-orden: I, E, -H-, A,M
  • pre-orden: -H-, I, E, M, A
  • post-orden: E, I, A, M, -H-
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Características de los áboles binarios de búsqueda (BBB)

A
  • Cada nodo tiene como máximo 2 hijos
  • Orden: los valores menores del nodo van la izquierda y los mayores a la derecha
  • No puede haber valores duplicados
34
Q

Cuál es el principal inconveniente de los árboles binarios de búsqueda

A

Para que sean eficientes han de estar siempre balanceadso

35
Q

Dónde son últiles los árboles binarios de búsqueda

A

En bases de datos y sistemas de archivos

36
Q

Qué es un árbol binario de búsqueda AVN (Adelson-Velsky y Landis)

A

Es un árbol que se mantiene balanceado automáticamente.

37
Q

Qué significa que un árbol esté balanceado

A

Que la diferencia de altura de cualquier subárbol entre el brazo derecho e izquierdo nunca es mayor de 1

38
Q

¿Qué un árbol multicamino?

A

Son árboles de búsqueda cuyo grado es mayor de 2.

39
Q

Formas de implementación de un array multicamino

A
  • Diseñando los hijos como arrays de punteros
    [10 20]
    Los valores menores que 10 van al primer hijo.
    Los valores entre 10 y 20 van al segundo hijo.
    Los valores mayores que 20 van al tercer hijo.
  • Diseñando los hijos con punteros a su hermano y a su hijo
40
Q

Definición de árbol B

A

Es una estructura de datos de búsqueda multicamino balanceada, es decir, todas las hojas están al mismo nivel

41
Q

En un árbol multicamino, qué significa que está balanceado

A

Todas las hojas estás al mismo nivel

42
Q

Carácterísticas de un árbol B

A
  • Cada nodo puede contener múltiplesclaves y más de dos hijos
  • Está balanceados. Todas las hojas están almismo nivel
  • Optimizado para almacenamiento disco
43
Q

Derviados del arbol B

A

Árbol * y árbol +

44
Q

Qué es un árbol B+

A

Es un derivado del árbol B.
Está formado por dos partes:
- La información se guarda en nodos hoja.
- Los nodos interiores se utilizan como índices
- Secuencia: Páginas hoja enlazadas secuencialmente en las que se repiten las claves interiores
- Mayor eficiencia en las búsquedas

45
Q

Qué es un árbol B*

A

Es un derivado del árbol B.
- Un nodo se divide solo si su hermano también está lleno.
- Mejora la eficiencia del acceso directo.
- Reduce la altura del árbol
- La información se guarda en nodos hoja.
- Los nodos interiores se utilizan como índices

46
Q

¿Cómo se puede medir la eficiencia de un algortimo?

A
  • Empíricamente, ejecutarlos varias veces con distintos datos de entrada
  • Teóricamente. Determinación matemática cantidad de recursos
47
Q

¿Qué es el principio de invarianza en el contexto de eficiencia de un algoritmo?

A

Dos implementaciones distintas de un algoritmo (por ejemplo, en pcs con distintas capacidades) no diferencia en eficacia en más de una constate multiplicativa

48
Q

Eficiencia algoritmo: qué es T(n)

A

Representación unidades de tiempo abstraída –>
unidad de tiempo = tiempo ejecución instrucción simple en un PC idealizado

49
Q

Eficiencia algoritmo: cuál es el tiempo total de ejecución de un algoritmo

A

Sumatario tiempo ejecución operaciones que contiene:
- Una lectura de una variable
- Una sentencia condicional
- Un bucle
- El retorno de un valor…

50
Q

Eficiencia algoritmo: tipos de escenario que hay que definir, y anotación asintóticas

A
  • Caso peor. O(n). Por ejemplo, que un árbol de búsqueda el elemento se encuente el último lugar
  • Caso promedio Θ(n) (Caso promedio). Recorre la mitad de la lista
  • Caso más favorable Ω(n) (Mejor caso). Ejemplo, se encuentre en primer lugar
51
Q

Definición de eficiencia de un algoritmo

A

Hace referencia a la forma en que el tiempo de ejecución
para procesar una entrada de tamaño n crece cuando
se incrementa el valor de n
Solo importa el tamaño del input, es decir del problema
no la máquina en la que se ejecuta

52
Q

Definición de recursivdad algorítmica

A

Estrategia que consiste en dividir el problema original en varios más pequeños esto es en subproblemas

Debe hacer una o varias llamadas a sí mismo

53
Q

Ejemplo de resursividad algorítmica

A

Es el tipo de comporrtamiento
de la pila, a medida que finalizan los métodos
que se han ejecutado los últimos, van finalizando
los métodos ejecutados anteriormente

54
Q

Tipos de recursividad algorítmica

A
  • Directa: se hace referencia a sí mismo
  • Indirecta: cuando hace referencia a una función que referencia de nuevo al alfortimo
55
Q

¿Cual es el principal problema de la recursividad algorítmica?

A

Procesamiento duplicado. Que endiferentes partes de la rutina se procesen dos veces los mismos cálculos

56
Q

Recursividad vs iteración

A

La recursividad es menos efectia efectiva y usa una pila de llamadas. Aunque la iteración es buena cuando se conoce el número total de repeticiones necesarias

  • La recursividad y la iteración resuelven problemas repetitivos, pero la iteración es más eficiente en memoria y velocidad.
  • La recursividad es más intuitiva para estructuras jerárquicas como árboles y problemas matemáticos definidos de forma recursiva.
57
Q

Tipos de algoritmos de búsqueda

A
  • Búsqueda secuencial
  • Búsqueda binaria
  • Búsqueda por interpolación
  • Mediante árboles binarios de búsqueda
58
Q

En qué consiste la búsqueda secuencial

A

En la búsqueda lineal de un elemento. Su complejidad en el peor caso es O(n).

59
Q

Cuál es el principal problema de la búsqueda secuencial y la manera de solucionarlo

A

Ineficientes si los elementos más búscados están al final.
Posible solución, alteración del orden:
- Moverse al frente: el elemento encontrado se dispone al frente
- Trasposición: el elemento encontrado se intercambia con el registro que le precede

60
Q

¿Cuáles son los contextos en los que mejora la eificiencia de una búsqueda secuencial?

A
  • En una tabla ordenada
  • En una tabla indexada (se crea una tabla adicional)
61
Q

En qué consiste la búsqueda binaria

A

Es el sistema más eficiente en una tabla secuencial sin índices.

Básicamente se compara el argumento con la clave del elemento medio de la tabla.

Ver árboles binarios de búsqueda, procedimiento parecido

62
Q

¿Dónde no es aplicable la búsqueda binaria?

A

No es aplicable en situaciones donde se requieren muchas alteraciones de la tabla. Necesitamos un vector ordenado

63
Q

¿En que consiste la búsqueda por interpolación?

A

La búsqueda por interpolación es un algoritmo optimizado para buscar en listas ordenadas que mejora la búsqueda binaria cuando los datos están distribuidos de manera uniforme.

A diferencia de la búsqueda binaria que divide siempre por la mitad, en este caso estima la posición del valor buscado mediante una fórmula matemática

64
Q

Tipos de algoritmos de clasificación u ordenamiento

A

Eficientes:
- Clasificación rápida (Qicksort)
- Por montículos (heapsort)
- Intercalación (mergesort)
Simples:
- Clasificación por burbuja (bubblesort)
- Clasificación por inserción
- Clasificación por selección

65
Q

Definición de organización de ficheros

A

La organización de ficheros se refiere a la forma en que los datos son almacenados y estructurados dentro de archivos en un sistema
de almacenamiento (disco duro, SSD, base de datos, etc.).

66
Q

¿Cuáles son los modos básicos de organización de ficheros?

A
  • Organización secuencial:
  • Organización directa o aleatoria
67
Q

Características de la organización secuencia de ficheros

A
  • Almacena los registros en posiciones contiguas de memoria
  • El acceso se realiza en el mismo orden en que se grabaron
68
Q

¿Cuál es el principal problema de la organización secuencial de ficheros?

A

Inserción, modificación o eliminación de registros existentes

No se puede leer y escribir simultáneamente

Por lo tanto si queremos hacer cambios hay que crear un fichero nuevo
con todos los registros anteriores más los cambios

69
Q

¿Cuándo es apropiado la organización secuencial de ficheros?

A

Los únicos ficheros apropieados para esta organización
son los que son utilizados con una gran frecuencia

Es útil cuando solo se realizan lecturas secuenciales (ejemplo: reportes o logs).

70
Q

Características de la organización directa o aleatoria de ficheros

A
  • Se utiliza una clave de identificación
  • Los más rápidos para acceder los archivos porque no hay que leerlos todos
  • Acceso inmediato a los registros
  • No es necesario ordenar el fichero
  • No es necesario regenerar el fichero
71
Q

En la organización directa de ficheros, qué es el identificador

A

El identificador indica la posición física de almacenamiento. Lo puede hacer de manera directa o mediante un algoritmo de identificación.

Cuando dos registros obtienen la misma dirección de almacenamiento.

72
Q

Principales problemas de la organización directa (aleatoria) de archivos

A
  • Espacios vacíos en disco por asignaciones desiguales de registros.
  • Borrar un registro deja huecos que no se reutilizan fácilmente.
  • Si se agregan más registros de los previstos, la reubicación de datos es costosa.
  • Las colisiones y la gestión del espacio en disco pueden causar ineficiencia y pérdida de datos si no se manejan correctamente.
73
Q

¿Cómo puede ser utilizado el identificativo de registros?

A
  • Identificativo de orden: Utilizado para introducir los registros en el fichero
  • Identificativo de búsqueda: Utilizado para localizar registros dentro de un fichero
74
Q

Conceptos fundamentales en los derivados de la organización secuencial (tipos o versiones mejoradas

A
  • Puntero: Registro en memoria que contiene la dirección de una información Es un campo adicional que indica cuál es el anterior
    y el siguiente registro de la secuencia lógica
  • Índice: Tabla con direcciones de datos a los que se puede acceder de modo secuencial
75
Q

¿Cuáles son las variantes de la organización secuencial?

A
  • Organización secuencial indexada
  • Organización secuencial encadenada
  • Organización secuencial indexada encadenada
76
Q

¿En qué consiste la organización secuencial indexada de archivos?

A

Aprovecha lo mejor de cada uno de los métodos:
- Por un lado el almacenamiento secuencial de datos
- Por otra para almacenar las tablas de índices

77
Q

Principales problemas de la organización secuencial indexada de archivos

A
  • La inserción de archivos se realiza en una nueva zona overflow donde se almacenan desordenados
  • Cuando se borran registros no se produce su borrado como tal, sino que se marca para que sea ignorado. Si se producen varios borrados puede degradar el espacio en memoria
78
Q

¿En qué consiste la Organización secuencial encadenada de archivos?

A
  • En este sistema de organización se utilizan punteros. Cada registro contiene un puntero al siguiente registro. Por lo tanto facilita la inservición y eliminación de registros
  • Los registros se hacen al final por lo tanto su secuencia física y su secuencia lógica no coinciden
79
Q

¿Cuáles son los principales problemas de la organización secuencial encadenada de archivos?

A
  • Cuando se borran registros no se produce su borrado como tal, sino que se marca para que sea ignorado. Si se producen varios borrados puede degradar el espacio en memoria
80
Q

¿En qué consiste la organización secuencial indexada encadenada?

A

Utiliza punteros (para que la secuencia lógica no se pierda) en índices (por su parte permiten el acceso directo) simultáneamente

81
Q

¿En qué consiste la reorganización fichero secuencial indexado encadenado

A
  • Eliminar el área de desbordamiento
  • Eliminar físicamente las bajas lógicas
  • Dejar el fichero ordenado por el campo clave