Red de conocimiento informático - Consumibles informáticos - ¿Puede algún experto en programación ayudarme a analizar este artículo?

¿Puede algún experto en programación ayudarme a analizar este artículo?

El segundo es prestar suficiente atención a la estructura de datos. Si decimos que la diferencia más fundamental entre los estudiantes de informática y los no informáticos es definitivamente la estructura de datos (todos aprenden matemáticas de la misma manera, depende principalmente de qué tan bien las aprenda). La capacidad de dominar y utilizar estructuras de datos es un indicador muy importante de su capacidad de programación. Algunas personas tienen dolores de cabeza después de mirar cosas como listas enlazadas, pilas, árboles y listas generalizadas. Sin embargo, estas cosas a menudo pueden hacer que su programa sea cien veces más eficiente que otros. Desde que participo en concursos de informática y ACM en la universidad, tengo un conocimiento relativamente bueno de las matemáticas y las estructuras de datos. Esto me hace sentir que soy mejor que los demás a la hora de solicitar empleo y trabajar. Recuerdo mi experiencia de solicitar un trabajo en una empresa cuando estaba en la universidad. En ese momento, había tres personas que postularon, dos de las cuales se habían graduado de la universidad y una de ellas había estado trabajando por un tiempo. Varios de ellos hablan de cuán fuertes son sus habilidades, cuántos lenguajes y herramientas de programación pueden usar y cuán rica es su experiencia. Lógicamente hablando, debería ser el menos calificado. En ese momento, yo era un novato y no le tenía miedo a los tigres, así que simplemente lo intenté. El tema de la entrevista en ese momento era una pregunta sobre el proyecto de gestión de fondos de una empresa, y requería que todos dieran su propio plan de diseño después de pensarlo. Una de las cuestiones centrales es calcular el valor mínimo de fluctuación de un fondo. La cantidad de datos proporcionados es bastante grande y requiere una alta eficiencia. Todos tenemos el mismo análisis orientado a objetos de todo el programa. Después de todo, estas cosas se toman muy en serio en la escuela y no son realmente difíciles. Sin embargo, cuando llegó el problema más crítico, el resto de las personas se quedaron estancadas. Dos de ellos usaron bucles dobles simples y la complejidad del tiempo fue (N ^ 2), lo cual fue terrible. Otra persona habló sobre el uso de árboles después de pensarlo mucho por un tiempo, pero los detalles técnicos específicos no estaban claros y el análisis de eficiencia también fue descuidado. Fui el único al que rápidamente se le ocurrió un plan para usar árboles AVL, y utilicé derivación matemática avanzada para realizar un análisis de eficiencia muy detallado y una conversión espacio-temporal, y propuse un método para introducir el ensamblaje. Era natural que consiguiera el trabajo. Aquí obviamente puede ver cuán importantes son las matemáticas y las estructuras de datos para un buen programador. Son los lugares más críticos para abrir un nivel con los programadores comunes. De esta manera, debería ser fácil pensar en el tipo de situación que encuentra Xiangzi.

Si eres un amigo que quiere aprender a programar, después de muchos años de estudio, te he resumido una ruta de aprendizaje que espero te sea de ayuda. Se necesita mucha perseverancia y perseverancia para aprender a programar. En primer lugar, debes aclarar tus objetivos y pensar para qué estás programando. Si su aprendizaje es solo un impulso temporal para programar QUAKE y convertirse en Bill Gates, entonces le aconsejo que no comience a aprender, porque es difícil que tal objetivo respalde gran parte de su aprendizaje futuro. Y no puedes ser demasiado mayor (preferiblemente estudiante de secundaria o universitario). Si tienes un objetivo en mente y decides empezar a trabajar para lograrlo, comencemos. Si no sabe nada sobre computadoras al principio, primero debe familiarizarse con algunos de los principios y operaciones más básicos de las computadoras. Esto no requiere un aprendizaje particularmente detallado, siempre que tenga una comprensión general del sistema binario y algunas operaciones básicas. . A continuación, primero debe aprender el lenguaje BÁSICO. Este lenguaje no le llevará mucho tiempo. Aprenderlo es simplemente para comenzar y brindarle una comprensión preliminar de la programación informática. En este momento, debe escribir más programas pequeños, conocer algunas de las funciones más básicas de cada declaración y descubrir algunas estructuras de datos básicas (especialmente matrices). Es mejor no aprender algunas funciones con otros usos, porque. esto sólo distraerá tu atención. Cuando puedas usar BASIC con habilidad para programar programas como Monkey King Selection y exámenes generados por computadora, podrás comenzar a estudiar más. A continuación, si siente que tiene una gran receptividad, puede comenzar a aprender C (tenga en cuenta que no es C. Si le resulta difícil, también puede aprender Pascal primero). Otro punto muy importante es no aprender cosas como VB, DELPHI, VC al principio, estas cosas tendrán un impacto muy malo en ti al principio. Puede llevarte a otra dirección de aprendizaje equivocada e ignorar lo que realmente deberías dominar.

Aprender C se trata principalmente de aprender programación de procedimientos, aprender a dividir su programa en muchas funciones (o procesos) y desarrollar buenos hábitos de programación. En este momento, puede leer más programas escritos por expertos. No es necesario que comprenda el significado. Lo principal es aprender el formato de los programas de otras personas (como cómo nombrar variables y cómo dividir funciones). Además de dominar las declaraciones básicas de flujo de control, también debe aprender algunas funciones de E/S y funciones matemáticas muy simples. El objetivo principal de aprender C es abandonar el estilo del programa BÁSICO original de acumular todas las declaraciones en una pila y aprender a usar funciones para mejorar la reutilización del código. Si realmente no entiende cosas como los punteros, puede dejarlo así por ahora. Encontrará una solución más adelante. Cuando se sienta más cómodo escribiendo algunos pequeños programas de cálculo en C, podrá comenzar a aprender sus estructuras de datos (las matemáticas se aprenden principalmente en la escuela, por lo que debe prestar más atención). Puede leer la estructura de datos poco a poco sin dedicar un período de tiempo para estudiarla. El propósito es permitirle dominarla bien y aprender a utilizar el conocimiento de la estructura de datos para estandarizar su programación y mejorar la eficiencia del programa. Después de aprender C, creo que es mejor aprender a ensamblar. Mucha gente puede oponerse a esto, pero personalmente creo que es bueno. A partir del ensamblaje de DOS más básico, si compra "Programación de ensamblaje de PC IBM" (Tsinghua Huangpi), debe comprenderlo poco a poco. Si realmente no puede comprenderlo, omítalo si lo lee repetidamente y con atención. , definitivamente podrás entenderlo. Se debe dominar el montaje porque implica muchos conocimientos básicos. Después de dominar el ensamblaje y tener un conocimiento profundo de las E/S, debes aprender los principios de la compilación. No es necesario que domines esto, pero debes saber que necesitas tener ese concepto en tu cerebro, lo que será de gran ayuda para tu capacidad de controlar los lenguajes de programación. De esta forma se completa el aprendizaje más básico. En términos generales, las personas con una inteligencia normal deberían poder dominar el párrafo anterior. Entonces el aprendizaje posterior depende de tu propio destino. En este momento, debes estudiar la estructura de datos. No te distraigas del aprendizaje. Debes saber que la estructura de datos es extremadamente importante (créame, es absolutamente cierto que ya tiene conocimientos sobre los árboles). tablas, pilas y similares. Los algoritmos como la clasificación y la recursividad ahora son muy claros y puedes comenzar a aprender C. Antes de aprender, debes tener una comprensión correcta, es decir, C y C son dos cosas diferentes. El propósito de aprender C es aprender programación orientada a objetos. En este momento, también debería poder dominar los punteros (con la base del ensamblaje). Principalmente debe comprender algunas de las nuevas características de C en comparación con C. Preste atención. a características como el polimorfismo. Comprenda y domine. Si no lo comprende, no siga estudiando. Una vez que domine algunos conceptos básicos, podrá ver algunos programas diseñados por otros y aprender cómo otros usan métodos orientados a objetos para diseñar programas. Esto también es un vínculo entre personas y puede colocarse en una posición tan importante como la estructura de datos. He visto personas que se graduaron de la universidad y todavía no entienden de qué se trata lo virtual. De hecho, creo que lo que ha aprendido aquí ha sentado una buena base para convertirse en un excelente programador. Ya puede aplicar C, comprender la programación orientada a objetos, tener un buen conocimiento de las estructuras de datos y dominar los principios del ensamblaje. y compilación. El siguiente aprendizaje se basa en la plataforma operativa. Generalmente, primero aprende Windows (después de todo, Microsoft es el jefe), primero aprende la API de Win32 y aprende sobre el mecanismo de mensajes básico y los principios de Windows. Básicamente no encontrarás ninguna dificultad. De hecho, siempre que conozca la API, todos los demás MFC y VCL están a su alcance, son solo una encapsulación de la API. VC y C Builder se pueden obtener fácilmente. Esto es solo una cuestión de herramientas de desarrollo. En el futuro, OLE (ActiveX), .NET y las bases de datos dependerán de su propia dirección de desarrollo. Lo que enfatizo aquí es el aprendizaje de habilidades básicas en el frente. Aunque el sistema de conocimiento de la plataforma operativa en la parte posterior es enorme, es relativamente avanzado y más fácil de dominar. Al final, el nivel de capacidad de programación está determinado principalmente por los siguientes puntos: 1. Hábitos de programación 2. Habilidad matemática (incluyendo pensamiento lógico y habilidades de análisis de problemas) 3. Capacidad para comprender estructuras de datos 4.

Cantidad de experiencia (incluida la capacidad de dominar varios idiomas)

Me gradué de una escuela secundaria técnica y estoy muy interesado en la programación. Quiero aprender por mi cuenta.

Originalmente lo planeé. aprender C directamente... Pero después de leer este artículo, no sé qué hacer...

Por favor, ayuda de expertos

(Esto es lo que tengo que hacer debido al límite de palabras. Tenga la seguridad. No me lo daré a mí mismo.)