Unidad 3 
Introducción a las estructuras de datos
Estructuras Lineales 
Operaciones asociadas con 
la pila 
Crear la pila 
Ver si la pila esta vacía 
Insertar elementos en la pila 
Eliminar un elemento de la 
pila 
Vaciar la pila 
Pilas 
Una pila, es una estructura de datos en la que el último 
elemento en entrar es el primero en salir, por lo que también se 
denominan estructuras 
LIFO (Last In, First Out) o también estructuras lineales con una 
política UEPS (Ultimo en entrar, primero en salir). 
En esta estructura sólo se tiene acceso a la cabeza o cima de 
la pila, también solo se pueden insertar elementos en la pila 
cuando esta tiene 
espacio y solo se pueden extraer elementos de la pila cuando 
tenga valores.
Colas 
 Una cola, es una estructura de datos lineal que permite almacenar elementos por un 
extremo y extraerlos por el otro. Por tal motivo, es una estructura FIFO (first in, first out: 
primero en entrar, primero en salir). 
 
Al igual que en las pilas, se debe tener el control de la cola, tomando en cuenta de que si se 
quiere extraer un elemento de la cola se debe asegurar de que no esté vacía, o si se quiere 
insertar un elemento se debe asegurar de que la cola no esté llena, estas dos acciones se 
deben desarrollar al hacer operaciones con una cola. Las operaciones que aplican a una cola 
son: 
 - Crear una cola. 
 - Revisar si la cola está vacía. 
 - Revisar si la cola está llena. 
 - Insertar un elemento en la cola. 
 - Extraer un elemento de la cola. 
 - Revisar cuál es el siguiente elemento en la cola.
Listas enlazadas. 
 Una lista enlazada o estructura ligada, es una estructura lineal que almacena una 
colección de elementos generalmente llamados nodos, en donde cada nodo puede 
almacenar datos y ligas a otros nodos. De esta manera los nodos pueden localizarse en 
cualquier parte de la memoria, utilizando la referencia que lo relaciona con otro nodo 
dentro de la estructura. 
 Las listas enlazadas son estructuras dinámicas que se utilizan para almacenar datos que 
están cambiando constante mente. A diferencia de los vectores, las estructuras 
dinámicas se expanden y se contraen haciéndolas más flexibles a la hora de añadir o 
eliminar información. 
 Lo más recomendable y flexible para la creación de un nodo es utilizar un objeto por 
cada nodo, para ello debe comprender cuatro conceptos fundamentales que son: 
 - Clase auto-referenciada, 
 - Nodo, 
 - Campo de enlace y 
 - Enlace 
 Una clase auto-referenciada es una clase con al menos un campo cuyo tipo de 
referencia es el nombre de la misma clase.
 El enlace es el contenido del campo de enlace, que hace referencia (guarda la 
dirección) a otro nodo. 
 Las operaciones que se pueden hacer con una lista son: 
 - Inserción de un elemento. 
 - Borrado de un elemento. 
 - Recorrido de la lista. 
 - Búsqueda de un elemento. 
 Las listas enlazadas se dividen en: 
 - Listas enlazadas simples (con una sola dirección) y 
 - Listas enlazadas dobles (con dos direcciones).
Simples. 
 Una lista enlazada simple es una colección de nodos que tienen una sola 
dirección y que en conjunto forman una estructura de datos lineal. Cada nodo 
es un objeto compuesto que guarda una referencia a un elemento (dato) y 
una referencia a otro nodo (dirección). 
 La referencia que guarda un nodo a otro nodo se puede considerar 
un enlace o un puntero hacia el segundo nodo y el salto que los relaciona 
recibe el nombre de salto de enlace o salto de puntero. El primer nodo de 
una lista recibe el nombre de cabeza, cabecera o primero y el último es 
llamado final, cola o último (es el único nodo con la referencia a otro objeto 
como nula). 
 Un nodo de una lista enlazada simple puede determinar quien se encuentra 
después de él pero no puede determinar quien se encuentra antes, ya que 
solo cuenta con la dirección del nodo siguiente pero no del anterior.
Dobles. 
 Una lista enlazada doble es una colección de nodos que cuentan con dos 
direcciones en cada uno de sus nodos y que en conjunto forman una 
estructura de datos lineal. Cada nodo es un objeto compuesto que guarda una 
referencia a un elemento (dato), una referencia al nodo anterior (dirección 
predecesora) y una referencia al nodo siguiente (dirección sucesora). 
 Un nodo de una lista enlazada doble puede determinar quien se encuentra 
después de él y quien se encuentra antes de él, ya que cuenta con las 
direcciones de los nodos siguiente y anterior.

Unidad 3

  • 1.
    Unidad 3 Introduccióna las estructuras de datos
  • 2.
    Estructuras Lineales Operacionesasociadas con la pila Crear la pila Ver si la pila esta vacía Insertar elementos en la pila Eliminar un elemento de la pila Vaciar la pila Pilas Una pila, es una estructura de datos en la que el último elemento en entrar es el primero en salir, por lo que también se denominan estructuras LIFO (Last In, First Out) o también estructuras lineales con una política UEPS (Ultimo en entrar, primero en salir). En esta estructura sólo se tiene acceso a la cabeza o cima de la pila, también solo se pueden insertar elementos en la pila cuando esta tiene espacio y solo se pueden extraer elementos de la pila cuando tenga valores.
  • 3.
    Colas  Unacola, es una estructura de datos lineal que permite almacenar elementos por un extremo y extraerlos por el otro. Por tal motivo, es una estructura FIFO (first in, first out: primero en entrar, primero en salir).  Al igual que en las pilas, se debe tener el control de la cola, tomando en cuenta de que si se quiere extraer un elemento de la cola se debe asegurar de que no esté vacía, o si se quiere insertar un elemento se debe asegurar de que la cola no esté llena, estas dos acciones se deben desarrollar al hacer operaciones con una cola. Las operaciones que aplican a una cola son:  - Crear una cola.  - Revisar si la cola está vacía.  - Revisar si la cola está llena.  - Insertar un elemento en la cola.  - Extraer un elemento de la cola.  - Revisar cuál es el siguiente elemento en la cola.
  • 4.
    Listas enlazadas. Una lista enlazada o estructura ligada, es una estructura lineal que almacena una colección de elementos generalmente llamados nodos, en donde cada nodo puede almacenar datos y ligas a otros nodos. De esta manera los nodos pueden localizarse en cualquier parte de la memoria, utilizando la referencia que lo relaciona con otro nodo dentro de la estructura.  Las listas enlazadas son estructuras dinámicas que se utilizan para almacenar datos que están cambiando constante mente. A diferencia de los vectores, las estructuras dinámicas se expanden y se contraen haciéndolas más flexibles a la hora de añadir o eliminar información.  Lo más recomendable y flexible para la creación de un nodo es utilizar un objeto por cada nodo, para ello debe comprender cuatro conceptos fundamentales que son:  - Clase auto-referenciada,  - Nodo,  - Campo de enlace y  - Enlace  Una clase auto-referenciada es una clase con al menos un campo cuyo tipo de referencia es el nombre de la misma clase.
  • 5.
     El enlacees el contenido del campo de enlace, que hace referencia (guarda la dirección) a otro nodo.  Las operaciones que se pueden hacer con una lista son:  - Inserción de un elemento.  - Borrado de un elemento.  - Recorrido de la lista.  - Búsqueda de un elemento.  Las listas enlazadas se dividen en:  - Listas enlazadas simples (con una sola dirección) y  - Listas enlazadas dobles (con dos direcciones).
  • 6.
    Simples.  Unalista enlazada simple es una colección de nodos que tienen una sola dirección y que en conjunto forman una estructura de datos lineal. Cada nodo es un objeto compuesto que guarda una referencia a un elemento (dato) y una referencia a otro nodo (dirección).  La referencia que guarda un nodo a otro nodo se puede considerar un enlace o un puntero hacia el segundo nodo y el salto que los relaciona recibe el nombre de salto de enlace o salto de puntero. El primer nodo de una lista recibe el nombre de cabeza, cabecera o primero y el último es llamado final, cola o último (es el único nodo con la referencia a otro objeto como nula).  Un nodo de una lista enlazada simple puede determinar quien se encuentra después de él pero no puede determinar quien se encuentra antes, ya que solo cuenta con la dirección del nodo siguiente pero no del anterior.
  • 7.
    Dobles.  Unalista enlazada doble es una colección de nodos que cuentan con dos direcciones en cada uno de sus nodos y que en conjunto forman una estructura de datos lineal. Cada nodo es un objeto compuesto que guarda una referencia a un elemento (dato), una referencia al nodo anterior (dirección predecesora) y una referencia al nodo siguiente (dirección sucesora).  Un nodo de una lista enlazada doble puede determinar quien se encuentra después de él y quien se encuentra antes de él, ya que cuenta con las direcciones de los nodos siguiente y anterior.