DanLevy.net

Cuestionario: Estructuras de datos y algoritmos

¿Puedes hacer BS en un árbol binario?

¡Bienvenido a mi quiz de Estructuras de Datos y Algoritmos!

Este quiz evaluará tu dominio de las estructuras de datos (pilas, listas, árboles, etc.), los algoritmos y la complejidad temporal.

20 preguntas… ¡Comencemos!

¿Qué estructura de datos es la más adecuada para un patrón de acceso LIFO (Last In, First Out)?

Las pilas son las más adecuadas para patrones de acceso LIFO. Las colas son las más adecuadas para patrones de acceso FIFO (First In, First Out).

¿Cuál es la complejidad temporal de un algoritmo que siempre tarda la misma cantidad de tiempo en ejecutarse, sin importar el tamaño de la entrada?

O(1) representa complejidad temporal constante. Significa que el algoritmo siempre tarda la misma cantidad de tiempo en ejecutarse, sin importar el tamaño de la entrada.

¿Cuál es la complejidad temporal para calcular la longitud de una lista enlazada simple?

Para calcular la longitud de una lista enlazada simple, debes recorrer cada nodo desde la cabeza hasta el final, lo que resulta en una complejidad temporal O(n).

¿Cuál es la complejidad temporal promedio para buscar un elemento en un Árbol Binario de Búsqueda balanceado?

En un BST balanceado, la complejidad temporal promedio para la búsqueda es O(log n) porque cada nivel reduce a la mitad el espacio de búsqueda.

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

Merge Sort siempre opera con una complejidad de peor caso de O(n log n) ya que divide repetidamente el arreglo a la mitad y fusiona los subarreglos ordenados.

¿Qué estructura de datos se usa típicamente para implementar la búsqueda en anchura (BFS)?

BFS utiliza una Cola para explorar los nodos nivel por nivel, procesando los nodos de forma amplia (por “fila”).

¿Qué algoritmo se usa comúnmente para detectar ciclos en un grafo dirigido?

La búsqueda en profundidad (DFS) se usa típicamente para detectar ciclos en un grafo manteniendo una pila de recursión que rastrea los nodos visitados.

¿Cuál es la complejidad temporal de Heap Sort en el peor caso?

Heap Sort mantiene una complejidad temporal de peor caso de O(n log n), ya que construye un heap y extrae repetidamente el elemento máximo.

¿Cuál es la complejidad de tiempo promedio para acceder a un elemento en una tabla hash?

Las tablas hash tienen una complejidad de tiempo promedio de O(1) para acceder a los elementos, asumiendo una buena función hash que minimice colisiones.

¿Qué conjunto contiene las operaciones típicas que se realizan en una pila?

Las operaciones principales de una pila son Push (añadir elemento), Pop (eliminar elemento) y Peek (ver el elemento superior sin eliminarlo).

¿Qué algoritmo se usa comúnmente para encontrar la ruta más corta en un grafo ponderado con aristas no negativas?

El algoritmo de Dijkstra se usa frecuentemente para encontrar la ruta más corta en grafos con pesos de arista no negativos. Emplea una cola de prioridad para determinar la distancia mínima de manera eficiente.

¿Qué conjunto contiene ejemplos de estructuras de datos de árbol binario de búsqueda autobalanceado?

Los árboles AVL y los árboles Rojo‑Negro son tipos de árboles autobalanceados, que garantizan que el árbol permanezca equilibrado después de cada inserción o eliminación.

¿Qué debe definirse en una función recursiva para evitar la recursión infinita?

Un caso base es necesario en una función recursiva para detener las llamadas recursivas cuando se cumple una condición específica, evitando la recursión infinita.

¿Cuáles son las dos operaciones principales de una cola?

Las dos operaciones principales en una cola son Enqueue (agregar un elemento al final) y Dequeue (eliminar un elemento del frente).

¿Cuáles son las condiciones para realizar un ordenamiento topológico en un grafo?

El ordenamiento topológico se puede realizar en un grafo si es dirigido y acíclico (DAG). Este tipo de ordenación es útil en problemas de planificación de tareas.

¿Cuál es la complejidad temporal de una implementación recursiva ingenua de la serie de Fibonacci?

La implementación recursiva ingenua de la serie de Fibonacci tiene una complejidad temporal de O(2^n) debido a los extensos cálculos repetidos para cada número de Fibonacci.

¿Qué estructura de datos se usa comúnmente para implementar una cola de prioridad?

Una cola de prioridad se implementa normalmente usando un montículo porque permite extraer de forma eficiente el elemento de mayor o menor prioridad.

¿Qué conjunto enumera los órdenes de recorrido en profundidad comunes para un árbol binario?

En orden, preorden y postorden son los tres órdenes de recorrido en profundidad comunes para los árboles binarios, cada uno con un orden diferente de visita a los nodos. El recorrido en anchura también es común, pero pertenece a una categoría de recorrido distinta.

¿Cuáles de las siguientes propiedades son verdaderas para un min‑heap?

En un min‑heap, la raíz siempre es el elemento más pequeño y la altura del árbol es O(log n), lo que hace que la inserción y la extracción sean eficientes.

¿Es estable el algoritmo Bubble Sort?

Bubble Sort es un algoritmo de ordenamiento estable porque preserva el orden relativo de los elementos iguales durante la ordenación.