Skip to content

lucasmargni/data-structures

Repository files navigation

Estructuras de datos

Implementación de distintas estructuras de datos usando el lenguaje de programación java.

Estructuras implementadas

Pila (Stack)

Estructura LIFO (Last-In-First-Out) donde los elementos se apilan uno encima de otro, y al extraer un objeto se obtiene el que se encuentra encima de todos.

Cola (Queue)

Estructura FIFO (First-In-Firt-Out) donde los elementos son almacenados en orden de llegada, y siempre se obtiene el primer objeto que haya ingresado.

Lista (Linked List)

Estructura formada por nodos enlazados, donde cada una contiene un valor y una referencia al siguiente. Se puede acceder a cualquier elemento de la estructura, únicamente especificando su posición.

Árbol Binario (Binary Tree)

Estructura jerárquica donde cada elemento puede tener hasta dos hijos, formando una organización por niveles con una raíz como punto inicial.

Árbol Genérico (Generic Tree)

Estructura jerárquica que permite que cada elemento pueda tener cualquier cantidad de hijos, sin un límite específico. Cada elemento del árbol guardará la referencia de su primer hijo, así como de uno de sus hermanos.

Árbol Binario de Búsqueda (Binary Search Tree)

Árbol binario que tiene sus elementos ordenados de forma particular, donde cada elemento guarda en su subarbol izquierdo los valores menores a él y en el derecho los que sean mayores.

Árbol AVL (AVL Tree)

Árbol binario de búsqueda que mantiene un equilibrio en su altura, asegurando que la diferencia entre todos los subárboles sea, como máximo, 1.

Heap

Estructura en forma de árbol completo, donde cada elemento cumple con la restricción de tener un mayor (menor) valor que su padre, en caso de que sea un heap máximo (mínimo).

Hash

Estructura que asocia llaves con valores, permitiendo una búsqueda, inserción y eliminación de datos de una manera super eficiente.

Grafo (Graph)

Estructura compuesta de nodos y arcos, donde cada arco conecta a un par de vértices. Estos arcos se pueden encontrar etiquetados con un valor.

Heap Binomial

Estructura de tipo heap, que agrupa una colección de árboles binomiales de distinto grado, eficientes para realizar operaciones de unión entre distintos heaps.

Conjuntos Disjuntos (Disjoint Sets)

Estructura que mantiene conjuntos de elementos particionados, donde cada elemento se encuentra en, a lo sumo, uno de estos conjuntos. Cada conjunto tiene un representante que identifica a los elementos que lo componen.

Trie

Árbol especializado para almacenar cadenas tipo string, en la que cada nodo representa un caracter y los caminos completos desde la raíz forman palabras a partir de dichos caracteres.

About

Diseño de distintas estructuras de datos en Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages