You are on page 1of 8

1.

Identificacin de los conceptos bsicos algoritmos y estructuras de datos


a) Mencionar y explicar la definicin de algoritmo
Un algoritmo es un mtodo, un proceso, un conjunto de instrucciones utilizadas
para resolver un problema especfico. Un algoritmo dado correcto, resuelve un
problema definido y determinado. (Joyanes & Zahonero, 2008).
Como lo mencionan los autores citados los algoritmos son un conjunto de pasos y
cuyo objetivo es la resolucin de cualquier problema que se ha identificado, los
algoritmos tienen caractersticas como:

Preciso, para que no haya lugar a ambigedades.


Finito ya que se define su terminacin.
Definido, por lo que al seguir un algoritmo ms de una vez se obtendrn los
mismos resultados.
Puede tener elementos de entrada o no tenerlos.
Genera un resultado o datos de salida.

Algunas formas para representar algoritmos son:

Los diagramas de flujo


Los diagramas de Nassi-Schneiderman o Chapin
Pseudocdigo

Algoritmo representado en diagrama de flujo. Imagen tomada de:


http://desarrollodesoftwareocm.blogspot.mx

b) Mencionar y explicar la definicin de estructura de datos


Una estructura de datos es una agregacin de tipos de datos compuestos y
atmicos en un conjunto con relaciones bien definidas. Una estructura significa un
conjunto de reglas que contienen los datos conjuntos. (Joyanes &Zahonero, 2008).
Se puede entender a una estructura de datos como una coleccin de datos que se
organizan y de los cuales se definen algunas operaciones, una estructura de datos
se caracteriza por las relaciones entre los datos que las conforman. De manera
formal se expresan por: el conjunto de reglas, las relaciones y las operaciones
posibles.

c) Explicar en qu consisten las tres estructuras de datos ms conocidas:


pilas, colas, listas.
Pilas.- Es una coleccin de elementos que se han ordenado de tal forma que la
nica manera de acceder es por el extremo de la pila, los elementos se agregan o
se eliminan solo por la cima o parte superior, como si fuera una pila de platos, de
libros, etc.

Pilas. Imagen tomada de:


http://buenasintencions.blogspot.mx/2013/04/pilas-stack.html

Las operaciones que se pueden realizar con las pilas son:


PUSH (pila, elemento).- Introducir un elemento en la pila (poner).
POP (pila).- Sacar o quitar; se elimina un elemento de la pila.
VACIA (pila).- Esta funcin de tipo booleano indica si la pila est vaca o no.
Colas.- Este tipo de estructura guarda elementos y permite acceder a estos por uno
de los extremos, cada nuevo elemento se agrega en la cola por la parte final y se
eliminan por la parte frontal o inicio de la cola. Las Colas son estructuras de tipo

FIFO (first-in, first-out) primero en entrar-primero en atender o primero en llegarprimero en salir.


Un ejemplo claro de colas es el servicio de atencin a clientes de las sucursales
bancarias, proveedores de servicios, entre otros.

Colas. Imagen tomada de:


http://www.protectora.org.ar/atte-al-cliente-trato-digno/los-bancos-de-rosario-nopodran-demorar-mas-de-30-minutos-en-la-atencion-al-publico/27944/

En estructuras de datos los diferentes tipos de Colas que existen son:

Cola simple.- De tipo lineal, los elementos salen en el mismo orden que
llegaron.
Cola circular.- Representa de manera lgica una cola simple en un arreglo.
Cola de prioridades.- Es una estructura lineal en donde se insertan elementos
en cualquier posicin de la cola, pero solo se remueven por el frente.
Bicola (Cola doble).- En este tipo de estructura lineal es posible agregar o
eliminar elementos por cualquiera de los extremos de la cola.

Operaciones bsicas en Colas:

Crear.- Crea una cola vaca.


Encolar (Agregar, aadir, insertar, entrar).- Se agrega un elemento a la cola,
este se inserta al final de la cola.
Desencolar (Quitar, eliminar, sacar, salir).- Se elimina el primer elemento que
entr, y que se encuentra en la parte frontal de la cola.
Frente (Consultar, front).- Devuelve el elemento que se encuentra al frente
de la cola, siendo este el primer elemento que entr.

Listas.- Una lista es una estructura lineal donde cada elemento tiene uno anterior o
predecesor (excepto el primero) y uno sucesor o posterior (excepto el ltimo); los
datos suelen ser del mismo tipo y el nmero de elementos vara. Dicho de otra
manera una lista consiste en una secuencia de nodos, y en estos se almacenan
campos de datos y una o dos referencias o punteros (al nodo anterior y al posterior).
Las operaciones bsicas de las listas son:

Insertar un elemento nuevo al inicio


Insertar un elemento nuevo al final
Insertar un elemento nuevo antes de otro
Insertar un elemento nuevo despus de otro
Recorrer los elementos hacia adelante
Recorrer los elementos hacia atrs
Eliminar el elemento del inicio
Eliminar el elemento del final
Eliminar un elemento que est antes de otro
Eliminar un elemento que est despus de otro

Operaciones en una lista. Imagen tomada de:


http://pier.guillen.com.mx/algorithms/11-otros/11.4-estructuras_datos.htm

2. Relaciona las estructuras de datos con los algoritmos


a) Ejemplificar de forma clara y en relacin directa con los conceptos de
estructuras de datos, la aplicacin de cada uno de los tipos de estructura de
datos: pila, cola y lista.
Las pilas se aplican en ejemplos como:

Gestin de ventanas del navegador, donde al momento de cerrar una


ventana la que queda visible es la inmediata anterior.
Las direcciones del navegador se almacenan en una pila, al seleccionar
back se va obteniendo la pgina inmediata anterior.
Para ordenar elementos.

Las colas se aplican en ejemplos como:

La gestin de programas por medio del sistema operativo en donde por


medio de colas se lleva el control de los diferentes procesos.
Sistemas de logstica y transporte, en donde los datos u objetos se
almacenan en una cola para su proceso.

Algunos ejemplos de aplicacin de listas son:

Almacenamiento de informacin de diversos tipos de datos.


El almacenamiento en discos.
Se utilizan como mdulos de otras estructuras de datos tales como pilas,
colas, etc.

b) Exponer la relacin entre un algoritmo y una estructura de datos mediante


un ejemplo.
Los algoritmos se relacionan ampliamente con las estructuras de datos ya que como
se ha mencionado son una serie de pasos finitos que tienen como objetivo realizar
alguna tarea, por lo que estos con las estructuras de datos ejecutan tareas de forma
cotidiana en el software.

Ejemplo de insertar un elemento en una pila (pseudocdigo):


Verifica espacio en la pila
Incrementa el puntero del ndice de la pila
Almacena el elemento en la pila en el puntero ndice
Ejemplo de eliminar un elemento en una pila (pseudocdigo):
Verifica que la pila no se encuentre vaca
Leer elemento en la posicin del puntero de la pila
Hacer un decremento en 1 del puntero de la pila

Descripcin grfica del ejemplo Push & Pop (insertar y eliminar) elementos en
una pila.

c) Exponer la conclusin del tema, formulando conceptos propios con base


en las fuentes consultadas.
Los algoritmos tienen como funcin la resolucin de cualquier problema o actividad,
en cuanto al tema de estudio en esta materia se plantea como se relacionan con las
estructuras de datos para ejecutar diversas tareas en las computadoras.
Las principales estructuras de datos son:
Pilas.- Las pilas son estructuras que utilizan el principio LIFO (last-in, first-out;
ltimo en entrar, primero en salir), se puede ejemplificar una pila con pilas de platos,
libros, mercanca; sus principales operaciones son: push (poner o agregar), pop
(sacar o eliminar), as como verificar que la pila llena y verificar pila vaca.

Colas.- Las colas son estructuras de datos en donde el primer elemento en entrar
es el primero en salir, utilizan el principio FIFO (first-in, first out), existen el tipo
cola de prioridades en donde se pueden insertar elementos en cualquier lugar pero
se respeta el principio que se eliminarn los elementos que se encuentren al frente
de la cola uno a uno.
Listas.- Las listas son estructuras de datos que contienen elementos acomodados
uno detrs de otro, un elemento se conecta al otro por medio de una referencia; a
cada uno de los elementos se les conoce como nodos. Los nodos estn divididos
en dos partes, uno contiene la referencia que es la que apunta al siguiente elemento
de la lista; la otra contiene los datos, sus tipos es decir la informacin.

Fuentes de Consulta:
UnADM (2017). Estructura de datos. Unidad 1. Estructuras de datos.
Recuperado de:
https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S2_B1/D
S/04/DEDA/U1/Unidad_1_Estructuras_de_datos_DEDA.pdf
Joyanes & Zahonero (2008). Estructuras de datos en Java. MCGRAW HILL/INTERAMERICANA DE ESPAA, S. A. U.
Edificio Valrealty, 1. Planta Basauri, 17
28023 Aravaca (Madrid)
Universidad de Valencia (s.f.). Captulo 5. Estructuras de datos.
Recuperado de:
http://robotica.uv.es/pub/Libro/PDFs/CAPI5.pdf
Universidad Nacional del Nordeste (s.f.). Algoritmos. Definicin.
Recuperado de:
http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf
Humeau & Saturno (s.f.). Estructura de datos.
Recuperado de:
http://es.slideshare.net/diwal10/pilas-colas-y-listas-estructura-de-datos

http://www.freebookspaindownload.org/edicion-especial/estructuras-de-datos-yalgoritmos-con-java

http://ocw.upm.es/lenguajes-y-sistemas-informaticos/estructuras-dedatos/contenidos/tema3nuevo/Listas.pdf
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=2
08:ejercicio-ejemplo-algoritmo-de-operaciones-anadir-borrar-con-listas-de-datosen-pseudocodigo-i-cu00219a&catid=36:curso-qbases-de-la-programacion-niveliiq&Itemid=60
http://godieboy.com/2009/10/pilas-estructura-de-datos.html
http://fcqi.tij.uabc.mx/usuarios/palacios/Unidad%20III%20Pilas%20y%20Colas.pdf
http://programacion.net/articulo/estructuras_de_datos_y_algoritmos_en_java_309
http://es.slideshare.net/diwal10/pilas-colas-y-listas-estructura-de-datos