0% encontró este documento útil (0 votos)
53 vistas18 páginas

Estructuras de Datos en Ciencias Computacionales

El documento habla sobre las estructuras de datos y su clasificación en lineales y no lineales. Menciona algunas estructuras lineales como pilas, colas y listas, describiendo sus principios LIFO y FIFO. También describe árboles binarios de búsqueda, árboles B+, árboles R y árboles biselados. Finalmente, explica conceptos como MapReduce, Hadoop, hashmaps y expresiones lambda.

Cargado por

elmo letra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas18 páginas

Estructuras de Datos en Ciencias Computacionales

El documento habla sobre las estructuras de datos y su clasificación en lineales y no lineales. Menciona algunas estructuras lineales como pilas, colas y listas, describiendo sus principios LIFO y FIFO. También describe árboles binarios de búsqueda, árboles B+, árboles R y árboles biselados. Finalmente, explica conceptos como MapReduce, Hadoop, hashmaps y expresiones lambda.

Cargado por

elmo letra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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
• Siguen el principio LIFO, es decir, el
último elemento en ser agregado es el
primero en ser extraído o eliminado.
• Las operaciones de agregar, buscar y
eliminar se aplican al final de la
secuencia de datos.

Colas
• Siguen el principio FIFO, es decir, el
primer elemento en ser agregado es el
primero en ser extraído o eliminado.
• Las operaciones de agregar se aplican al
final de la secuencia de datos, mientras
que las consultas o eliminaciones se
hacen desde el principio de la estructura.
Se utiliza mucho en el mundo de la
logística, para el control de los almacenes.
Permite un mejor manejo de productos,
sobre todo cuando tienen fechas de
vencimiento o caducidad.

En castellano se les conoce como PEPS


(Primero en entrar, primero en salir) y UEPS
(Ultimo en entrar, primero en salir).

Es una forma de trabajo en programación,


asociado a Python, Java y JavaScript.
Á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 Raíz: 8


elementos del hijo IZQUIERDO y el hijo IZQUIERDO es un árbol Peso Total: 9
binario de búsqueda. Altura: 4
• El hijo DERECHO es nulo, o la RAÍZ es menor que cualquiera de los Hojas: 1,4,7,13
elementos del hijo DERECHO y el hijo DERECHO es un árbol binario
de búsqueda.
https://www.oscarblancarteblog.com/2014/08/22/estructura-de-datos-arboles/
Á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.
La búsqueda se realiza mediante la
comparación de valores, y dependiendo
del resultado de la comparación se toma
una de las rutas a través de una de las
ramas.
Al bajar al siguiente nivel se realiza
nuevamente una comparación de valores
para tomar una nueva decisión y una
nueva ruta.
Este proceso es repetitivo hasta encontrar
el valor buscado.
De igual forma, puede suceder que el valor
buscado no figure dentro de los nodos
existentes.
La búsqueda se realiza de la misma forma,
empleando el proceso recursivo de
comparación, y al momento de llegar al
punto en donde no se encuentra el
resultado buscado se enviará un mensaje
indicando que el valor no se ha localizado
satisfactoriamente.

https://jesgargardon.com/blog/operaciones-con-arboles-binarios-de-busqueda/
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.
Árboles-R

• Los árboles-R son estructuras de datos organizadas


de forma jerárquica (tipo árbol) que tienen
similitud a los árboles-B.
• Su principal uso es el de métodos de acceso
espacial donde almacenan e indexan información
multidimensional.
• La idea clave de la estructura de datos es agrupar
objetos cercanos y representarlos con
su rectángulo delimitador mínimo en el siguiente
nivel superior del árbol; la "R" en el árbol R es para
rectángulo.
• Dado que todos los objetos se encuentran dentro
de este rectángulo delimitador, una consulta que
no interseca el rectángulo delimitador tampoco
puede intersecar ninguno de los objetos
contenidos.
Árboles biselados

• Los árboles biselados o splay trees es un


árbol binario de búsqueda que se
encuentran auto-balanceados.
• Estos árboles permiten que los elementos
accedidos recientemente tengan un
acceso más rápido en búsquedas
posteriores.
• Todas las operaciones normales de un
árbol binario de búsqueda son combinadas
con una operación básica,
llamada biselación. Esta operación
consiste en reorganizar el árbol para un
elemento, colocando éste en la raíz, es
decir, rotar el árbol.
MapReduce Hadoop

• Es un marco de trabajo (framework) que proporciona • Hadoop es una estructura de software de código
un soporte para procesar grandes cantidades de datos abierto para almacenar datos y ejecutar aplicaciones
haciendo uso de la computación paralela. en clústeres de hardware comercial.
• Es la combinación de los métodos map y reduce. • Proporciona almacenamiento masivo para cualquier
• Es ideal para trabajar sobre sistemas distribuidos que tipo de datos, enorme poder de procesamiento y la
procesan conjuntos de datos de gran tamaño. capacidad de procesar tareas o trabajos concurrentes
• Hadoop es la implementación de código abierto que virtualmente ilimitados.
emplea este framework.
HashMaps

• Un hashmap es una forma de almacenamiento de datos


que sigue la regla: clave (key) y valor (value) que permite
relacionar un valor con una clave única, es decir, no
permite claves duplicadas.
• Emplea algoritmos de hashing para almacenar los
elementos, implicando que no se van a ordenar siguiendo
un principio FIFO o LIFO.
• Son ideales para obtener rendimientos constantes en
operaciones de búsqueda e inserción, pero 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.
HashMaps (cont.)

• Un hashmap o una tabla hash es una forma de


estructurar datos de modo que cada dato esté
vinculado a un número o símbolo de
identificación único.
• Esto permite una recuperación fácil,
especialmente de una gran base de datos que
contiene miles de entradas.
• Un excelente ejemplo de una tabla Hash es una
agenda de datos telefónicos.
En el ámbito de la programación, una expresión lambda,
también denominada función lambda, función literal o
función anónima; es una subrutina definida que no está
enlazada a un identificador.

Una expresión lambda es una función anónima que


puede usar para crear delegados o tipos de árbol de
expresiones.

Al utilizarlas, estamos utilizando funciones locales que


se pasan como argumento o devolverse como valor de
llamadas de funció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