Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El propósito de esta actividad es que el estudiante realice el análisis de la complejidad computacional de las
estructuras de datos: listas, pilas, colas, árboles y grafos. Para cada estructura de datos, se plantean una serie
de métodos a los que se deben determinar su complejidad computacional. Esta actividad se realizará de forma
progresiva y se hará una única entrega, con el análisis de las estructuras mencionadas anteriormente.
Las listas son estructuras de datos de datos lineales y dinámicas que pueden modificar su tamaño en tiempo de
ejecución, según sea el requerimiento. Generalmente las listas están conformadas por nodos, los cuales son
elementos que almacenan un valor y una referencia. El acceso a la información de los elementos de la lista puede
realizarse de distintas formas. Es posible hacer consultas, eliminación o modificación, en los extremos de las
listas o en algún determinado lugar de la misma. También se acostumbra hacer recorridos en la lista para hacer
búsquedas de información. Otros tipos de listas más especializadas, permiten modificar, eliminar o insertar nodos
a la izquierda o a la derecha, de acuerdo a una referencia específica. Teóricamente, no se tiene acceso aleatorio
a los elementos de lista.
- Los siguientes métodos corresponden a operaciones que se pueden realizar sobre una lista enlazada simple.
Para cada método, se debe establecer el orden de complejidad considerando el peor caso.
- Los siguientes métodos corresponden a operaciones que se pueden realizar sobre una lista doblemente
enlazada. Para cada método, se debe establecer el orden de complejidad considerando el peor caso.
- Los siguientes métodos corresponden a operaciones que se pueden realizar sobre una lista circular
doblemente enlazada. Para cada método, se debe establecer el orden de complejidad considerando el peor
caso.
En el contexto de las estructuras de datos, una pila (stack, por su nombre en inglés), es al igual que las listas,
una estructura lineal cuyos elementos se pueden acceder, insertar o por un único lugar. La pila sigue el principio
LIFO (Last In First Out), mediante el cual se puede afirmar que el último elemento en entrar es el primer elemento
en salir. Es por ello que la forma de acceder a los elementos de esta estructura es desde el tope de la línea.
Universidad del Quindío
Programa de ingeniería de sistemas y computación
Análisis de algoritmos I
Actividad: Análisis de estructuras de datos
- Los siguientes métodos corresponden a operaciones que se pueden realizar sobre una pila basada en nodos.
Para cada método, se debe establecer el orden de complejidad considerando el peor caso.
La estructura de datos cola se caracteriza porque las inserciones de nuevos elementos solo se permiten en uno
de los extremos de la estructura, que tradicionalmente se llama final de la cola, mientras que las consultas y
eliminación solo se permiten en el extremo opuesto de la cola, llamado frente de la cola.
Una cola es un contenedor de objetos que se insertan y se eliminan siguiendo el principio “Primero en entrar,
primero en salir” (FIFO: First In First Out).
- Los siguientes métodos corresponden a operaciones que se pueden realizar sobre una cola basada en nodos.
Para cada método, se debe establecer el orden de complejidad considerando el peor caso.
Los árboles son estructuras de datos dinámicas con una naturaleza diferente en cuanto a las estructuras de datos
lineales. Esta naturaleza está determinada por su estructura, la cual impone una jerarquía sobre una colección
de elementos. Sobre ellos se encuentra definida una relación de “paternidad” que define la estructura jerárquica.
Un árbol es una colección de elementos llamados nodos, uno de los cuales se distingue como raíz. Los nodos de
un árbol contienen dos o más enlaces. El nodo raíz es el primer nodo de un árbol. Cada enlace del nodo raíz
puede hacer referencia a un hijo. El hijo izquierdo es el primer nodo del subárbol izquierdo, y el hijo derecho es
el primer hijo del subárbol derecho.
Universidad del Quindío
Programa de ingeniería de sistemas y computación
Análisis de algoritmos I
Actividad: Análisis de estructuras de datos
- Los siguientes métodos corresponden a operaciones que se pueden realizar sobre árboles. Para cada
método, se debe establecer el orden de complejidad considerando el peor caso.