Algoritmo de los puntos de conocimiento básicos de JAVA (2): Suplemento

Algoritmo de poda

En la optimización del algoritmo de búsqueda, la poda consiste en evitar algunos procesos transversales innecesarios a través de ciertos juicios, para decirlo claramente, es podar ciertas "ramas" en el árbol de búsqueda, por eso se llama poda. El problema central de aplicar la optimización de la poda es diseñar un método de juicio de poda, es decir, determinar qué ramas deben descartarse y qué ramas deben retenerse.
Inserte la descripción de la imagen aquí

Algoritmo de retroceso

El algoritmo de retroceso es en realidad un proceso de prueba de búsqueda similar a la enumeración, que es principalmente para encontrar la solución del problema en el proceso de prueba de búsqueda. Cuando se encuentra que la condición de solución no se cumple, "retrocederá" y regresará y probará otra ruta.

Algoritmo de ruta más corta

Comenzando desde un cierto vértice, en la ruta tomada a lo largo del borde de la gráfica para llegar a otro vértice, la ruta con la suma más pequeña de pesos en cada borde se denomina ruta más corta. Existen los siguientes algoritmos para resolver el problema de la ruta más corta, el algoritmo de Dijkstra, el algoritmo de Bellman-Ford, el algoritmo de Floyd y el algoritmo SPFA.

Algoritmo de subarreglo máximo

Algoritmo de subsecuencia común más largo

Algoritmo de árbol de expansión mínimo

Supongamos ahora que hay un problema muy práctico: queremos establecer una red de comunicación en n ciudades, luego es necesario organizar n-1 líneas de comunicación para conectar estas n ciudades. En este momento, debemos considerar cómo establecer esto al menor costo. ¿Red de comunicacion?
Entonces, podemos introducir un gráfico conectado para resolver el problema que encontramos. Las n ciudades son los n vértices del gráfico. Luego, los bordes representan las líneas de comunicación de las dos ciudades y el peso en cada borde es el lugar donde construimos esta línea. Costo, por lo que ahora tenemos una red conectada con n vértices para construir diferentes árboles de expansión, y cada árbol de expansión se puede usar como una red de comunicación. Cuando el costo de construir esta red conectada sea el más pequeño, construya la red conectada El árbol de expansión se denomina árbol de expansión mínimo.
Hay muchos algoritmos para construir un árbol de expansión mínimo, pero todos usan la misma propiedad del árbol de expansión mínimo: la propiedad MST (asumiendo que N = (V, {E}) es una red conectada, U es un subconjunto no vacío del conjunto de vértices V , Si (u, v) es una arista con el peso más pequeño, donde u pertenece a U y v pertenece a VU, entonces debe haber un árbol de expansión mínimo que contenga aristas (u, v)), los siguientes dos tipos de uso de MST Algoritmos para generar árboles de expansión mínimos: algoritmo de Prim y algoritmo de Kruskal

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_46914021/article/details/109215209
Recomendado
Clasificación