Probabilidad
Figura 1. Esquema de un nodo y una lista enlazada.
Operaciones Descripción Dato Representa el dato a almacenar.Puede ser de cualquier tipo; en este ejemplo se trata de una lista de enteros. Enlace Es un puntero al siguiente elemento de la lista; con este puntero enlazamos con el sucesor, de forma que podamos construir la lista.
Para que esta estructura sea un TDA lista enlazada, debe tener unos operadores asociados que permitan la manipulación de los datos que contiene. Los operadores básicos de unalista enlazada son:
•
• • • •
Insertar: inserta un nodo con dato x en la lista, pudiendo realizarse esta inserción al principio o final de la lista o bien en orden. Eliminar: elimina un nodo de la lista, puede ser según la posición o por el dato. Buscar: busca un elemento en la lista. Localizar: obtiene la posición del nodo en la lista. Vaciar: borra todos los elementos de la lista
Listasdoblemente enlazadas. El TDA lista doblemente enlazada, al igual que la lista enlazada, es un TDA dinámico lineal pero, a diferencia de este, cada nodo de la lista doblemente enlazada contiene dos punteros, de forma que uno apunta al siguiente nodo y el otro al predecesor. Esta característica, permite que se pueda recorrer la lista en ambos sentidos, cosa que no es posible en las listas simples.Figura 2. Esquema de un nodo y una lista doblemente enlazada.
Operación Dato siguiente anterior
Descripción Representa el dato a almacenar, que puede ser de cualquier tipo. En este ejemplo se trataría de una lista de enteros. Se trata de un puntero al siguiente elemento de la lista. Con este puntero se enlaza con el sucesor, de forma que podamos construir la lista. Es un puntero al elementoanterior de la lista. Este puntero enlaza con el elemento predecesor de la lista y permite recorrerla en sentido inverso.
Sobre este TDA se definen los mismos operadores básicos que en las listas simples.
Pilas La pila es una estructura de datos donde las inserciones y recuperaciones/borrados de datos se hacen en uno de los finales, que es conocido como el top de la pila. Como el últimoelemento insertado es el primero en recuperarse/borrarse, los desarrolladores se refieren a estas pilas como pilas LIFO (last-in, first-out). Los datos se insertan (push) dentro y se recuperan-borran(pop) de la parte superior de la pila. La siguiente figura ilustra una pila con tres String cada uno insertado en la parte superior de la pila:
Como muestra la figura anterior, las pilas se construyenen memoria. Por cada dato insertado, el ítem superior anterior y todos los datos inferiores se mueven hacia abajo. Cuando llega el momento de sacar un ítem de la pila, se recupera y se borra de la pila el ítem superior (que en la figura anterior se revela como "third"). Las operaciones para un TDA de tipo pila se indican en la tabla siguiente. En la terminología de las pilas, insertamos (push)...
Regístrate para leer el documento completo.