es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para tomar una gran cantidad de casos de prueba para el algoritmo de Dijkstra sin entrada manual, los datos se pueden almacenar en los dos archivos principales: map.txt y routes.txt. Los pares de números se pueden leer desde estos archivos como entrada.

    Para hacer esto en C++, se puede utilizar la manipulación de archivos para leer los datos desde los archivos.

    Por ejemplo, para leer los datos desde el archivo map.txt, se puede utilizar el siguiente código:

    ifstream fin("map.txt");
    
    int n; // número de vértices en el grafo
    fin >> n;
    
    // leer la matriz de adyacencia del grafo
    int adj_matrix[n][n];
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            fin >> adj_matrix[i][j];
        }
    }
    
    fin.close();
    

    De manera similar, para leer los datos desde el archivo routes.txt, se puede utilizar el siguiente código:

    ifstream fin("routes.txt");
    
    int num_tests; // número de casos de prueba
    fin >> num_tests;
    
    // leer los casos de prueba (pares de vértices fuente y destino)
    vector<><int, int="">> test_cases;
    for(int i = 0; i < num_tests; i++){
        int src, dest;
        fin >> src >> dest;
        test_cases.push_back(make_pair(src, dest));
    }
    
    fin.close();
    

    Una vez que los datos se han leído desde los archivos, se pueden utilizar como entrada para probar el algoritmo de Dijkstra.</int,>

Comments are closed.