Está en la página 1de 10

DAV - 2021

En el ámbito de las ciencias


computacionales, se define como la forma
de organización de datos. Estas formas de
organizar los datos se clasifican en lineales
y no lineales. Teniendo como finalidad que
los algoritmos que las emplean tengan el
mejor rendimiento posible tanto en la
recuperación de datos como en el
almacenamiento.
● Son un conjunto de datos, nodos o registros que
se ubican en posiciones sucesivas unos de otros,
de manera que cada uno de ellos tiene un único
elemento sucesor y un único elemento
predecesor.
● Algunos tipos de estructuras de datos lineales
son: colas, pilas y listas.
Pilas Colas

• Siguen el principio FIFO, es decir, el primer


• Siguen el principio LIFO, es decir, el último elemento en ser agregado es el primero en ser
elemento en ser agregado es el primero en ser extraído o eliminado.
extraído o eliminado. • Las operaciones de agregar se aplican al final de la
• Las operaciones de agregar, buscar y eliminar se secuencia de datos, mientras que las consultas o
aplican al final de la secuencia de datos. eliminaciones se hacen desde el principio de la
estructura.
Árbol binario de búsqueda

• Conocidos como ABB o BST (del inglés Binary Search Tree).


• Es una estructura de árbol, en el que existe un elemento raíz y tiene elementos
hijos. Los elementos hijos tienen otros elementos hijos y así sucesivamente.

Para que un árbol sea un árbol binario de búsqueda debe tener un elemento
RAÍZ y este debe tener dos elementos hijos (IZQUIERDO Y DERECHO), estos
elementos pueden ser nulos. Además, se debe cumplir sí o sí que:
• El hijo IZQUIERDO es nulo, o la RAÍZ es mayor que cualquiera de los elementos
del hijo IZQUIERDO y el hijo IZQUIERDO es un árbol binario de búsqueda.
• El hijo DERECHO es nulo, o la RAÍZ es menor que cualquiera de los elementos
del hijo DERECHO y el hijo DERECHO es un árbol binario de búsqueda.

Recrear imagen, citar fuente:


https://es.wikipedia.org/wiki/Ar
chivo:Binary_search_tree.svg
Árbol binario de búsqueda

Características:
• Tamaño: es la cantidad de elementos
• Profundidad: es el número de niveles
• Raíz: elemento superior
• Hojas: elementos hijos que no tienen hijos

Ventajas
• Útiles para almacenar información de manera jerárquica.
• Mayor velocidad de búsqueda que las listas enlazadas (estructura de datos
lineal).
• Permite realizar las operaciones de inserción, búsqueda y eliminación.
Recrear traducido, fuente:
https://www.guru99.com/images/1/020
820_0600_BinarySearc1.png
Arboles B+

• Los árboles B+ son una versión mejorada de los árboles B, manteniendo la propiedad
de acceso aleatorio rápido y el recorrido secuencial.
• En los árboles B+ las claves también se pueden encontrar en las hojas. Esto facilita el
proceso de búsqueda.
• A diferencia de los árboles binarios, estos elementos pueden tener más elementos
hijos.
• Los elementos raíz e hijos pueden contener cierta cantidad de elementos y es lo que
permite que la clave del elemento padre se repita en los hijos.

• Referencia externa: https://www.youtube.com/watch?v=mxszhFyg60M


Árboles biselados
Árboles-R
• Los árboles biselados o splay trees es un árbol binario de búsqueda
• Los árboles-R son estructuras de datos organizadas de forma que se encuentran autobalanceados.
jerárquica (tipo árbol) que tienen similitud a los árboles-B. • Estos árboles permiten que los elementos accedidos recientemente
• Su principal uso es el de métodos de acceso espacial donde tengan un acceso mucho mayor luego.
almacenan e indexan información multidimensional.
HashMaps

MapReduce • Un hashmap es una forma de almacenamiento de


datos que sigue la regla: clave(key) y valor(value)
• Es un marco de trabajo (framework) que proporciona un que permite relacionar un valor con una clave
soporte para procesar grandes cantidades de datos haciendo única. Es decir, no permite claves duplicadas.
uso de la computación paralela. • Emplea algoritmos de hashing para almacenar los
• Es la combinación de los métodos map y reduce. elementos, implicando que no se van a ordenar
• Es ideal para trabajar sobre sistemas distribuidos que procesan siguiendo un principio FIFO o LIFO.
conjuntos de datos de gran tamaño. • Son ideales para obtener rendimientos constantes
• Hadoop es la implementación de código abierto que emplea en operaciones de búsqueda e inserción, pero
este framework. para su uso se debe planificar el tamaño que
tendrá y no son recomendables si se agrega
grandes cantidades de datos en una sola
operación.
Implica el uso de las funciones lambda que son
una parte fundamental del paradigma de
programación funcional, pero que se emplea en
otros paradigmas como el orientado a objetos. Por
ejemplo, Java desde el JDK 8 permite emplear la
notación lambda. Entre sus características
tenemos:
• Estas funciones no se encuentran atadas a un
identificador (nombre de la función).
• Se pueden emplear como argumentos de otras
funciones, llamadas de orden superior.
• Permiten a las funciones superiores construir
los resultados que estas necesitan al retornar
una función.

También podría gustarte