¿Qué es el diseño del curso de estructura de datos?
1. Entorno operativo
Hardware: Computadora 486/64M o superior
Sistema operativo: WIN9x o superior/WIN2000/WIN XP/WIN ME
Software relacionado: visual C++
2. Funciones implementadas por el programa:
(1) Crear y mostrar la lista de adyacencia de gráficos.
(2) Recorrido en profundidad primero y muestra los resultados del recorrido.
(3) Realice una clasificación topológica en el gráfico y muestre los resultados de la clasificación.
(4) Proporciona el camino más corto desde un determinado vértice hasta todos los demás vértices.
3. Entrada al programa, incluido el formato y la descripción de los datos de entrada
(1) Ingrese el número de vértices y la información de cada vértice (el formato de datos es un número entero)
(2) El número y peso de los bordes de entrada (el formato de datos es un número entero)
4. La salida del programa, incluido el formato y la descripción de los datos de salida
(3) Programe el resultado de salida. La salida del programa, la forma de salida del programa es
(1) Genere la lista de adyacencia del gráfico, los resultados del recorrido en profundidad primero y los resultados de la clasificación topológica.
(2) Introduzca la ruta más corta desde un determinado vértice hasta todos los demás vértices.
5. Datos de prueba
II. Descripción del diseño
1. Ideas de diseño de algoritmos
Establecer clases de gráficos y funciones miembro relacionadas. Finalmente implementado en la función principal. Consulte el programa fuente para la implementación de funciones de miembros específicas.
2. Diseño de la estructura de datos maestros
Establecer la matriz de adyacencia y la lista de adyacencia del gráfico. Recorrido de gráficos en profundidad, clasificación topológica, camino más corto entre vértices.
3. La plantilla principal del programa
4 Las funciones principales del programa
Graph, link(), DFTraverse(), TopologicalOrder(),
TopologicalOrder(), GetVertexPos(), ShortestPath
3. Resultados y experiencia en línea
1.
El programa principal hace referencia al libro de texto "Edición Estructura de datos-C++"
El programa principal hace referencia al libro de texto "Edición Estructura de datos-C++".
2. Análisis del desempeño del programa
Construcción continua
3. Problemas y soluciones durante el proceso en línea.
La compilación es correcta, pero hay un problema con el resultado. Solución: aunque el programa se compila correctamente, solo significa que no hay ningún problema con la sintaxis. Solo se debe al algoritmo que el resultado es tan incorrecto.
4. Describe las áreas que se pueden mejorar en el programa
El recorrido en profundidad del programa desperdicia mucho espacio, por lo que puedes considerar usar un bucle. Pero esto tendrá el costo de una mayor longitud del código.
5. Diseño de funciones escalables y supuestos de implementación en el programa
Supuestos de implementación: Muestra dinámicamente el mapa generado en cualquier momento según las entradas del usuario.
6. Cosecha y experiencia
Escribir programas es algo difícil, pero también agradable. La conclusión más importante: si encuentra un problema de programación aparentemente simple pero irresoluble, es fácil desanimarse. En este momento no te enojes, debes pensar con calma y analizar detenidamente. Debemos afrontar el problema con valentía, aceptarlo con valentía, afrontarlo con valentía y, finalmente, resolverlo con valentía.
Parte 4, Referencias
Estructura de datos (edición C++) Editor en jefe Ye Zhengya Machinery Industry Press
Estructura de datos Implementación de algoritmos clásicos y resolución de problemas King Editor en jefe Jie People's Posts and Telecommunications Press
Diseño curricular de estructura de datos Editor en jefe Su Shihua Machinery Industry Press
Libro de preguntas sobre programación de estructuras de datos Editado por la Universidad Li Chunbao Tsinghua Prensa
Código de preguntas de programación estructural de datos Tsinghua University Press
Tutorial de estructura de datos y resolución de problemas (descripción del lenguaje C/C++) compilado por Hu Shengrong y Peking University Press
[Diagrama de flujo de operación del programa]
char op //Variable de control del programa