TRABAJO DE ESTRUCTURA DE DATOS TEMA: LISTAS GRUPO 1: 1. Deymer Agamez elles 2. Juan miguel Flórez Flórez TEMAS: LISTAS 1. Concepto de listas 1.1. Creación de una lista 1.2. Impresión de una lista 1.3. Inserción de un dato en una lista después de un nodo dado 1.4. Inserción de un dato en una lista antes de un nodo dado 1.5. Inserción de un dato en una lista entre dos nodos dados 1.6. Ejercicios
EJERCICIO PARA DESARROLLAR: LISTAS GRUPO 1: 1. Elaborar una función que que reciba un apuntador al primer nodo de una una lista. La función debe invertir la lista. lista. La lista debe ser invertida recorriéndola solamente una vez. Al final cada cada nodo debe apuntar al nodo nodo que antes era su predecesor. predecesor. La cabeza de la lista debe ser el nodo nodo que al comienzo estaba al final y el nodo que antes era el primero, debe tener el valor NULL. Gráficamente seria:
cab
5
.
10
.
15
.
30
.
cab
Al final del proceso, la misma lista debe quedar así:
5
.
10
.
15
.
30
.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: LISTAS GRUPO 2: 1. Geovanni padilla vega 2. Laura Vanessa vega arias 3. Loly luz Franco Cardona TEMAS: LISTAS 2. Como mantener una lista clasificada ascendentemente 2.1. Creación de una lista clasificada ascendentemente retiro de un nodo de la lista 2.2. Ejercicios EJERCICIOS PARA DESARROLLAR: LISTAS GRUPO 2: 2. elaborar una función que reciba un apuntador al primer nodo de una lista y devuelva dos apuntadores. El primero debe apuntar a una lista conformada por los nodos impares de la lista inicial y el segundo debe apuntar a una lista conformada por los nodos pares de la lista inicial. inicial. Al final la lista inicial debe debe liberarse de la memoria. memoria. Por ejemplo si la lista inicial inicial era:
cab
5
.
10
.
8
.
6
.
3
.
Las listas construidas dentro de la función deben ser:
p
5
q
.
8
10 .
.
6
.
3
TRABAJO DE ESTRUCTURA DE DATOS TEMA: LISTAS GRUPO 3: 1. Eugenia Aguilar Martínez 2. Gustavo Martínez 3. Carlos Hernández meza
TEMAS: LISTAS 3. Listas circulares 3.1. Cómo concatenar dos listas circulares 3.2. Inserción de un nodo al final de una lista circular 3.3. Retiro de un nodo de una lista circular 3.4. El famoso problema de josephus 3.5. Nodos de encabezamiento 3.6. Suma de polinomios 3.7. Ejercicios EJERCICIOS PARA DESARROLLAR: LISTAS GRUPO 3: 3. Escriba una función que reciba las listas p y q que representan dos polinomios. La función debe multiplicar los dos polinomios y almacenar la respuesta en una lista W.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: LISTAS GRUPO 4: 1. Fernando José ordosgoitia 2. Boris polo mejía 3. Enalfi villalba Hernández TEMAS: LISTAS 4. Listas doblemente encadenadas 4.1. Inserción de un dato en una lista doblemente encadenada después de un nodo dado 4.2. Retiro de un nodo de una lista doblemente encadenada 4.3. Listas circulares doblemente encadenadas 4.4. Liberación de los nodos de una lista circula doblemente encadenada 4.5. Creación de una lista circular doblemente encadenada 4.6. Copia de una lista p en una lista q 4.7. Suma de dos números muy grandes 4.8. Impresión de una lista recursivamente
EJERCICIOS PARA DESARROLLAR: LISTAS GRUPO 4:
4. Elaborar una función que reciba dos listas circulares doblemente encadenadas que contienen dos números muy grandes y devuelva la multiplicación entre ellos. Suponga que los números son mayores o iguales a 0.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: COLAS Y PILAS
GRUPO 5: 1. Tania vanegas vanegas 2. Eduardo romero garizado
TEMAS: COLAS Y PILAS EJERCICIOS PARA DESARROLLAR: COLAS Y PILAS 5. Colas 5.1. Colas implementadas usando arreglos 5.2. Ejercicios
GRUPO 5: 5. Elaborar las funciones iniciar(), vacia(), sumar(), atender() utilizando el siguiente arreglo: int a[100]; donde a[0] es usado para indicar el frente de la cola, a[1] es usado para indicar el final, a[2] es usado para indicar el numero de objetos y los elementos a[3] hasta a[99] son usados para almacenar los objetos de la estructura.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: COLAS Y PILAS GRUPO 6: 1. Yoneidis Valdés altamar 2. Luis Eduardo Fernández esalas 3. Brayan Bohórquez Domínguez
TEMAS: COLAS Y PILAS 5.2. Construcción de una estructura compuesta por dos colas 5.3. Estructura de que (bicolas)
EJERCICIOS PARA DESARROLLAR: COLAS Y PILAS GRUPO 6: 6. Se define una bicola restringida para la entrada, a una estructura deque donde solamente se puedan insertar objetos por la izquierda y se puedan retirar objetos ya sea por la izquierda o por la derecha. Diseñar las funciones:
iniciar_rd() Insertar_rd() retirar_rd()
que manejen adecuadamente una bicola restringida para la entrada.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: PILAS GRUPO 7: 1. Sandra milena Ospina 2. Jonathan stick tena 3. Laura sastoque
TEMAS: 7. pilas 7.1. Representación de una pila utilizando listas simples 7.2. Notaciones infijo, posfijo y prefijo
EJERCICIOS PARA DESARROLLAR: PILAS GRUPO 7: 7. Convertir las siguientes expresiones en posfijo a infinito: a) pqrst - + *uv * b) lm-n+opq - +
TRABAJO DE ESTRUCTURA DE DATOS TEMA: PILAS GRUPO 8: 1. Marilyn castro guerra 2. Yunis Miranda mercado TEMAS: 8. Evaluación de expresiones escritas en posfijo 8.1. Transformación de notación infijo a notación posfijo, cuando no existen paréntesis 8.2. Transformación de notación infijo a notación posfijo, cuando existen paréntesis 8.3. Evaluación de expresiones escritas en infijo
EJERCICIOS PARA DESARROLLAR: PILAS GRUPO 8: Elaborar las siguientes funciones: a) b) c) d)
pre_a_pos() Convierte un arreglo prefijo a un arreglo posfijo pos_a_pre() Convierte un arreglo posfijo a un arreglo prefijo pre_a_in() Convierte un arreglo prefijo a un arreglo infijo pos_a_in() Convierte un arreglo posfijo a un arreglo infijo
TRABAJO DE ESTRUCTURA DE DATOS TEMA: ARBOLES BINARIOS GRUPO 9: 1. Fabio Mendoza 2. Ángel Pérez 3. Andrés Crespo
TEMAS: 9. DEFINICIONES 9.1. CREACIÓN DE UN ARBOL BINARIO 9.2. FORMAS DE RECORRER UN ARBOL BINARIO 9.3. EJERCICIOS
EJERCICIO PARA DESARROLLAR: ARBOLES BINARIOS GRUPO 9: 9. Dado el siguiente arbol binario:
A
B
C
D
F
E
G
I
J
Certificar que al recorrer el arbol, los siguientes resultados son correctos:
preorden ABCDFGEIJ inorden BAFDGCIEJ posorden BFGDIJECA
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 10: TEMAS: 1. GRAFOS 1.1. DEFINICIONES 1.1.1.GRAFO 1.1.2.GRAFO DIRIGIDO 1.1.3.ADYACENCIA 1.1.4.INCIDENCIA 1.1.5.COMPONENTES CONECTADAS SEPARADAMENTE 1.1.6.EJERCICIOS
EJERCICIO PARA DESARROLLAR: GRAFOS GRUPO 10: 1. Dado el siguiente grafo, Realizar un programa en C++ o Java, que permita dibujar este grafo dirigido.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 11: TEMAS: 1.1.7.GRAFOS Y DIGRAFOS FUERTEMENTE CONECTADOS 1.1.8.GRAFOS Y DIGRAFOS DEBILMENTE CONECTADOS 1.1.9.CAMINO SIMPLE 1.1.10. GRAFO EULERIANO 1.1.11. GRAFO HAMILTONIANO 1.1.12. GRADO DE UN VERTICE 1.1.13. EJERCICIOS
EJERCICIOS PARA DESARROLLAR: GRAFOS GRUPO 11: 1. Un grafo es Euleriano si cada vértice tiene un grado par. Realizar un programa en C++ ++ o Java, que permita crear una función que reciba un grafo en una lista de adyacencia y devuelva 1 si el grafo es Euleriano. Se debe devolver 0 si el grafo no es Aureliano.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 12: TEMAS: 1.1.14. 1.1.15. 1.1.16. 1.1.17.
GRAFOS REGULARES ARCO CICLICO MULTIGRAFO EJERCICIOS
EJERCICIOS PARA DESARROLLAR: GRAFOS GRUPO 12: 1. Dado el siguiente grafo, Realizar un programa en C++ ++ o Java, que permita dibujar este Multígrafo.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 13: TEMAS: 1.1.18. GRAFOS SIMPLES 1.1.19. GRAFOS COMPLEJOS 1.1.20. EJERCICIOS
EJERCICIOS PARA DESARROLLAR: GRAFOS GRUPO 13: 1. Dado el siguiente grafo, Realizar un programa en C++ ++ o Java, que permita dibujar este grafo Complejo.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS
GRUPO 14: TEMAS: 1.2. 1.3. 1.4. 1.5. 1.6.
ALMACENAMIENTO DE UN GRAFO EN LA MEMORIS DE UN COMPUTADOR UTILIZACIÓN DE UNA LISTA O UNA MATRIZ DE ADYACENCIA LISTA DE ADYACENCIA INVERTIDA MATRIZ DE CAMINOS EJERCICIOS EJERCICIOS PARA DESARROLLAR: GRAFOS
GRUPO 14: 1. Realizar un programa en C++ ++ o Java, que permita crear un grafo representado mediante listas de adyacencia, implementa un método que calcule el número de aristas y que calcule el grado del grafo que tiene la componente conexa que contiene un vértice dado.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 15: TEMAS: 1.7. DIGRAFOS FUERTEMENTE CONECTADOS 1.8. ALGORITMO PARA CALCULAR LA MATRIZ DE CAMINOS 1.9. CLAUSURA TRANSITIVA DE UN DIGRAFO 1.10. ALGORITMO DE WARSHALL 1.11. EJERCICIOS
EJERCICIOS PARA DESARROLLAR: GRAFOS GRUPO 15: 1. Tomando el siguiente digráfico:
Realizar un programa en C++++ o Java, que permita calcular el número de caminos de longitud n=4 entre cualquier vértice y los demás.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 16: TEMAS: 1.12. 1.12.1. 1.12.2. 1.12.3.
FORMAS DE RECORRER UN GRAFO RECORRIDO A LO ANCHO RECORRIDO EN PROFUNDIDAD EJERCICIOS
EJERCICIOS PARA DESARROLLAR: GRAFOS GRUPO 16: 1.
Dado el siguiente grafo, Realizar un programa en C++ ++ o Java, que permita dibujar el arbol expandido resultante al recorrer la estructura a lo ancho comenzando desde el vértice 1.
Suponga que la lista de adyacencia está conformada así:
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 17: TEMAS: 1.13. 1.14. 1.15. 1.16. 1.17. 1.18.
LINEAS DE REGRESO AL RECORRER UN GRAFO A LO ANCHO ALGORITMO PARA GENERAR LAS LINEAS DE REGRESO LINEAS DE REGRESO AL RECORRER UN GRAFO EN PROFUNDIDAD NODOS DE CORTE LINEAS DE CRUCE EN UN DIAGRAFO EJERCICIOS
EJERCICIOS PARA DESARROLLAR: GRAFOS GRUPO 17: 1.
Realizar un programa en C++ ++ o Java, que permita crear un árbol de expansión resultante de un recorrido sobre un grafo no dirigido, ¿qué tipo de arcos (a parte de los del árbol) pueden aparecer si el recorrido es una búsqueda en profundidad o una búsqueda en anchura? ¿Qué arcos aparecerán si el recorrido (en profundidad o en anchura) es aplicado sobre un grafo dirigido?
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 18: TEMAS: 2. APLICACIONES DE LOS GRAFOS 2.1. ALGORITMO DE PRIM 2.2. ALGORITMO DIJKSTRA 2.3. ALGORITMO DE FLOYD 2.4. ALGORITMO DE KRUSKAL 2.5. EJERCICIOS
EJERCICIOS PARA DESARROLLAR: GRAFOS GRUPO 18: 1.
Realizar un programa en C++ ++ o Java, que permita utilizar el algoritmo de Dijkstra para encontrar los caminos más cortos que van desde el nodo a hasta los restantes nodos, en el siguiente grafo dirigido. Mostrar los valores S, D y P para todos los pasos de ejecución del algoritmo. A partir del resultado, encontrar cuál es el camino más corto desde a hasta d.
TRABAJO DE ESTRUCTURA DE DATOS TEMA: GRAFOS GRUPO 19: TEMAS: 2.6. EXCENTRICIDAD DE UN VERTICE EN UN GRAFO 2.7. VERTICE MAS CENTRAL DE UN GRAFO 2.8. MAXIMO NUMERO DE ARCOS INDEPENDIENTES 2.9. MAXIMO NUMERO DE VERTICES INDEPENDIENTES 2.10. EJERCICIOS
EJERCICIOS PARA DESARROLLAR: GRAFOS GRUPO 19: 1. Realizar un programa en C++ ++ o Java, que permita crear una función que reciba un grafo en una lista de adyacencia y devuelva un arreglo de cada vértice. El arreglo es de tipo GRADO definido así: typedef struct GRADO GRADO; struct GRADO{ int v; int grado; }; GRADO grados [MAXIMO];
BIBLIOGRAFIA: ESTRUCTURA DE DATOS EN C++, Cesar A. Becerra Santamaría, 4° Edición, Editorial Kimpres Ltda. http://datateca.unad.edu.co/contenidos/301305/Contenido_en_linea/Modulo_3013052012_HTML/curso_estructura_de_datos.html http://dis.um.es/~ginesgm/temas/tema4-1/ http://informatica.uv.es/iiguia/AED/teoria/apuntes/cuatr2/tema15.pdf
Nota: Cada grupo debe entregar un trabajo escrito con normas ICONTEC (Formato .Docx enviado por la plataforma como nota del segundo corte) sobre su tema y ejercicio y deben preparase todos los integrantes porque solo uno tomado al azar tendrá que exponer por los demás el tema y el ejercicio planteado.
Rubrica de Evaluación:
Exposición del tema: 20% del valor de la nota Ejercicio propuesto de la exposición: 30% del valor de la nota Examen final: 50% del valor de la nota