예제 #1
0
int main(int argc, char *argv[])
{
  FILE *inputFile;
  readCommandLineArguments(argc, argv, &inputFile);
  clock_t start = clock();
  int minCut = kargerMinCut(inputFile, NUM_ITERATIONS);
  clock_t diff = clock() - start;

  // print errthing
  int msec = diff * 1000 / CLOCKS_PER_SEC;
  printf("minCut: %d\n", minCut);
  printf("numIterations: %d\n", NUM_ITERATIONS);
  printf("CPU ticks: %ld\n", diff);
  printf("Time taken: %d seconds %d milliseconds\n", msec/1000, msec%1000);
}
예제 #2
0
// Driver program to test above functions
int main()
{
    /* Let us create following unweighted graph
        0------1
        | \    |
        |   \  |
        |     \|
        2------3   */
    int V = 4;  // Number of vertices in graph
    int E = 5;  // Number of edges in graph
    struct Graph* graph = createGraph(V, E);
 
    // add edge 0-1
    graph->edge[0].src = 0;
    graph->edge[0].dest = 1;
 
    // add edge 0-2
    graph->edge[1].src = 0;
    graph->edge[1].dest = 2;
 
    // add edge 0-3
    graph->edge[2].src = 0;
    graph->edge[2].dest = 3;
 
    // add edge 1-3
    graph->edge[3].src = 1;
    graph->edge[3].dest = 3;
 
    // add edge 2-3
    graph->edge[4].src = 2;
    graph->edge[4].dest = 3;
 
    // Use a different seed value for every run.
    srand(time(NULL));
 
    printf("\nCut found by Karger's randomized algo is %d\n",
           kargerMinCut(graph));
 
    return 0;
}