Está en la página 1de 9

ÍNDICE 1

Índice

Índice 1

1. Introducción 2

2. Estructuras de datos 3
2.1. Consideraciones generales a todas las estructuras de datos . . . . . . . . . 3
2.2. Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Listas ordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4. Pilas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5. Colas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.6. Colas de prioridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.6.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.6.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.7. Tablas hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.7.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.7.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.8. Árboles binarios de búsqueda . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.8.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.8.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.9. Árboles AVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.9.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.9.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.10. Árboles B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.10.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.10.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.11. Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.11.1. Operaciones permitidas . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.11.2. Información disponible . . . . . . . . . . . . . . . . . . . . . . . . . 8

3. Comparación de Estructuras de Datos 9


1 INTRODUCCIÓN 2

1. Introducción
Esta aplicación está compuesta por dos partes bien diferenciadas.
En la primera de ellas se podrá practicar con varias estructuras de datos, pudiendo
ejecutar las principales operaciones de cada una de ellas.
En la segunda parte, se permitirá realizar comparaciones de la eficiencia de las dis-
tintas estructuras de datos, pudiendo de esta forma observar qué estructura de datos
proporcionará un mayor rendimiento en cada caso particular.
Para acceder a una de las aplicaciones que permite practicar con una estructura de
datos siga los siguientes pasos:

1. Seleccione la estructura de datos que desea. Observe que están divididas en secciones:

Lineales: Listas, listas ordenadas, pilas y colas.


Árboles: Binarios de búsqueda, AVL y B.
Otras: Tablas hash, colas de prioridad y grafos.

2. Pulse sobre el botón ”Ir” que está a la derecha de la estructura de datos seleccionada.

Si en cambio, lo que desea es realizar comparaciones entre estructuras de datos, pulse


el botón ”Compara Estructuras de Datos” y accederá a dicha aplicación.
2 ESTRUCTURAS DE DATOS 3

2. Estructuras de datos
En esta parte de la aplicación se presentan 10 pequeños programas de prueba que
permiten experimentar con 10 estructuras de datos distintas. Las estructuras de datos
disponibles son las siguientes:

Listas

Listas ordenadas

Pilas

Colas

Colas de prioridad

Tablas hash

Árboles binarios de búsqueda

Árboles AVL

Árboles B

Grafos

2.1. Consideraciones generales a todas las estructuras de datos


En todas las estructuras de datos unicamente se permitirá insertar elementos de tipo
numérico o cadena de caracteres. Se pueden insertar número enteros, que serán consider-
ados como tales. Cualquier otro elemento insertado será considerado como una cadena de
caracteres.
Además de las operaciones particulares de cada estructura de datos, todas ellas dispo-
nen de una herramienta de zoom que permite aumentar o disminuir el tamaño de los
nodos.

2.2. Listas
Tratamiento de listas enlazadas no ordenadas.

2.2.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento en la lista.

Borrar: Elimina un elemento de la lista.

Vaciar: Elimina todos los elementos de la lista.


2 ESTRUCTURAS DE DATOS 4

2.2.2. Información disponible


En el panel de información se mostrarán los siguientes datos:

Número de nodos: Número de nodos almacenados en la estructura de datos.

2.3. Listas ordenadas


Tratamiento de listas enlazadas ordenadas.

2.3.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento en la lista.

Borrar: Elimina un elemento de la lista.

Vaciar: Elimina todos los elementos de la lista.

2.3.2. Información disponible


En el panel de información se mostrarán los siguientes datos:

Número de nodos: Número de nodos almacenados en la lista.

Camino recorrido: Nodos que ha visitado el algoritmo para llevar a cabo la última
operación realizada.

2.4. Pilas
Tratamiento de pilas.

2.4.1. Operaciones permitidas


Push: Inserta un nuevo elemento en la cima de la pila.

Pop: Elimina el elemento situado en la cima de la pila.

Vaciar: Elimina todos los elementos de la pila.

2.4.2. Información disponible


En el panel de información se mostrarán los siguientes datos:

Número de nodos: Número de nodos almacenados en la pila.

2.5. Colas
Tratamiento de colas.
2 ESTRUCTURAS DE DATOS 5

2.5.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento al final de la cola.

Borrar: Elimina el elemento situado en la cabeza de la cola.

Vaciar: Elimina todos los elementos de la cola.

2.5.2. Información disponible


En el panel de información se mostrarán los siguientes datos:

Número de nodos: Número de nodos almacenados en la cola.

2.6. Colas de prioridad


Tratamiento de colas de prioridad de mı́nimos.

2.6.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento en la cola.

Borrar: Elimina el mı́nimo elemento.

Vaciar: Elimina todos los elementos de la cola.

Cambiar capacidad máxima: Modifica la capacidad máxima de la cola. Si el nuevo


tamaño es menor que el número de nodos, se truncará la cola.

Árbol: Visualización de la cola en forma de árbol.

Lineal: Visualización de la cola en forma lineal.

2.6.2. Información disponible


En el panel de información se mostrarán los siguientes datos:

Número de nodos: Número de nodos almacenados en la cola.

Tamaño máximo: Número máximo de nodos que puede almacenar la cola.

Camino recorrido: Nodos que ha visitado el algoritmo para llevar a cabo la última
operación realizada.

2.7. Tablas hash


Tratamiento de tablas hash.
2 ESTRUCTURAS DE DATOS 6

2.7.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento en la tabla hash.

Borrar: Elimina un elemento de la tabla.

Vaciar: Elimina todos los elementos de la tabla.

2.7.2. Información disponible


En el panel de información se mostrarán los siguientes datos:

Número de nodos: Número de nodos almacenados en la tabla.

2.8. Árboles binarios de búsqueda


Tratamiento de árboles binarios de búsqueda.

2.8.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento en el árbol.

Borrar: Elimina un elemento del árbol.

Vaciar: Elimina todos los elementos del árbol.

2.8.2. Información disponible


En el panel de información se mostrarán los siguientes datos:

Número de nodos: Número de nodos almacenados en el árbol.

Altura: Número de niveles que tiene el árbol.

Máximo: Valor máximo almacenado en el árbol.

Mı́nimo: Valor mı́nimo almacenado en el árbol.

Camino recorrido: Nodos que ha visitado el algoritmo para llevar a cabo la última
operación realizada.

2.9. Árboles AVL


Tratamiento de árboles AVL.
2 ESTRUCTURAS DE DATOS 7

2.9.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento en el árbol.
Borrar: Elimina un elemento del árbol.
Vaciar: Elimina todos los elementos del árbol.

2.9.2. Información disponible


En el panel de información se mostrarán los siguientes datos:
Número de nodos: Número de nodos almacenados en el árbol.
Altura: Número de niveles que tiene el árbol.
Máximo: Valor máximo almacenado en el árbol.
Mı́nimo: Valor mı́nimo almacenado en el árbol.
Camino recorrido: Nodos que ha visitado el algoritmo para llevar a cabo la última
operación realizada.

2.10. Árboles B
Tratamiento de árboles B.

2.10.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento en el árbol.
Borrar: Elimina un elemento del árbol.
Vaciar: Elimina todos los elementos del árbol.
Cambio tamaño página: Modifica el tamaño de la página del árbol. Los valores
posibles son 2, 4, 6 y 8.

2.10.2. Información disponible


En el panel de información se mostrarán los siguientes datos:
Tamaño de página: Tamaño actual de la página.
Número de página: Número de páginas del árbol.
Número de nodos: Número de nodos almacenados en el árbol.
Altura: Número de niveles que tiene el árbol.
Camino recorrido: Nodos que ha visitado el algoritmo para llevar a cabo la última
operación realizada.
2 ESTRUCTURAS DE DATOS 8

2.11. Grafos
Tratamiento de grafos.

2.11.1. Operaciones permitidas


Insertar: Inserta un nuevo elemento en el grafo.

Borrar: Elimina un elemento del grafo.

Vaciar: Elimina todos los elementos del grafo.

Insertar arista: Añade una nueva arista entre dos nodos.

Eliminar arista: Elimina una arista del grafo.

Ver pesos: Muestra los pesos asociados a cada arista.

2.11.2. Información disponible


En el panel de información se mostrarán los siguientes datos:

Número de nodos: Número de nodos almacenados en el grafo.


3 COMPARACIÓN DE ESTRUCTURAS DE DATOS 9

3. Comparación de Estructuras de Datos


En esta sección se permitirá comparar la eficiencia de las distintas estructuras de datos
al realizar inserciones y extracciones.
El proceso a seguir para poder realizar comparaciones es el siguiente:

1. Seleccione las dos estructuras de datos a comparar.

2. Introduzca el número de inserciones que desea que se realicen en la estructura de


datos. Este número también determina el número de extracciones, ya que se re-
alizarán el 10 % de extracciones.

3. Puede escoger dos opciones a la hora de introducir los elementos, aleatorios o cor-
relativos.

4. Pulse sobre el botón ”Lanzar ejecución” y comenzará el proceso de comparación.

Una vez que el proceso ha finalizado se muestran los siguientes datos:

Tiempo consumido por la estructura de datos número 1 en todo el proceso.

Tiempo consumido por la estructura de datos número 2 en todo el proceso.

Porcentaje de tiempo por el cual la estructura de datos más eficiente mejora el


tiempo de la otra estructura de datos.

Gráfica representando los tiempos intermedios del proceso de inserción en cada


estructura de datos.

Gráfica representando los tiempos intermedios del proceso de extracción en cada


estructura de datos.

También podría gustarte