B2 - T3 Tipos abstractos y estructuras de datos. Organizaciones de ficheros.Algoritmos. Organización de ficheros Flashcards

1
Q

Cual es la politica de acceso de una pila? (stack)

A

LIFO - Last in, first out

en las pilas, vamos ‘amontonando’ los datos, por tanto los ultimos que metemos, son los primeros que sacamos, ya que vamos ‘vaciando’ el montón

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

Como se almacenan los datos en una tabla hash?

A

Almacena pares de clave-valor

notas tabla hash: La tabla de Hash guarda la información en elementos que se le conocen como “slots” o “buckets” . Cada slot puede tener varias implementaciones, aunque la más común es una lista enlazada

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

Si tenemos un arbol con este aspecto… cual es el grado del nodo 50?

     50
/              \ 30              70 / \               / \ 20 40     60  80
A

2

el grado es el numero de hijos que tenemos

Nota: nivel 0 (soy la raíz) grado 2 (tengo dos hijos)

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

Si tenemos un arbol con este aspecto… cual es el grado del nodo 30?

     50
/              \ 30              70 / \               / \ 20 40     60  80
A

2
el grado es el numero de hijos que tenemos

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

Si tenemos un arbol con este aspecto… cual es el nivel de 50?

     50
/              \ 30              70 / \               / \ 20 40     60  80
A

0

El nivel de un nodo es la distancia desde la raíz al nodo (similar a la profundidad).

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

Si tenemos un arbol con este aspecto… cual es el nivel de 70?

     50
/              \ 30              70 / \               / \ 20 40     60  80
A

1

El nivel de un nodo es la distancia desde la raíz al nodo (similar a la profundidad).

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

Si tenemos un arbol con este aspecto… cual es el nivel de 60?

     50
/              \ 30              70 / \               / \ 20 40     60  80
A

2

El nivel de un nodo es la distancia desde la raíz al nodo (similar a la profundidad).

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

Si tenemos un arbol con este aspecto… cual es la profundidad de 40?

     50
   /     \
30      70

/ \       / \

20 40 60 80

A

2

La profundidad de un nodo es la longitud del camino desde la raíz hasta ese nodo.

PROFUNDIDAD = NIVEL

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

Que es el orden de un nodo?

A

El orden de un árbol es el número máximo de hijos que puede tener un nodo.

Para un árbol binario, el orden es 2.

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

Dado el siguiente arbol… cual seria la ruta si hacemos un PREORDEN?

                      F
              /              \
             B              G
          /      \               \
       A        D               i 
              /      \             \
             C       E            H
A

F-B-A-D-C-E-G-I-H

(RID) > raiz, izquierda, derecha

nota: (raiz, izquierda, derecha) Vamos desplazando la R, fijarse, empezando por PREORDEN (Rid), luego INORDEN (iRd), luego POSTORDEN (idR)

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

Dado el siguiente arbol… cual seria la ruta si hacemos un INORDEN?

                      F
              /              \
             B              G
          /      \               \
       A        D               i 
              /      \             \
             C       E            H
A

A-B-C-D-E-F-G-I-H

(IRD) > izquierda, raiz, derecha

nota: (raiz, izquierda, derecha) Vamos desplazando la R, fijarse, empezando por PREORDEN (Rid), luego INORDEN (iRd), luego POSTORDEN (idR)

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

Dado el siguiente arbol… cual seria la ruta si hacemos un POSTORDEN?

                      F
              /              \
             B              G
          /      \               \
       A        D               i 
              /      \             \
             C       E            H
A

A-C-E-D-B-H-I-G-F

(IDR) > izquierda, derecha, raiz

nota: (raiz, izquierda, derecha) Vamos desplazando la R, fijarse, empezando por PREORDEN (Rid), luego INORDEN (iRd), luego POSTORDEN (idR)

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

Que es un arbol binario?

A

Es un arbol en que cada nodo tiene como máximo dos hijos

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

Que es un arbol Equilibrado ? (auto-balanceable)

A

Aquel en que la diferencia de alturas de los subárboles izquierdo y derecho correspondiente a cualquier nodo del árbol no es superior a 1 (FE es -1, 0, 1)

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

Que es un arbol B?

A

A diferencia de los árboles binarios, los nodos en un árbol B pueden tener más de dos hijo, PERO todos los nodos hoja están al mismo nivel, lo que mantiene el árbol equilibrado

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

de qué orden es este grafo?

A —- B
| |
C —- D

A

Es de orden 4

nota: El orden de un grafo es el número o cantidad de vértices que tenga

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

Si hablamos de algoritmos de ordenación, en que consiste el QuickSort?

A

Algoritmo de ordenación eficiente que utiliza la técnica de divide y vencerás para particionar la lista en sublistas menores y mayores alrededor de un pivote, ordenando recursivamente cada sublista. NO es un algoritmo estable

Pasos:
- selecciona un pivote
- Reordena la lista, de modo que a la izquierda quedan los
menores del pivote y a la derecha los mayores
- Aplica nuevamente Quicksort (pivote + particion) de manera recursiva
- Combinar los resultados

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

Hablando de tecnicas de organizacion de ficheros por parte de los sistemas operativos, nombra algunos algoritmos de planificacion para acceder a los ficheros

A
  • FCFS: first come first serve
  • SSTF: shortest seek time first (selecciona el que la cabeza del disco está mas cerca, osea el que va a tardar menos en encontrar)
  • SCAN: la cabeza del disco va a un lado y cuando llega al final vuelve. va haciendo barridos
  • C-SCAN: igual que scan pero la aguja no vuelve sino que va dando vueltas

(tambien está el look y el c-look)

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

Recorrido IN ORDEN de este arbol

                     M
              /              \
             L              Q
          /      \               \
       K        N               R 
              /      \             \
             O       P            S
A

K, L, O, N, P, M, Q, R, S

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

Que es un monticulo (heap) ?

A

Un montículo (heap) es una estructura de datos especializada que se utiliza para gestionar un conjunto de elementos de manera que el más grande (o más pequeño, dependiendo del tipo de montículo) siempre esté accesible rápidamente.

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

Que diferencia hay entre los recorridos preorden, inorden, y postorden ?

A

1) Preorder:

Visita el nodo raíz primero
Luego recorre el subárbol izquierdo
Finalmente, recorre el subárbol derecho

Orden: Raíz, Izquierda, Derecha

Ejemplo: Dado el árbol [A, B, D, E, C, F], el recorrido preorden sería A, B, D, E, C, F

2) Inorder

Recorre el subárbol izquierdo primero
Luego visita el nodo raíz
Finalmente, recorre el subárbol derecho

Orden: Izquierda, Raíz, Derecha

Ejemplo: Dado el árbol [D, B, E, A, F, C], el recorrido inorden sería D, B, E, A, F, C

3) Postorden (Postorder):

Recorre el subárbol izquierdo primero
Luego recorre el subárbol derecho
Finalmente, visita el nodo raíz

Orden: Izquierda, Derecha, Raíz

Ejemplo: Dado el árbol [D, E, B, F, C, A], el recorrido postorden sería D, E, B, F, C, A

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

En relación con los algoritmos de búsqueda. ¿Qué es un árbol recubridor mínimo?

A

Es un subconjunto de las aristas que conecta todos los vértices sin ciclos y con el costo total más bajo posible

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

En relación con los algoritmos de búsqueda. ¿Qué es un camino mínimo entre dos vértices en un árbol ponderado?

A

La ruta de menor coste entre dos vértices específicos

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

En relación con los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo de PRIM? (T)

A

Para encontrar un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas

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

¿Cómo se llama el algoritmo de búsqueda de la teoría de los grafos para encontrar un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas? (T)

A

Algoritmo de PRIM

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo de búsqueda de KRUSKAL?

A

Para encontrar un árbol recubridor mínimo en un grafo conexo y ponderado. Es decir, busca un subconjunto de aristas que, formando un árbol, incluyen todos los vértices y donde el valor de la suma de todas las aristas del árbol es el mínimo

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

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos para encontrar un árbol recubridor mínimo en un grafo conexo y ponderado?

A

Algoritmo de KRUSKAL

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo DIJKSTRA?

A

El algoritmo de Dijkstra, también llamado algoritmo de caminos mínimos, es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de los vértices en un grafo con pesos en cada arista. No admite pesos negativos.

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

¿Cómo se llama el algoritmo de la teoría de grafos que determina el camino más corto dado un vértice origen al resto de los vértices en un grafo con pesos en cada arista?

A

Algoritmo de Dijkstra

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo de BELLMAN-FORD? (T)

A

Determina el camino más corto desde un único origen en un grafo dirigido o no dirigido. Admite que alguna de las aristas sea negativa

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

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que determina el camino más corto desde un único origen en un grafo dirigido o no dirigido. Admite que alguna de las aristas sea negativa?

A

Algoritmo de BELLMAN-FORD

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo FLOYD-WARSHALL? (T)

A

Determina el camino mínimo en grafos dirigidos ponderados. Encuentra el camino entre todos los pares de vértices en una única ejecución

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

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que determina el camino mínimo en grafos dirigidos ponderados en una única ejecución?

A

Algoritmo de FLOYD-WARSHALL

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el Algoritmo A*?

A

Encuentra, siempre y cuando se cumplan unas determinadas condiciones, el camino de menor coste entre un nodo origen y uno objetivo

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

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que encuentra, siempre y cuando se cumplan unas determinadas condiciones, el camino de menor coste entre un nodo origen y uno objetivo?

A

Algoritmo A*

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo JOHNSON?

A

Encuentra el camino más corto entre todos los pares de vértices de un grafo dirigido disperso

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

¿Cómo se llama el algoritmo de búsqueda, según la teoría de grafos, que encuentra el camino más corto entre todos los pares de vértices de un grafo dirigido disperso?

A

Algoritmo de JOHNSON

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo FORD-FULKERSON? (T)

A

Para encontrar el flujo máximo en una red de flujo

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

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que sirve para encontrar el flujo máximo en una red de flujo? (T)

A

Algoritmo de FORD-FULKERSON

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo TARJAN?

A

Para encontrar componentes fuertemente conexos en un grafo dirigido

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

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que sirve para encontrar componentes fuertemente conexos en un grafo dirigido?

A

Algoritmo de TARJAN

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

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo VITERBI? (T)

A

Permite hallar la secuencia más probable de estados ocultos

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

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que permite hallar la secuencia más probable de estados ocultos? (T)

A

Algoritmo de VITERBI

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

Nombra algoritmos de búsqueda de la teoría de grafos

A

PRIM

KRUSKAL

DIJKSTRA

BELLMAN-FORD

FLOYD-WARSHALL

Algoritmo A*

JOHNSON

FORD-FULKERSON

TARJAN

VITERBI

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

Algoritmos de ordenación, nombra alguno

A

Burbuja
Quick Sort
Selection
HeapSort
Inserción
ShellSort
Merge sorts
Bucket sort o Bin Sort
Radix Sort

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

¿Cómo funciona el algoritmo de ordenación Burbuja o Bubble Sort?

A

Algoritmo natural que recorre repetidamente la lista, comparando pares de elementos adyacentes y los intercambia si están en el orden incorrecto

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

¿En qué consiste el algoritmo de ordenación de Inserción? (T)

A

Comienza con una lista vacía y toma elementos de la lista original uno por uno.
Para cada nuevo elemento, encuentra su posición correcta en la lista ordenada y lo inserta allí, desplazando los elementos más grandes si es necesario

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

¿En qué consiste el algoritmo de ordenación Shell o ShellSort?

A

Permite intercambiar elementos que están lejos unos de otros para reducir la cantidad de desplazamientos necesarios para ordenar la lista. Algoritmo estable

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

¿En qué consiste el algoritmo de ordenación MergeSort?

A

Algoritmo de ordenación eficiente que también utiliza la técnica de divide y vencerás.
Divide la lista en mitades, ordena cada mitad y luego las combina para formar una lista ordenada.

Funcionamiento:
1. División
2. Recursión
3. Combinación (Merge)

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

¿En qué consiste el algoritmo de ordenación HeapSort o Montículos?

A

Funcionamiento:
1. Construcción de Montículos: Se reorganiza el array para que cumpla con las propiedades del montículo (máximo o mínimo)
2. Se aplica el proceso de heapify para restaurar las propiedades del montículo en la raíz. Este proceso se repite hasta que todos los elementos estén ordenados

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

¿En qué consiste el algoritmo de ordenación de Selección? (T)

A

Seleccionar el número más pequeño

Funcionamiento:
1. Buscar el mínimo: Encuentra el elemento más pequeño en la parte desordenada del array.
2. Intercambiar: Intercambia este elemento con el primer elemento de la parte desordenada.
3. Repetir el algoritmo

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

¿En qué consiste el algoritmo de ordenación RadixSort? (T)

A

Funcionamiento:
1. Los elementos se agrupan en “bandejas” (buckets), seleccionando con qué dígito empezar a ordenar
2. Se selecciona el elemento menos significativo y se le añade a su bucket correspondiente
3. Sacar elementos de las cubetas en orden
4. Se selecciona el segundo elemento menos significativo y se le añade a su bucket correspondiente
5. Sacar elementos de las cubetas en orden y ya queda ordenado

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

¿En qué consiste el algoritmo de ordenación BucketSort?

A

Funcionamiento:
1. Metemos los números en cubetas o buckets con el reparto que consideremos, por ejemplo en bloques de 10 números.
2. Ordenamos cada cubeta o bucket con el algoritmo que consideremos
3. Extraemos los números en orden

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

Tipos de grafos

A

Dirigidos ó digrafo: aquel en el que todas sus aristas tienen sentido o dirección

No dirigidos: las aristas representan relaciones simétricas y no tienen un sentido definido. Todas sus aristas son bidireccionales.

Conexo: es posible llegar desde cualquier nodo del grafo a cualquier otro nodo a través de una secuencia de aristas (conexiones) sin importar cuán larga sea esa secuencia.

Multigrafo: más de una arista entre vértices

Etiquetado/ponderado: las aristas tienen un valor o peso asociado

Completo: cada par de vértices está conectado por una arista.

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

¿Cuál de las siguientes opciones NO es una característica de la asignación de espacio de almacenamiento enlazada?

a) Los bloques de un fichero son nodos de una lista enlazada.

b) Genera fragmentación externa.

c) Ineficiencia con el acceso directo.

d) Cada bloque contiene un indicador del siguiente bloque con datos del fichero.

A

B

Genera fragmentación externa.

La asignación enlazada genera fragmentación interna, no externa

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

¿Qué formato de archivo de imagen soporta animaciones y tiene una paleta de colores limitada a 256?

a) .jpg
b) .png
c) .gif
d) .bmp

A

C

gif

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

¿Cuál de las siguientes afirmaciones sobre los árboles B es FALSA?

a) Son árboles autoequilibrados.

b) Los nodos pueden tener más de dos hijos.

c) Se utilizan comúnmente en sistemas de bases de datos y sistemas de archivos.

d) La búsqueda de elementos en un árbol B tiene una complejidad temporal de O(n) en el peor de los casos.

A

D

La búsqueda de elementos en un árbol B tiene una complejidad temporal de O(n) en el peor de los casos.

nota: La búsqueda, inserción y borrado en un árbol B tienen una complejidad temporal de O(log(n))

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

En un arbol, que es ….

  • nodo hoja
  • grado
  • orden
  • nivel
  • profundidad
  • altura de un nodo
  • anchura
A
  • nodo hoja: nodo que no tiene descendientes
  • grado: numero de hijos
  • orden. numero maximo teorico de hijos posibles
  • nivel: num de ramas que hay que recorrer hasta raiz
  • profundidad: igual que nivel
  • altura de un nodo: numero total de nodos hijos
  • anchura: el ancho del arbol

nota: remember que el nivel empieza por 0

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

Dado este arbol… dime del nodo 4 su nivel, profundidad, altura y anchura

1
/ \
2 3
/
4

A
  • Nivel y profundidad es 2 (0,1, 2)
  • Altura es 0 (es el ultimo)
  • Anchura es 1 . La anchura del árbol sería 2
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

Dado este arbol… dime del nodo 1 su nivel, profundidad , altura y anchura

1
/ \
2 3
/
4

A
  • Nivel y profundidad es 0
  • Altura es 2
  • Anchura es 1 (la anchura del árbol sería 2)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

¿Cuál de las siguientes NO es una implementación de un Array Asociativo?

a) Montículo
b) Lista enlazada
c) Tabla Hash
d) Arbol

A

D

Arbol

Explicación: Un Array Asociativo, también conocido como diccionario o mapa, es una estructura de datos que asocia claves únicas a valores. Las implementaciones comunes incluyen listas enlazadas, tablas hash y montículos. Los árboles, si bien son estructuras de datos útiles, no se utilizan para implementar Arrays Asociativos.

61
Q

Cuál de los siguientes algoritmos de ordenación tiene la mejor complejidad temporal en el caso promedio?

a) Merge Sort
b) Bubble Sort
c) Insertion Sort
d) Selection Sort

A

A

Merge Sort

Explicación: La complejidad temporal en el caso promedio de Merge Sort es O(n log n), que es mejor que la complejidad de Bubble Sort, Insertion Sort y Selection Sort, que es O(n^2) en el caso promedio.

62
Q

¿Cuál de los siguientes NO es un tipo de grafo?

a) Dirigido
b) No dirigido
c) Ponderado
d) Ordenado

A

D

Ordenado

Explicación: Los grafos se clasifican en dirigidos, no dirigidos y ponderados. Un grafo dirigido tiene aristas con una dirección específica, mientras que un grafo no dirigido tiene aristas sin dirección. Un grafo ponderado tiene pesos asociados a sus aristas. El término “ordenado” no se utiliza para clasificar grafos.

63
Q

Nombra 3 algoritmos de búsqueda en grafos (T)

A

Prim (ARM), Kruskal (ARM), Dijkstra (CM)

64
Q

¿En qué consiste el algoritmo de BELLMAN-FORD según los algoritmos de búsqueda de la teoría de grafos?

a) Encuentra el camino más largo en un grafo dirigido.

b) Encuentra el camino más corto desde un único origen en un grafo dirigido, permitiendo pesos negativos.

c) Encuentra el camino más corto entre todos los pares de nodos en un grafo dirigido.

d) Encuentra el camino más corto en un grafo no dirigido con todas las aristas de peso positivo.

A

B

Encuentra el camino más corto desde un único origen en un grafo dirigido, permitiendo pesos negativos.

65
Q

¿Cómo funciona el algoritmo de ordenación Burbuja (Bubble Sort)?

A) Recurre a un árbol binario para ordenar los elementos mediante intercambios entre los nodos.

B) Utiliza una pila para comparar y ordenar elementos en pares consecutivos.

C) Compara y, si es necesario, intercambia elementos adyacentes repetidamente hasta que la lista esté ordenada.

D) Implementa una búsqueda binaria para ordenar elementos a través de divisiones recursivas.

A

C

Compara y, si es necesario, intercambia elementos adyacentes repetidamente hasta que la lista esté ordenada.

66
Q

En el contexto de los algoritmos de búsqueda, ¿qué es un árbol recubridor mínimo (MST, por sus siglas en inglés)?

A) Un árbol binario que contiene todos los nodos y minimiza la profundidad del árbol.

B) Un subgrafo cíclico que incluye todos los vértices y tiene el menor peso total posible.

C) Un árbol que conecta todos los vértices de un grafo sin ciclos y con el menor peso total posible.

D) Un grafo no dirigido que tiene el máximo número de aristas posibles sin formar ciclos.

A

C

Un árbol que conecta todos los vértices de un grafo sin ciclos y con el menor peso total posible.

Árbol recubridor mínimo (MST): Es un subgrafo del grafo original que conecta todos los vértices sin formar ciclos y con el menor peso total de las aristas. Es fundamental en diversos problemas de optimización y búsqueda, como la planificación de redes.

67
Q

¿En qué consiste el algoritmo de ordenación HeapSort o Montículos?

A) Divide la lista en dos sublistas y las ordena recursivamente.

B) Construye un montículo (heap) y extrae el elemento máximo (o mínimo) repetidamente para formar una lista ordenada.

C) Utiliza la técnica de “Divide y Vencerás” para ordenar las sublistas de manera independiente.

D) Realiza intercambios de elementos adyacentes repetidamente hasta que la lista esté ordenada.

A

B

Construye un montículo (heap) y extrae el elemento máximo (o mínimo) repetidamente para formar una lista ordenada.

Algoritmo de ordenación HeapSort (Montículos): Es un algoritmo de ordenación que utiliza una estructura de datos conocida como montículo (heap). Primero, se construye un max-heap o min-heap a partir de los datos de entrada. Luego, se extrae repetidamente el elemento máximo (para max-heap) o mínimo (para min-heap) y se coloca en la posición adecuada de la lista ordenada, reduciendo el tamaño del heap en cada paso.

68
Q

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo Viterbi?

A) Determina el camino más corto en grafos dirigidos ponderados utilizando una pila.

B) Calcula el árbol recubridor mínimo en un grafo no dirigido.

C) Encuentra la secuencia más probable de estados ocultos en un modelo de Markov oculto.

D) Resuelve el problema del flujo máximo en una red de flujo.

A

C

Encuentra la secuencia más probable de estados ocultos en un modelo de Markov oculto.

Algoritmo Viterbi: Es un algoritmo dinámico que se utiliza para encontrar la secuencia más probable de estados ocultos en un modelo de Markov oculto (HMM, por sus siglas en inglés). Es ampliamente utilizado en áreas como el reconocimiento de voz, la biología computacional y la corrección de errores en códigos.

69
Q

¿Qué algoritmo de planificación de disco puede causar “inanición” de solicitudes, especialmente aquellas ubicadas en los extremos del disco?

a) SSTF (Shortest Seek Time First)
b) FCFS (First-Come, First-Served)
c) SCAN (Elevator Algorithm)
d) C-SCAN (Circular SCAN)

A

A

SSTF (Shortest Seek Time First)

70
Q

¿Cuál es la principal diferencia entre un grafo dirigido y uno no dirigido?

A

En un grafo dirigido, las aristas tienen dirección; en uno no dirigido, las aristas son bidireccionales

71
Q

¿Qué técnica de gestión de colisiones en tablas hash implica colocar un nuevo elemento en una posición diferente de la tabla si su posición original está ocupada? (T)

A

Hashing Cerrado

72
Q

¿Cuál de las siguientes opciones NO es un algoritmo de búsqueda en grafos?

a) Merge Sort
b) DIJKSTRA
c) Prim
d) Bellman-Ford

A

A

Merge Sort

Merge Sort es un algoritmo de ordenación, no de búsqueda en grafos

73
Q

En un árbol binario, ¿qué tipo de recorrido visita primero la raíz, luego el subárbol izquierdo y finalmente el subárbol derecho?

a. Preorden (PreOrder)
b. Inorden (InOrder)
c. Postorden (PostOrder)
d. Ninguno de los anteriores

A

A

Preorden (PreOrder)

74
Q

¿Cuál es la complejidad temporal en el peor caso del algoritmo Quicksort?

75
Q

¿Qué estructura de datos utiliza un montículo (heap) para su implementación?

76
Q

¿Cuál de las siguientes afirmaciones sobre el algoritmo Quick Sort es correcta?

a) Quick Sort tiene una complejidad temporal promedio de O(n).

b) Quick Sort es un algoritmo de ordenación interna que utiliza el enfoque de divide y vencerás.

c) Quick Sort siempre garantiza el mejor caso de complejidad temporal en O(n log n).

d) Quick Sort no utiliza un pivote para particionar el array.

A

B

Quick Sort es un algoritmo de ordenación interna que utiliza el enfoque de divide y vencerás.

77
Q

¿Cómo se llama el algoritmo de la teoría de grafos que determina el camino más corto dado un vértice origen al resto de los vértices en un grafo con pesos en cada arista?

a) Algoritmo de Prim

b) Algoritmo de Floyd-Warshall

c) Algoritmo de Bellman-Ford

d) Algoritmo de Dijkstra

A

D

Algoritmo de Dijkstra

a) Algoritmo de Prim: Este algoritmo se utiliza para encontrar el árbol de expansión mínima en un grafo conexo con pesos. No se centra en encontrar el camino más corto desde un vértice origen al resto de los vértices, sino en conectar todos los vértices del grafo con el costo total mínimo.

b) Algoritmo de Floyd-Warshall: Este algoritmo se utiliza para encontrar los caminos más cortos entre todos los pares de vértices en un grafo con pesos. Aunque es muy útil, no se ajusta específicamente a la descripción de encontrar el camino más corto desde un único vértice origen al resto de los vértices.

c) Algoritmo de Bellman-Ford: Aunque este algoritmo puede determinar el camino más corto desde un vértice origen al resto de los vértices en un grafo con pesos, también puede manejar grafos con pesos negativos. Sin embargo, dado que la pregunta no menciona específicamente la capacidad de manejar pesos negativos, la respuesta más específica y directa a la pregunta sería el algoritmo de Dijkstra, que es más eficiente en grafos sin pesos negativos.

d) Algoritmo de Dijkstra: Este algoritmo es el más adecuado para la descripción dada, ya que se utiliza específicamente para encontrar el camino más corto desde un vértice origen al resto de los vértices en un grafo con pesos no negativos.

78
Q

¿En qué consiste el Algoritmo A* según los algoritmos de búsqueda de la teoría de grafos?

a) Utiliza una función heurística para encontrar el camino más corto en un grafo ponderado.

b) Encuentra el árbol de expansión mínima en un grafo conexo.

c) Calcula el camino más corto entre todos los pares de vértices en un grafo.

d) Es un algoritmo específico para grafos no dirigidos sin pesos.

A

A

Utiliza una función heurística para encontrar el camino más corto en un grafo ponderado.

79
Q

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos para encontrar un árbol recubridor mínimo en un grafo conexo y ponderado?

a) Algoritmo de Dijkstra

b) Algoritmo de Kruskal

c) Algoritmo de Bellman-Ford

d) Algoritmo A*

A

B

Algoritmo de Kruskal

80
Q

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo Viterbi?

a) Encuentra el camino más corto entre dos nodos en un grafo ponderado.

b) Resuelve el problema de la alineación de secuencias en bioinformática.

c) Encuentra el árbol de expansión mínima en un grafo conexo.

d) Determina la secuencia más probable de estados ocultos en un modelo de Markov oculto.

A

D

Determina la secuencia más probable de estados ocultos en un modelo de Markov oculto.

81
Q

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que encuentra, siempre y cuando se cumplan unas determinadas condiciones, el camino de menor coste entre un nodo origen y uno objetivo?

a) Algoritmo de Bellman-Ford

b) Algoritmo de Dijkstra

c) Algoritmo de Prim

d) Algoritmo A*

A

D

Algoritmo A*

remember.. que se cumplan condiciones

82
Q

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que sirve para encontrar componentes fuertemente conexos en un grafo dirigido?

a) Algoritmo de Dijkstra

b) Algoritmo de Bellman-Ford

c) Algoritmo de Prim

d) Algoritmo de Tarjan

A

D

Algoritmo de Tarjan

remember: Tarzán se agarra fuertemente a las lianas para no caerse

83
Q

¿En qué consiste el algoritmo de ordenación de Selección?

a) Es un algoritmo de ordenación interna que utiliza una función de hash para distribuir elementos en diferentes contenedores.

b) Es un algoritmo de ordenación externa que usa archivos en disco para ordenar grandes cantidades de datos.

c) Es un algoritmo de ordenación interna que selecciona repetidamente el elemento más pequeño del array no ordenado y lo intercambia con el primer elemento no ordenado.

d) Es un algoritmo de ordenación que construye un árbol de búsqueda binaria a partir de los elementos del array.

A

C

Es un algoritmo de ordenación interna que selecciona repetidamente el elemento más pequeño del array no ordenado y lo intercambia con el primer elemento no ordenado.

84
Q

¿Qué es un árbol equilibrado (auto-balanceable)?

a) Un árbol en el que todos los nodos tienen el mismo número de hijos.

b) Un árbol en el que la altura de los subárboles izquierdo y derecho de cualquier nodo difiere en no más de una unidad.

c) Un árbol en el que los nodos hoja están todos en el mismo nivel.

d) Un árbol que no necesita operaciones de reequilibrio después de inserciones o eliminaciones de nodos.

A

B

Un árbol en el que la altura de los subárboles izquierdo y derecho de cualquier nodo difiere en no más de una unidad.

85
Q

¿En qué consiste el algoritmo de ordenación Shell o ShellSort?

a) Es un algoritmo de ordenación que utiliza una función de hash para distribuir elementos en diferentes contenedores.

b) Es un algoritmo de ordenación que clasifica los elementos mediante un procedimiento de mezcla.

c) Es un algoritmo de ordenación que compara y ordena elementos distantes y reduce el intervalo de comparación progresivamente.

d) Es un algoritmo de ordenación que construye un árbol de búsqueda binaria a partir de los elementos del array.

A

C

Es un algoritmo de ordenación que compara y ordena elementos distantes y reduce el intervalo de comparación progresivamente.

86
Q

En relación con los algoritmos de búsqueda, ¿qué es un camino mínimo entre dos vértices en un árbol ponderado?

a) Es el camino más largo posible entre dos vértices.

b) Es el camino con la menor cantidad de vértices.

c) Es el camino con el menor costo total de las aristas que conectan los vértices.

d) Es el camino que pasa por el mayor número de aristas.

A

C

Es el camino con el menor costo total de las aristas que conectan los vértices.

87
Q

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que permite hallar la secuencia más probable de estados ocultos?

a) Algoritmo de Dijkstra

b) Algoritmo de Kruskal

c) Algoritmo de Bellman-Ford

d) Algoritmo Viterbi

A

D

Algoritmo Viterbi

viterbi, ocultos

88
Q

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que determina el camino más corto desde un único origen en un grafo dirigido o no dirigido. Admite que alguna de las aristas sea negativa?

a) Algoritmo de Dijkstra

b) Algoritmo de Kruskal

c) Algoritmo de Bellman-Ford

d) Algoritmo A*

A

C

Algoritmo de Bellman-Ford

89
Q

¿Cómo se almacenan los datos en una tabla hash?

a) Los datos se almacenan en una lista enlazada que se recorre de principio a fin.

b) Los datos se almacenan en una estructura de árbol binario de búsqueda.

c) Los datos se almacenan en una tabla mediante una función de hash que determina el índice en el que se guarda cada elemento.

d) Los datos se almacenan en una pila donde el último elemento insertado es el primero en ser eliminado.

A

C

Los datos se almacenan en una tabla mediante una función de hash que determina el índice en el que se guarda cada elemento.

90
Q

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo de Bellman-Ford?

a) Encuentra el árbol de expansión mínima en un grafo conexo seleccionando siempre la arista de menor peso que conecta un vértice en el árbol con un vértice fuera de él.

b) Encuentra los componentes fuertemente conexos en un grafo dirigido.

c) Determina el camino más corto desde un único origen en un grafo dirigido o no dirigido, admitiendo que algunas de las aristas tengan peso negativo.

d) Resuelve el problema de la alineación de secuencias en bioinformática.

A

C

Determina el camino más corto desde un único origen en un grafo dirigido o no dirigido, admitiendo que algunas de las aristas tengan peso negativo.

91
Q

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que sirve para encontrar el flujo máximo en una red de flujo?

a) Algoritmo de Dijkstra

b) Algoritmo de Kruskal

c) Algoritmo de Ford-Fulkerson

d) Algoritmo de Bellman-Ford

A

C

Algoritmo de Ford-Fulkerson

92
Q

¿En qué consiste el algoritmo de ordenación RadixSort?

a) Es un algoritmo de ordenación que compara y ordena elementos distantes y reduce el intervalo de comparación progresivamente.

b) Es un algoritmo de ordenación que utiliza una función de hash para distribuir elementos en diferentes contenedores.

c) Es un algoritmo de ordenación que clasifica los elementos por sus dígitos, desde el dígito menos significativo hasta el más significativo.

d) Es un algoritmo de ordenación que construye un árbol de búsqueda binaria a partir de los elementos del array.

A

C

Es un algoritmo de ordenación que clasifica los elementos por sus dígitos, desde el dígito menos significativo hasta el más significativo.

93
Q

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que determina el camino mínimo en grafos dirigidos ponderados en una única ejecución?

a) Algoritmo de Dijkstra

b) Algoritmo de Kruskal

c) Algoritmo de Bellman-Ford

d) Algoritmo de Floyd-Warshall

A

D

Algoritmo de Floyd-Warshall

nota: 1 sola ejecucion

94
Q

¿En qué consiste el algoritmo de ordenación HeapSort o Montículos?

a) Es un algoritmo de ordenación que utiliza una función de hash para distribuir elementos en diferentes contenedores.

b) Es un algoritmo de ordenación que clasifica los elementos mediante un procedimiento de mezcla.

c) Es un algoritmo de ordenación que convierte el array en un montón (heap) y luego extrae el elemento máximo (o mínimo) repetidamente para ordenar el array.

d) Es un algoritmo de ordenación que compara y ordena elementos distantes y reduce el intervalo de comparación progresivamente.

A

C

Es un algoritmo de ordenación que convierte el array en un montón (heap) y luego extrae el elemento máximo (o mínimo) repetidamente para ordenar el array.

95
Q

¿Para qué sirve la técnica de programación dinámica?

a) Para ejecutar programas en paralelo y reducir el tiempo de cómputo en aplicaciones de alta demanda.

b) Para almacenar resultados intermedios de subproblemas en una tabla y evitar cálculos redundantes, optimizando así el rendimiento de algoritmos.

c) Para desarrollar aplicaciones en tiempo real con baja latencia y alta disponibilidad.

d) Para cifrar datos sensibles en aplicaciones de red utilizando claves asimétricas.

A

B

Para almacenar resultados intermedios de subproblemas en una tabla y evitar cálculos redundantes, optimizando así el rendimiento de algoritmos.

Breve explicación: La programación dinámica es una técnica de optimización algorítmica que se utiliza para resolver problemas complejos dividiéndolos en subproblemas más simples. Al almacenar los resultados de estos subproblemas en una tabla, se evita recalcular los mismos resultados múltiples veces, mejorando significativamente la eficiencia y el rendimiento del algoritmo.

Por qué las otras opciones son incorrectas:

a) Para ejecutar programas en paralelo y reducir el tiempo de cómputo en aplicaciones de alta demanda: Esto describe la computación paralela, no la programación dinámica.

c) Para desarrollar aplicaciones en tiempo real con baja latencia y alta disponibilidad: Esto se relaciona con el diseño de sistemas en tiempo real, no con la programación dinámica.

d) Para cifrar datos sensibles en aplicaciones de red utilizando claves asimétricas: Esto se refiere a la criptografía, no a la programación dinámica.

96
Q

¿Cuál de las siguientes afirmaciones describe correctamente el algoritmo Floyd-Warshall?

A) Calcula la distancia mínima entre un solo par de vértices en un grafo.

B) Utiliza programación dinámica para encontrar el camino más corto entre todos los pares de vértices en un grafo ponderado.

C) Solo funciona con grafos no dirigidos y sin pesos negativos.

D) Es un algoritmo de búsqueda en profundidad que explora todos los caminos posibles.

A

B

Utiliza programación dinámica para encontrar el camino más corto entre todos los pares de vértices en un grafo ponderado.

97
Q

¿Cuál de las siguientes afirmaciones describe correctamente el algoritmo de ordenación por selección?

A) Ordena los elementos mediante la inserción de cada nuevo elemento en su posición correcta.

B) Busca el elemento más grande y lo coloca al final de la lista en cada iteración.

C) Encuentra el elemento más pequeño en la lista y lo intercambia con el primer elemento, repitiendo este proceso para los elementos restantes.

D) Utiliza un enfoque de divide y vencerás para ordenar los elementos.

A

C

Encuentra el elemento más pequeño en la lista y lo intercambia con el primer elemento, repitiendo este proceso para los elementos restantes.

98
Q

¿Cuál de las siguientes afirmaciones describe correctamente el algoritmo de Prim en la teoría de grafos?

A) Encuentra el camino más corto entre dos vértices en un grafo dirigido.

B) Utiliza una estrategia codiciosa para construir un árbol de expansión mínima conectando todos los vértices de un grafo no dirigido y ponderado.

C) Requiere que el grafo sea dirigido y no puede manejar pesos negativos.

D) Se basa en un enfoque de divide y vencerás para dividir el grafo en subgrafos más pequeños.

A

B

Utiliza una estrategia codiciosa para construir un árbol de expansión mínima conectando todos los vértices de un grafo no dirigido y ponderado.

El algoritmo de Prim es un método eficiente que busca crear un árbol de expansión mínima (MST) al seleccionar repetidamente la arista de menor peso que conecta un vértice en el árbol en construcción con un vértice fuera del árbol, asegurando que se minimice el peso total del árbol.

99
Q

¿Cuál de las siguientes afirmaciones describe correctamente el algoritmo Viterbi en la teoría de grafos?

A) Se utiliza para encontrar el camino más corto entre dos vértices en un grafo no dirigido.

B) Es un algoritmo de programación dinámica que determina la secuencia más probable de estados ocultos en un modelo de Markov.

C) Calcula la distancia mínima entre todos los pares de vértices en un grafo ponderado.

D) Es un algoritmo de búsqueda en profundidad que explora todos los caminos posibles en un grafo.

A

B

Es un algoritmo de programación dinámica que determina la secuencia más probable de estados ocultos en un modelo de Markov.

El algoritmo Viterbi se utiliza principalmente en el contexto de modelos ocultos de Markov (HMM), donde busca encontrar la secuencia más probable de estados ocultos dados una serie de observaciones.

100
Q

¿Cuál de las siguientes afirmaciones describe correctamente el algoritmo Bellman-Ford en la teoría de grafos?

A) Encuentra el camino más corto en un grafo no dirigido y ponderado sin considerar pesos negativos.

B) Utiliza una técnica voraz para seleccionar el nodo de menor peso y relajar las aristas.

C) Calcula el camino más corto desde un nodo origen a todos los demás nodos, permitiendo pesos negativos en las aristas.

D) Solo funciona en grafos dirigidos y no puede detectar ciclos negativos.

A

C

Calcula el camino más corto desde un nodo origen a todos los demás nodos, permitiendo pesos negativos en las aristas.

El algoritmo Bellman-Ford es eficaz para encontrar la ruta más corta en un grafo dirigido y ponderado, incluso cuando hay aristas con pesos negativos, y también puede detectar ciclos negativos en el grafo.

101
Q

¿Cuál es el nombre del algoritmo de búsqueda en la teoría de grafos que se utiliza para encontrar el flujo máximo en una red de flujo?

A) Algoritmo de Dijkstra
B) Algoritmo de Prim
C) Algoritmo de Bellman-Ford
D) Algoritmo de Ford-Fulkerson

A

D

Algoritmo de Ford-Fulkerson

El algoritmo de Ford-Fulkerson se utiliza para calcular el flujo máximo en una red de flujo, permitiendo determinar la cantidad máxima de flujo que puede transportarse desde un nodo fuente a un nodo sumidero.

102
Q

¿Cómo se llama el algoritmo que encuentra un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas?

A) Algoritmo de Dijkstra
B) Algoritmo de Prim
C) Algoritmo de Bellman-Ford
D) Algoritmo de Floyd-Warshall

A

B

Algoritmo de Prim

103
Q

¿Cuál es otro algoritmo comúnmente utilizado para encontrar un árbol recubridor mínimo?

A) Algoritmo de A*
B) Algoritmo de Kruskal
C) Algoritmo de Ford-Fulkerson
D) Algoritmo de Johnson

A

B

Algoritmo de Kruskal

104
Q

¿Qué estructura de datos es comúnmente utilizada en el algoritmo de Prim para mantener las aristas candidatas?

A) Cola de prioridad
B) Lista enlazada
C) Pila
D) Árbol binario

A

A

Cola de prioridad

105
Q

En el algoritmo de Kruskal, ¿qué se utiliza para evitar la formación de ciclos al agregar aristas?

A) Un árbol binario
B) Un conjunto disjunto
C) Una lista de adyacencia
D) Una matriz de adyacencia

A

B

Un conjunto disjunto

106
Q

¿Cuál es la principal diferencia entre los algoritmos de Prim y Kruskal?

A) Prim comienza con un vértice y expande el árbol, mientras que Kruskal selecciona aristas.

B) Kruskal es más rápido que Prim en todos los casos.

C) Prim solo funciona en grafos dirigidos.

D) Kruskal no garantiza un árbol recubridor mínimo

A

A

Prim comienza con un vértice y expande el árbol, mientras que Kruskal selecciona aristas.

107
Q

¿Qué tipo de grafos pueden ser utilizados con los algoritmos de Prim y Kruskal?

A) Solo grafos dirigidos.

B) Grafos conexos y no dirigidos con pesos en las aristas.

C) Grafos no conexos.

D) Grafos bipartitos solamente.

A

B

Grafos conexos y no dirigidos con pesos en las aristas.

108
Q

¿Qué técnica se utiliza para resolver colisiones mediante la aplicación de una segunda función hash?

A) Sondeo lineal
B) Doble hash
C) Encadenamiento
D) Rehashing

A

B

Doble hash

109
Q

¿Qué es Radix Sort?

A) Un algoritmo de ordenación basado en comparaciones.

B) Un algoritmo de ordenación no comparativa que organiza los elementos procesando sus dígitos de forma individual.

C) Un método para buscar elementos en una lista.

D) Un algoritmo que solo ordena números enteros.

A

B

Un algoritmo de ordenación no comparativa que organiza los elementos procesando sus dígitos de forma individual.

110
Q

¿Qué técnica se utiliza comúnmente como subrutina en Radix Sort para ordenar los dígitos en cada posición?

A) Quick Sort
B) Merge Sort
C) Counting Sort
D) Bubble Sort

A

C

Counting Sort

111
Q

¿Qué característica distingue a la Búsqueda en Anchura (BFS) de la Búsqueda en Profundidad (DFS)?

a) BFS explora todos los nodos a una distancia dada antes de avanzar, mientras que DFS profundiza en un camino antes de retroceder.

b) BFS es más eficiente que DFS en todos los casos.

c) DFS no puede encontrar la solución más corta, mientras que BFS siempre lo hace.

d) BFS utiliza menos memoria que DFS.

A

A

BFS explora todos los nodos a una distancia dada antes de avanzar, mientras que DFS profundiza en un camino antes de retroceder.

112
Q

Señalar la técnica de compresión con pérdida

A) Portable Network Graphics (PNG)

B) Lempel-Ziv-Welch (LZW)

C) Joint Photographic Experts Group (JPEG)

D) Free Lossless Audio Codec (FLAC)

A

C

Joint Photographic Experts Group (JPEG)

113
Q

El algoritmo Aiken utiliza un código de pesos 2421 para representar números binarios

VERDADERO O FALSO ?

A

VERDADERO

el código Aiken utiliza un código de pesos 2421, a diferencia del binario clásico que usa 8421.

114
Q

¿En qué áreas se utiliza el algoritmo k-means para la agrupación de datos?

A

Minería de datos y machine learning

115
Q

: ¿Qué es un LLM en el ambito de la inteligencia artificial ?

A

Un LLM (Large Language Model) es un modelo de inteligencia artificial entrenado con grandes cantidades de datos textuales para entender y generar lenguaje humano.

116
Q

¿Qué es un SVM en machine learning?

A

Un SVM es un algoritmo de aprendizaje supervisado que se utiliza para clasificación y regresión, encontrando el hiperplano que mejor separa los datos en diferentes clases.

svm = Support Vector Machine, o maquina de vectores de soporte

117
Q

Con respecto a los árboles 2-3-4, señale la respuesta correcta:

a) Cumple las propiedades del árbol binario de búsqueda.

b) Las hojas pueden estar a distinto nivel.

c) Los nodos pueden tener 2, 3 o 4 hijos (2-nodo, 3-nodo o 4-nodo).

d) Las reestructuraciones se realizan desde las hojas hacia la raíz.

A

C

Los nodos pueden tener 2, 3 o 4 hijos (2-nodo, 3-nodo o 4-nodo).

Explicación:
a) Cumple las propiedades del árbol binario de búsqueda.

Incorrecto: Un árbol 2-3-4 no es un árbol binario de búsqueda porque sus nodos pueden tener más de dos hijos (hasta cuatro). Sin embargo, cumple una propiedad similar: los valores en los nodos están organizados de manera que permiten búsquedas eficientes.

b) Las hojas pueden estar a distinto nivel.

Incorrecto: En un árbol 2-3-4, todas las hojas están al mismo nivel. Es una de las propiedades clave que garantizan el equilibrio del árbol.
c) Los nodos pueden tener 2, 3 o 4 hijos (2-nodo, 3-nodo o 4-nodo).

Correcto: Los nodos en un árbol 2-3-4 pueden tener:
1 clave y 2 hijos (2-nodo),
2 claves y 3 hijos (3-nodo),
3 claves y 4 hijos (4-nodo).

d) Las reestructuraciones se realizan desde las hojas hacia la raíz.

Incorrecto: En un árbol 2-3-4, las divisiones de nodos (split) pueden propagarse desde las hojas hacia la raíz, pero las reestructuraciones no siempre comienzan desde las hojas. Estas pueden ocurrir en cualquier nivel del árbol según sea necesario para mantener las propiedades del árbol.

118
Q

¿Cuál de las siguientes afirmaciones es verdadera sobre un árbol binario de búsqueda (BST)?

a) Todos los nodos tienen exactamente dos hijos.

b) Los nodos hoja están siempre al mismo nivel.

c) Los valores a la izquierda de un nodo son menores que el nodo y los valores a la derecha son mayores.

d) No se permite que los nodos hoja tengan hijos.

A

C

Los valores a la izquierda de un nodo son menores que el nodo y los valores a la derecha son mayores.

119
Q

¿Cuál es la altura de un árbol binario completo de 3 niveles?

a) 2
b) 3
c) 4
d) 5

120
Q

En un árbol AVL, ¿qué significa que el árbol esté balanceado?

a) Todos los nodos tienen el mismo número de hijos.

b) La diferencia de altura entre los subárboles izquierdo y derecho de cualquier nodo es como máximo 1.

c) El número total de nodos en el subárbol izquierdo es igual al número de nodos en el subárbol derecho.

d) Las hojas están en el mismo nivel.

A

B

La diferencia de altura entre los subárboles izquierdo y derecho de cualquier nodo es como máximo 1.

121
Q

¿Qué tipo de árbol tiene nodos con un número variable de hijos, que puede ser mayor que dos?

a) Árbol binario de búsqueda
b) Árbol AVL
c) Árbol 2-3-4
d) Árbol binario completo

A

C

Árbol 2-3-4

122
Q

¿Cuál es la principal ventaja de usar un heap binario en lugar de una lista enlazada para implementar una cola de prioridad?

a) Menor uso de memoria
b) Acceso más rápido al elemento máximo o mínimo c) Inserciones más rápidas
d) Estructura más sencilla

A

B

Acceso más rápido al elemento máximo o mínimo

123
Q

Señale la respuesta correcta referente al tipo abstracto de datos (TAD) Cola:

a) Basada en el principio LIFO (last-in, first-out).

b) Es un tipo especial de lista en la que se pueden insertar y eliminar por cualquier extremo.

c) Cada nodo tiene dos enlaces, uno al nodo siguiente, y otro al anterior.

d) Se pude implementar usando una estructura dinámica.

A

D

Se pude implementar usando una estructura dinámica.

124
Q

¿Cuál de las siguientes operaciones no es posible en un árbol AVL?

a) Inserción
b) Eliminación
c) Búsqueda
d) Inserción múltiple en una única operación

A

D

Inserción múltiple en una única operación

125
Q

¿Qué estructura de datos es la más adecuada para implementar una cola de prioridad?

a) Lista enlazada
b) Árbol AVL
c) Heap binario
d) Árbol binario de búsqueda

A

C

Heap binario

126
Q

¿Cuál de las siguientes afirmaciones es verdadera sobre una lista enlazada doble?

a) Cada nodo tiene un enlace al siguiente nodo únicamente.

b) Los nodos se ordenan por su valor.

c) Cada nodo tiene un enlace al nodo siguiente y al nodo anterior.

d) Solo permite acceso secuencial.

A

C

Cada nodo tiene un enlace al nodo siguiente y al nodo anterior.

127
Q

¿Qué tipo de recorrido en un árbol binario visita primero la raíz, luego el subárbol izquierdo y finalmente el subárbol derecho?

a) Inorden
b) Preorden
c) Postorden
d) Nivel orden

A

B

Preorden

128
Q

En una pila, ¿cómo se llama la operación que añade un elemento a la cima de la pila?

a) Push
b) Pop
c) Peek
d) Insert

129
Q

¿Cuál es la principal característica de una cola doblemente terminada (deque)?

a) Permite inserciones y eliminaciones solo en un extremo.

b) Permite inserciones en un extremo y eliminaciones en el otro.

c) Permite inserciones y eliminaciones en ambos extremos.

d) Permite acceso aleatorio a cualquier elemento.

A

C

Permite inserciones y eliminaciones en ambos extremos.

130
Q

¿Qué es un árbol B en términos de estructuras de datos?

a) Un árbol binario completo

b) Un árbol AVL con balanceo estricto

c) Un árbol de búsqueda equilibrado con múltiples claves por nodo

d) Un árbol binario de búsqueda con claves duplicadas

A

C

Un árbol de búsqueda equilibrado con múltiples claves por nodo

131
Q

Señale la respuesta INCORRECTA acerca de los tipos abstractos de datos (TAD):

a) Es una colección de propiedades y operaciones que se definen mediante una especificación que es independiente de cualquier representación.

b) Nos permiten diseñar nuestros propios tipos para encapsular lógica algorítmica y proveer abstracción a las capas de software de más alto nivel.

c) Se pueden escribir usando lenguaje natural, usando pseudo-código o incluso algún lenguaje de programación.

d) En JAVA, una estructura de datos (interface) debe implementar todas las operaciones definidas en su TAD (class).

A

D

En JAVA, una estructura de datos (interface) debe implementar todas las operaciones definidas en su TAD (class).

132
Q

¿Cuál de las siguientes estructuras de datos es la más adecuada para implementar una pila?

a) Lista doblemente enlazada
b) Cola
c) Lista enlazada simple
d) Árbol binario

A

C

Lista enlazada simple

133
Q

¿Qué operación no es válida en una cola?

a) Encolar (enqueue)
b) Desencolar (dequeue)
c) Peek
d) Apilar (push)

A

D

Apilar (push)

134
Q

¿Cuál de las siguientes afirmaciones es verdadera acerca de un árbol binario de búsqueda?

a) El nodo raíz siempre tiene el valor más pequeño.

b) Las hojas están siempre en el mismo nivel.

c) Para cada nodo, los valores del subárbol izquierdo son menores y los del subárbol derecho son mayores.

d) No puede tener más de dos niveles de profundidad.

A

C

Para cada nodo, los valores del subárbol izquierdo son menores y los del subárbol derecho son mayores.

135
Q

¿Qué tipo de recorrido en un árbol binario visita los nodos en el orden “izquierda, raíz, derecha”?

a) Preorden
b) Postorden
c) Inorden
d) Nivel orden

136
Q

¿Cuál de las siguientes afirmaciones es incorrecta acerca de un TAD?

a) Permite encapsular datos y operaciones relacionadas.

b) Define operaciones específicas independientemente de su implementación.

c) Un TAD se implementa siempre como una clase en cualquier lenguaje de programación.

d) Facilita la abstracción y modularidad en el diseño de software.

A

C

Un TAD se implementa siempre como una clase en cualquier lenguaje de programación.

137
Q

¿Qué estructura de datos es la más adecuada para implementar un búfer circular?

a) Lista enlazada simple
b) Lista doblemente enlazada
c) Cola circular
d) Pila

A

C

Cola circular

138
Q

¿En qué situación es más ventajoso utilizar una tabla hash?

a) Cuando se necesita acceso rápido a los elementos en orden.

b) Cuando la velocidad de búsqueda es crítica y se conocen pocas colisiones.

c) Cuando los elementos se deben procesar en un orden específico.

d) Cuando se necesita una estructura de datos dinámica y ordenada.

A

B

Cuando la velocidad de búsqueda es crítica y se conocen pocas colisiones.

139
Q

¿cuál de las siguientes afirmaciones describe correctamente la principal diferencia entre un recorrido preorden y un recorrido inorden en un árbol binario de búsqueda (ABB)?

a) En el recorrido preorden, se visita primero el subárbol izquierdo, luego la raíz, y por último el subárbol derecho, mientras que en el inorden se visita la raíz, luego el izquierdo y finalmente el derecho.

b) En el recorrido preorden, se visita primero el subárbol derecho, luego la raíz, y por último el subárbol izquierdo, mientras que en el inorden se visita la raíz, luego el izquierdo y finalmente el derecho.

c) En el recorrido preorden, se visita la raíz, luego el subárbol izquierdo, y por último el subárbol derecho, mientras que en el inorden se visita el subárbol izquierdo, luego la raíz, y por último el subárbol derecho.

d) En el recorrido preorden, se visita primero la raíz, luego el subárbol izquierdo y luego el derecho, mientras que en el recorrido inorden, se visita primero el subárbol izquierdo, luego la raíz y luego el subárbol derecho.

A

D

En el recorrido preorden, se visita primero la raíz, luego el subárbol izquierdo y luego el derecho, mientras que en el recorrido inorden, se visita primero el subárbol izquierdo, luego la raíz y luego el subárbol derecho.

El recorrido preorden (RID) visita la raíz, luego el subárbol izquierdo y finalmente el subárbol derecho. El recorrido inorden (IRD) visita primero el subárbol izquierdo, luego la raíz y finalmente el subárbol derecho

140
Q

Señale la respuesta correcta referente al tipo abstracto de datos (TAD) Pila:

a) Basada en el principio FIFO (first-in, first-out).

b) Se puede implementar usando arrays.

c) No se puede implementar usando una estructura dinámica.

d) Las operaciones de apilar (push) y desapilar (pop) se realizan en cualquier posición.

A

B

Se puede implementar usando arrays.

141
Q

¿Cuál de las siguientes afirmaciones es correcta sobre el tipo abstracto de datos (TAD) Cola?

a) Se basa en el principio LIFO (Last-In, First-Out).

b) Las operaciones de encolar (enqueue) y desencolar (dequeue) se realizan en el mismo extremo.

c) Se puede implementar usando un array o una lista enlazada.

d) El acceso a los elementos en una cola es aleatorio.

A

C

Se puede implementar usando un array o una lista enlazada.

142
Q

¿Qué tipo de estructura de datos es más adecuada para implementar una tabla hash?

a) Array estático.
b) Lista enlazada.
c) Árbol binario de búsqueda.
d) Array dinámico con función de dispersión (hashing).

A

D

Array dinámico con función de dispersión (hashing).

143
Q

¿Cuál es la principal diferencia entre una lista enlazada y un array?

a) Las listas enlazadas tienen un acceso aleatorio a los elementos.

b) Los arrays tienen una capacidad fija, mientras que las listas enlazadas pueden crecer dinámicamente.

c) Las listas enlazadas son más rápidas para acceder a un elemento específico que los arrays.

d) Los arrays no pueden almacenar datos de diferentes tipos.

A

B

Los arrays tienen una capacidad fija, mientras que las listas enlazadas pueden crecer dinámicamente.

144
Q

¿Cuál de las siguientes estructuras de datos es más adecuada para almacenar elementos en orden y permitir una rápida inserción y eliminación de elementos en cualquier parte de la estructura?

a) Array estático.
b) Árbol binario de búsqueda (BST).
c) Lista enlazada doblemente.
d) Cola.

A

C

Lista enlazada doblemente.

145
Q

¿Qué operación es característica de un árbol binario de búsqueda (BST)?

a) La inserción de un nuevo nodo siempre se realiza en el nivel más bajo.

b) Todos los nodos en el subárbol izquierdo de un nodo son mayores que el nodo.

c) El acceso a los nodos sigue un principio LIFO.

d) El árbol está completamente equilibrado en todo momento.

A

B

Todos los nodos en el subárbol izquierdo de un nodo son mayores que el nodo.

146
Q

¿Cómo se llama el algoritmo de búsqueda de la teoría de grafos que permite hallar la secuencia más probable de estados ocultos?

a) Algoritmo de Dijkstra.
b) Algoritmo de Viterbi.
c) Algoritmo de Bellman-Ford.
d) Algoritmo de Floyd-Warshall.

A

B

Algoritmo de Viterbi.

147
Q

¿En qué consiste el algoritmo de ordenación de Inserción?

a) Ordena los elementos comparando el primero con el segundo y eligiendo el menor para colocarlo al principio.

b) Toma el siguiente elemento y lo inserta en la posición correcta dentro de los elementos ya ordenados.

c) Divide la lista en dos partes y luego las fusiona ordenadamente.

d) Selecciona el elemento más grande y lo coloca al final de la lista.

A

B

Toma el siguiente elemento y lo inserta en la posición correcta dentro de los elementos ya ordenados.

148
Q

Según los algoritmos de búsqueda de la teoría de grafos, ¿en qué consiste el algoritmo FORD-FULKERSON?

a) Busca el camino más corto entre dos nodos en un grafo dirigido.

b) Encuentra el flujo máximo en un grafo de flujo.

c) Calcula la distancia mínima entre todos los pares de nodos en un grafo.

d) Encuentra la secuencia más probable de estados ocultos en un grafo.

A

B

Encuentra el flujo máximo en un grafo de flujo.

149
Q

¿Cómo se denomina a un árbol binario en el que los valores del subárbol izquierdo son menores que el nodo y los del subárbol derecho son mayores?

A

Árbol Binario de Búsqueda (ABB).

Un Árbol Binario de Búsqueda (ABB) es un tipo especial de árbol binario que mantiene sus elementos en un orden específico, donde los valores del subárbol izquierdo de un nodo son menores que el valor del nodo, y los valores del subárbol derecho son mayores

150
Q

Definicion de tabla hash

A

Es una estructura de datos que implementa un TAD, como un diccionario o un mapa, que puede almacenar pares de clave-valor y permite operaciones eficientes de búsqueda

151
Q

¿Qué sentencia NO es correcta al utilizar un Array Asociativo?

a) Coste de la búsqueda es constante
b) Coste de la búsqueda NO es constante
c) En Java se usa Hash Map
d) El Hashing puede ser abierto o cerrado

A

B

Coste de la búsqueda NO es constante

Explicación de cada opción:
a) Coste de la búsqueda es constante: Esta es generalmente una afirmación correcta para arrays asociativos, especialmente en el caso de tablas hash bien diseñadas.

c) En Java se usa Hash Map: Correcto, en Java, HashMap es una implementación común de un array asociativo.

d) El Hashing puede ser abierto o cerrado: Correcto, el hashing puede ser abierto (separación encadenada) o cerrado (dirección abierta).