Bi Shumin es un conocido académico en el campo de la informática. Su libro "El arte de la programación informática" es un clásico de la historia de la informática. El libro está dividido en tres volúmenes, que presentan los conceptos básicos de algoritmos, el diseño y análisis de algoritmos y la implementación de algoritmos.
Conceptos básicos de algoritmos
En el primer volumen, Bi Shumin presentó los conceptos básicos de algoritmos, incluida la definición, características y clasificación de los algoritmos. Al mismo tiempo, también presentó los métodos de análisis de complejidad de los algoritmos, incluida la complejidad del tiempo y la complejidad del espacio.
Al aprender los conceptos básicos de los algoritmos, debemos dominar los siguientes aspectos del conocimiento:
1. Definición de algoritmo: un algoritmo es un conjunto de instrucciones limitado que puede transformar datos de entrada. Para el proceso de cálculo de datos de salida.
2. Características de los algoritmos: Los algoritmos deben tener las características de entrada, salida, finitud, certeza y viabilidad.
3. Clasificación de algoritmos: Los algoritmos se pueden dividir en algoritmos recursivos, algoritmos iterativos, algoritmos codiciosos, algoritmos de divide y vencerás, algoritmos de programación dinámica, etc.
4. Análisis de complejidad del algoritmo: La complejidad del algoritmo se puede dividir en dos aspectos: complejidad temporal y complejidad espacial.
Diseño y análisis de algoritmos
En el segundo volumen, Bi Shumin presenta los métodos de diseño y análisis de algoritmos. Explicó métodos comunes de diseño de algoritmos a través de ejemplos, incluida la enumeración de fuerza bruta, el método de dividir y conquistar, el método codicioso, la programación dinámica, etc.
Al aprender el diseño y análisis de algoritmos, necesitamos dominar los siguientes aspectos del conocimiento:
1. La idea básica del diseño de algoritmos: la idea básica de. El diseño del algoritmo consiste en descomponer el problema en varios subproblemas y luego resolver los subproblemas de forma recursiva o iterativa y finalmente obtener la solución al problema original.
2. Métodos comunes de diseño de algoritmos: los métodos comunes de diseño de algoritmos incluyen enumeración violenta, método de dividir y conquistar, método codicioso, programación dinámica, etc.
3. Análisis de la complejidad del algoritmo: el análisis de la complejidad del algoritmo es una parte importante del diseño del algoritmo. Puede ayudarnos a evaluar la eficiencia y los pros y los contras del algoritmo.
Implementación de algoritmos
En el tercer volumen, Bi Shumin presenta los métodos de implementación de algoritmos, incluidas estructuras de datos, lenguajes de programación y técnicas de programación. Explicó estructuras de datos comunes y métodos de implementación de algoritmos a través de ejemplos e introdujo conceptos básicos de lenguajes de programación y técnicas de programación.
Al aprender la implementación de algoritmos, debemos dominar los siguientes aspectos del conocimiento:
1. El concepto básico de estructura de datos: la estructura de datos se refiere a la relación entre elementos de datos. Incluyendo estructura lineal, estructura de árbol, estructura gráfica, etc.
2. Estructuras de datos comunes y métodos de implementación de algoritmos: las estructuras de datos comunes incluyen matrices, listas vinculadas, pilas, colas, árboles, gráficos, etc. Los métodos de implementación de algoritmos comunes incluyen clasificación, búsqueda, coincidencia de cadenas, etc. .
3. Lenguaje de programación y habilidades de programación: El lenguaje de programación es una herramienta para implementar algoritmos, y las habilidades de programación pueden ayudarnos a mejorar la eficiencia y legibilidad del programa.
"El arte de la programación informática" de Bi Shumin es un libro clásico de informática. No solo presenta los conceptos básicos, los métodos de diseño y análisis de los algoritmos, sino que también presenta los métodos de implementación de los algoritmos. Este libro es un clásico de lectura obligada al estudiar informática.