Está en la página 1de 6

UNIVERSIDAD DE COSTA RICA

ESCUELA DE ESTUDIOS GENERALES


SEMINARIO DE REALIDAD NACIONAL II
DESARROLLO COMUNAL II

ENSAYO
GIRA VIRTUAL

ESTUDIANTE:
GEINER MONTOYA BARRIENTOS
C25063

CIUDAD UNIVERSITARIA RODRIGO FACIO


Set (std::set):

Inserción en orden e Inserción aleatoria: Ambas operaciones en O(log n) en promedio. implementa


un árbol rojo-negro, que es una variante de un árbol binario de búsqueda que mantiene un
equilibrio automático

Búsqueda (Contiene): O(log n) en promedio. La búsqueda es similar a un árbol binario de


búsqueda estándar.
Vector (std::vector):

Inserción en orden: Tiene una complejidad de O(n), ya que cada inserción requiere desplazar
elementos existentes.

Inserción aleatoria: En promedio O(1), ya que no hay desplazamiento de elementos en este caso.

Búsqueda (Contiene): O(n), ya que debe recorrer todos los elementos para encontrar el valor.
Unordered Set (std::unordered_set):

Inserción en orden e Inserción aleatoria: O(1) en promedio, aunque con colisiones puede
degradarse a O(n).

Búsqueda (Contiene): O(1) en promedio. Pues el valor a buscar se pasa a una función hash, que
devuelve un índice en la tabla.
Árbol Binario de Búsqueda (BST):

Inserción en orden: En el peor caso O(n), ya que puede degenerarse en una lista lineal.

Inserción aleatoria: En promedio O(log n) para árboles balanceados.

Búsqueda: En promedio O(log n) para árboles balanceados. La búsqueda implica seguir el camino
correcto en el árbol, comparando el valor deseado con los nodos actuales.

Comportamientos

Inserción en Orden:

En el contexto de inserción en orden, se observó que tanto el árbol binario como el conjunto
ordenado (std::set) exhibieron eficiencia notable, reflejando su capacidad para gestionar datos de
manera secuencial de manera rápida y efectiva. Por otro lado, el vector estándar (std::vector)
mostró cierta penalización en términos de rendimiento debido a la necesidad de desplazar
elementos existentes durante la inserción en orden. No obstante, el conjunto no ordenado
(std::unordered_set) demostró eficiencia comparable al árbol binario y al conjunto ordenado,
destacando la capacidad de las tablas hash para manejar eficientemente la inserción ordenada.
Inserción Aleatoria:

En el escenario de inserción aleatoria, el vector estándar (std::vector) y el conjunto no ordenado


(std::unordered_set) emergieron como las opciones más eficientes, ya que permiten la adición de
elementos de manera directa y sin complicaciones. Mientras que el árbol binario y el conjunto
ordenado mantuvieron un rendimiento adecuado, la naturaleza secuencial de estas estructuras
podría dar lugar a variaciones en el tiempo de ejecución.

Búsqueda en Orden:

En términos de búsqueda en orden, tanto el árbol binario como el conjunto ordenado (std::set)
mostraron eficacia destacada, aprovechando su capacidad inherente para mantener una estructura
ordenada. El vector estándar (std::vector) también presentó resultados eficientes, gracias a la
aplicabilidad de la búsqueda binaria en datos ordenados. No obstante, el conjunto no ordenado
(std::unordered_set) no se vio afectado por la necesidad de mantener un orden específico, lo que
resultó en un rendimiento igualmente eficiente.

Búsqueda Aleatoria:

Cuando se trató de la búsqueda aleatoria, tanto el vector estándar (std::vector) como el conjunto
no ordenado (std::unordered_set) destacaron por su rapidez y accesibilidad directa a los datos. El
árbol binario y el conjunto ordenado (std::set) mantuvieron un rendimiento eficiente,
aprovechando las características específicas de sus estructuras subyacentes para facilitar una
búsqueda rápida.

También podría gustarte