Introducción | ¿Cómo aprende el alumno la estructura de datos por sí mismo?

Introducción | ¿Cómo aprende el alumno la estructura de datos por sí mismo?

Escribir al frente


Hoy, me gustaría compartir brevemente los métodos y técnicas de autoestudio de la estructura de datos y el aprendizaje de algoritmos durante medio año. El objetivo principal de escribir este artículo es permitir que los lectores que acaban de entrar en contacto con las estructuras de datos aprendan por etapas según el método de resumen.

Actualmente estoy estudiando en una universidad de tercera categoría. La razón por la que soy un cabrón es que al comienzo de aprender programación, en realidad era medio latido más lento que los demás. Siempre encontré todo tipo de confusión y confusión. Cuando la consola se encuentra varios errores, siempre espero que alguien pueda resolverlo. Está bien, pero la realidad a menudo te golpea en la boca. Después de una siesta, todavía tienes que morder la bala y resolverlo tú mismo. Creo que la mayoría de los principiantes tienen tales dudas.

Pero luego, presté más atención a la búsqueda de métodos de aprendizaje y la eficiencia del aprendizaje, pero ahora sigo siendo un cabrón, porque el verdadero jefe no tiene miedo, todo lo que puedo hacer es ayudar a algunas personas en el camino de la programación para resolver la confusión y mejorar Observe la eficiencia del aprendizaje. Internet y la tecnología de programación se actualizan demasiado rápido. Si no tiene métodos de aprendizaje eficientes y eficiencia de aprendizaje, el tiempo lo dejará atrás. Por lo tanto, a partir de hoy, prestará más atención a los métodos de aprendizaje y la eficiencia, y se vuelven cada vez más valiosos en el futuro Internet. Y presencia.

Durante los tres años de universidad, básicamente me enseñé a programar por mí mismo. La actitud del profesor es que soy demasiado vago para hablar. Puedo decir tonterías en clase y tratar de decir tonterías. Es bueno darte el alcance del examen al final del trimestre. La entrevista de trabajo no se relacionará conmigo en absoluto. Si te gradúas o no, no me afecta. En ese momento, decidí aprender a programar, la mayor parte del tiempo por mi cuenta, incluida la clase para hacer mis propias cosas.

Para la misma tecnología, ¿se ha preguntado alguna vez por qué alguien la aprende rápidamente y la usa rápidamente, pero luego descubrió que no es causada por la estupidez? No siempre se culpe por no ser adecuado para esto o aquello. También pensé que en el comienzo, pero ahora está completamente Es adecuado para el aprendizaje de programación de alta intensidad.

Hoy compartiré principalmente la forma correcta de aprender la estructura de datos. No puedo garantizar que sea adecuado para todos, pero puedo garantizar que es mucho más eficiente que si vas ciegamente al libro y lees el libro para ver. Empecemos con todos los aspectos, es decir, motivación, metas, práctica, retroalimentación y elevación de estándares.

Mi fundacion


Hablando de los conceptos básicos antes de aprender la estructura de datos, es una pena decirlo, solo conozco matrices, y son matrices en lenguaje C, valores de subíndice de matriz, transversales y otras operaciones, no se rían de mí, pero he sido explorando paso a paso en los últimos seis meses, finalmente sé la importancia de la estructura de datos en la resolución de problemas prácticos. La optimización del rendimiento de los sistemas distribuidos y de alta concurrencia es inseparable de la estructura de datos. Espero que este artículo no solo pueda compartir con ustedes el método de aprendizaje de la estructura de datos, pero también espero que pueda enamorarse de las estructuras de datos.

Mi motivación


Para aprender una técnica, primero debes tener motivación. Entonces, ¿cuál es la motivación? A menudo vemos que las personas que adelgazan suelen poner una foto de una buena figura en la habitación, solo para generar motivación para seguir perdiendo peso todos los días. Aprender es lo mismo, sin motivación no hay motivación para aprender. Entonces, ¿cuál fue mi motivación original para aprender estructuras de datos? Estoy a punto de practicar prácticas, quiero encontrar una buena empresa para prácticas, es imposible entrar en una empresa ideal sin la base de estructura de datos y algoritmos, así que entraré en una empresa ideal como motivación para aprender.

Mi ganancia


Después del autoestudio de la estructura de datos en la primera mitad del penúltimo año, he dado un salto cualitativo en comparación con mi yo anterior. Desde el origen, qué, características, ventajas y desventajas de una determinada estructura de datos básica hasta cómo usarla. en proyectos reales, cómo cultivar su propia estructura de datos subconsciente (cuando se encuentra con un problema, puede pensar subconscientemente en qué estructura de datos utilizar de acuerdo con las características del problema). Más tarde, aprendí gradualmente a vincular múltiples estructuras de datos para resolver problemas, con el propósito de hacer que el rendimiento del programa sea más estable y eficiente.

Estos son todos los resultados de la capacitación continua en el manejo de estructuras de datos todos los días durante los últimos seis meses. En los últimos seis meses, básicamente no me he relajado ni un día. Incluso en la víspera de Año Nuevo, he estado trabajando en algoritmos y estudiando datos estructuras. El trabajo duro vale la pena, no importa cuán mala sea la base, no importa cuán estúpida sea la mente, puedes aprender la estructura de datos a través de los métodos de aprendizaje que resumí.

Mi practica


Debido a que fui a una universidad de tercer nivel, la mayor parte del tiempo dependí del autoestudio y resumí muchas formas de mejorar la eficiencia del aprendizaje. Entonces, ¿cómo aprendí sobre la estructura de datos? Dividí el estudio de la estructura de datos en tres etapas.

La primera etapa: comprender la estructura de datos

El primer paso: para aprenderlo, debe saber para qué se utilizan las 10 estructuras de datos de matrices, listas vinculadas, pilas, colas, tablas hash, tablas de salto, gráficos, árboles, montones y árboles de diccionario, por qué y cómo hacerlo. Xiaolu recomienda ver algunos conceptos básicos Puede usar Baidu y Google para aprender sobre para qué se usa cada estructura de datos, por qué y cómo hacerlo. Luego, simplemente puede tomar notas y blogs.

Paso 2: Cada estructura de datos tiene sus ventajas y desventajas y su rendimiento ¿Qué criterios debemos utilizar para medir el rendimiento de las estructuras de datos y los algoritmos? Luego, el segundo paso es aprender el contenido del análisis de complejidad relacionado con la complejidad del tiempo y la complejidad del espacio. Esta parte del contenido es muy importante, porque la estructura de datos y el algoritmo que se aprenderá más adelante debe tener un estándar de medición de desempeño, para ser diferente Para resolver el problema, seleccione la estructura de datos y el algoritmo con el mejor rendimiento.

La segunda etapa: estructura de datos en profundidad

El primer paso: escribir código. Se han tomado notas de las diez características más básicas relacionadas con la estructura de datos y las condiciones de uso anteriores, y luego hemos entrado en un estudio en profundidad de cada estructura de datos desde el principio. Primero, las operaciones involucradas en la estructura de datos, como agregar , eliminar, modificar y verificar, etc. Impleméntelo usted mismo, ejecútelo en la máquina y preste atención a los siguientes puntos al escribir código: condiciones de límite, punteros y especificaciones de código.

Esto hará que se sienta más asombrado por el código. Cada vez que escriba el código, debe tomarlo en serio. Si el código en la máquina no es un problema, puede hacerlo usted mismo escribiendo a mano en el cuaderno con un bolígrafo, lo que ayudarlo a profundizar en usted Comprensión de la lógica del código.

Paso 2: En la primera etapa, aprendimos sobre los estándares de medición del desempeño, luego el siguiente paso es retroceder y analizar el desempeño de las operaciones involucradas en las 10 estructuras de datos más comúnmente utilizadas. Puede preguntar, ¿por qué no realizar un análisis de rendimiento mientras se escribe código?

Creo que la ventaja de las fases es que puedes concentrarte en resolver problemas. Escribir código es ejercitar tu capacidad de pensamiento y lógica para escribir código. El análisis de rendimiento es para mejorar tu capacidad analítica. Una vez completado el análisis de rendimiento, mira el código escrito anteriormente que se puede optimizar, mejorar. Durante este período, se encontrará con varios problemas. ¿Qué hacer si tiene problemas? Por lo general, voy a Baidu o Google para resumir y registrar en el cuaderno con la ayuda de artículos escritos por otros.

El tercer paso: una vez completado el análisis de rendimiento de cada estructura de datos, proceda al análisis en profundidad de cada uno de los datos. La primera etapa que recomiendo es leer algunos libros básicos, el nivel de conocimiento involucrado no es profundo. Pero todavía necesitamos tener al menos un análisis autorizado y en profundidad de los libros de estructura de datos para tener una comprensión profunda de algunos conceptos. Después de todo, los libros básicos son para que usted comience. Podemos utilizar este contenido altamente autorizado y completo para verificar las deficiencias en los puntos de conocimiento de la estructura de datos que hemos aprendido.

Paso 4: El estudio en profundidad por sí solo es realmente aburrido y complicado, así que analicemos ejemplos de la vida real, como el juego de adivinar números, el problema de la mochila 0/1, el laberinto, el problema de las ocho reinas y el problema de la reducción total. Espere. Al igual que en el juego de adivinar números, podemos pensar en cómo adivinar el número correcto en el menor tiempo posible. Tal vez piense en usar la búsqueda binaria. Bueno, preguntémonos los problemas de la búsqueda binaria. En este proceso, debemos preguntarnos por qué. Solo así se ampliará su nivel de conocimiento. Por ejemplo, ¿cómo resolver la búsqueda binaria si hay datos duplicados en los datos?

Todavía quiero enfatizar que debes preguntarte por qué, porque desde el punto de vista psicológico, el cerebro humano se ajusta al principio de menor resistencia, es decir, pensar las cosas que menos les gusta hacer, así que aquí tenemos que ir al revés. para hacer más avances. Si cree que no hay ningún problema en las dos etapas anteriores, procederemos a la tercera etapa a continuación para recuperar la estructura de datos.

La tercera etapa: recuperar la estructura de datos

El primer paso: en este momento, es posible que aprenda mucho sobre la estructura de datos, pero es difícil aplicarlo. ¿Cómo se puede aplicar a problemas prácticos? ¿Hemos resuelto los puntos de conocimiento fragmentarios en el cuaderno? ¿Qué debería hacer después? Podemos utilizar el mapa mental para organizar el sistema de conocimiento, ya sea de revisión y consolidación, nos ayudará a fortalecerlo aún más.

Paso 2: Después de terminar el sistema anterior, vaya a Google o Baidu para buscar problemas reales con soluciones claras para el análisis y el aprendizaje. Encontrará en estos proyectos reales que muchos problemas involucran múltiples problemas de estructura de datos., Lo que estamos resolviendo en frente es solo para una única estructura de datos, luego intente establecer una conexión entre las estructuras de datos.

Por ejemplo, matrices y listas enlazadas, cada estructura de datos tiene ventajas y desventajas. En el proceso de aprendizaje, encontrará que las ventajas de una estructura de datos son las desventajas de otra estructura de datos. La matriz es continua en el espacio de memoria y es amigable con la memoria caché de la CPU La lista vinculada es un espacio de memoria fragmentado en la memoria, que no es amigable con la memoria caché de la CPU, pero la lista vinculada se puede expandir dinámicamente pero la matriz no.

Por otro ejemplo, para mejorar la eficiencia del programa, tenemos que reemplazar otra estructura de datos con una estructura de datos que consume más espacio de memoria. Si la memoria es escasa y la eficiencia de ejecución no es alta, usaremos la función de ahorro de memoria. datos que son un poco menos eficientes. Las estructuras reemplazan las estructuras de datos que ocupan mucha memoria y se ejecutan rápidamente.

El tercer paso: aprender a convertir los problemas reales en la estructura de datos aprendida. ¿Cómo transformar? Por ejemplo: si es ingeniero, ¿cómo resolvería el problema de optimizar el algoritmo para implementar el almacenamiento en caché de listas enlazadas? Primero convierta el problema en la estructura de datos que hemos aprendido. La lista enlazada se menciona en ella. Entonces sabemos que hay una lista enlazada. ¿Qué operaciones se han implementado usando la lista enlazada en el análisis? Eliminando datos, encontrando datos y almacenando datos en caché, estas tres operaciones implican búsquedas, tenemos que recorrer toda la lista enlazada y la complejidad del tiempo es O (n).

Entonces nos preguntamos si podemos optimizar la búsqueda. Encuentre la estructura de datos aplicable según el problema o las características de los datos. Las tres operaciones de la caché implican una rápida inserción, eliminación y consulta de datos. ¿Cuáles son las estructuras de datos que podemos lograr rápidamente mediante la inserción, eliminación y consulta? recuperación rápida en el cerebro? Balancear árboles binarios, tablas hash, tablas de salto, etc. Por ejemplo, elegimos tablas hash, y finalmente analizamos si se optimiza mucho la complejidad del tiempo, de lo contrario cambiaremos a otra estructura de datos para análisis de rendimiento.

No es difícil encontrar que el problema real se descompondrá paso a paso en el análisis operativo básico de la estructura de datos que hemos aprendido, y luego utilizar las ventajas y desventajas de la estructura de datos que hemos aprendido y el análisis de rendimiento para obtener lo mejor solución, pero los problemas reales que se encuentran en la empresa son a menudo más complicados que los problemas reales que tomamos como ejercicios.

posdata


Las anteriores son las tres etapas de mi estudio de la estructura de datos. Si ha completado las tres etapas anteriores, todavía sugiero que reconsolida y revise las 10 estructuras de datos más básicas. Se requiere retroalimentación continua en las tres etapas de consolidación y revisión. Y elevar el estándar, creo que encontrará que cada punto de conocimiento tendrá nuevas ganancias.

Lo anterior es el método de aprendizaje de la estructura de datos que he resumido durante medio año. También hay un artículo sobre "Mejora | Cómo aprender la estructura de datos", que compartí este fin de semana, pero siento que hay muchas deficiencias en muchos lugares, o muchos principiantes no entienden Pasos, revisiones repetidas durante el fin de semana, con un poco de vacilación, pero al poder escribir bien un artículo, la mayor ganancia del lector es la mayor motivación para que yo lo escriba y revise para siempre. Si se siente bien, puedes enviárselo en secreto a tus buenos amigos ¡Oh!

Introducción | ¿Cómo aprende el alumno la estructura de datos por sí mismo?

Supongo que te gusta

Origin blog.51cto.com/15064450/2602323
Recomendado
Clasificación