Problema del laberinto de la versión en lenguaje C de la estructura de datos
Era así cuando lo aprendí por primera vez. Cuando lo aprendí por primera vez, me tomó mucho tiempo comprender incluso la inversión de una lista enlazada individualmente. La programación consiste en abstraer problemas prácticos en modelos matemáticos o no matemáticos, combinarlos con representación de datos y luego encontrar soluciones. No lo olvide, aprender estructuras de datos es manipular mejor los datos.
Ideas:
En primer lugar, ¿cómo expresar el laberinto en lenguaje informático? Generalmente se utiliza una matriz bidimensional. 0 representa un muro y 1 representa una carretera.
En segundo lugar, la segunda es cómo salir del laberinto. Combina la pila y busca.
Puedes intentar superponer el problema y luego resolverlo paso a paso.
Si desea resolver un problema de laberinto propuesto por otros, aún debe hacer lo mismo: primero expresar el laberinto propuesto por otros en la computadora y luego combinar el conocimiento aprendido de la estructura de datos. para encontrar el camino. (El conocimiento sobre la combinación de estructuras de datos depende de usted, la clave es la comprensión de la pila).
En cuanto a lo que dijiste, primero mira los programas de otras personas, y solo entonces podrás programar el problema tú mismo después de encontrar las ideas. Creo que estás actuando demasiado apresuradamente. Tienes que entender que el primer paso para aprender conocimientos es poder imitar. Sólo cuando tengas una comprensión sistemática de todo el curso tendrás tus propias ideas para resolver problemas. La innovación se lleva a cabo sobre la premisa de una fundación. Trate de comprender las cosas de otras personas. Después de todo, es imposible que se nos ocurran muchas cosas por nosotros mismos, al igual que el algoritmo kmp (debería aprenderlo pronto).
Como se mencionó en el Capítulo 1, el propósito de estudiar la relación entre datos es operar mejor los datos. Se puede decir que el problema del laberinto es un tipo de problema de "búsqueda", con más énfasis en el algoritmo. , es decir, al dominar Basado en la pila, encuentre una manera de usar la pila para buscar en el laberinto. La pila es la base. Solo hay unas pocas operaciones de pila y podrá utilizarlas inmediatamente después de aprenderlas. La clave es cómo utilizar tres métodos de programación combinados con determinadas estructuras de datos para diseñar un algoritmo. Hágalo paso a paso.
Por cierto, déjame darte una pregunta para considerar. Escribe un programa "sin variables auxiliares" e intenta invertir una cadena. Sólo te da un parámetro: ese parámetro es un puntero a una cadena.
Su última pregunta es un poco confusa. El proceso de aprendizaje no es lo que cree. Es posible que no pueda escribir programas de alta calidad después de aprender estructuras de datos. Se complementan. Si escribes sin aprender, serás un vago, y si aprendes sin escribir, serás un inútil. Puede intentar escribir. Si no puede encontrar una idea usted mismo, puede mirar lo que piensan los demás y hacer más resúmenes usted mismo.