COMP3023 Design

COMP3023 Design and Analysis of Algorithms
Fall 2021
Programming Assignment
Submission by Nov 28 2021
Instructions:
Write a program that can return any three of the following four artifacts from a given weighted,
undirected graph: (Note each numbered item is considered as one artifact.)

  1. A Depth-First Search (DFS) Tree (Lecture06)
  2. All its Articulation Points (AP) and Biconnected Components (BC) (Lecture06)
  3. A Minimum Spanning Tree (MST), using Kruskal’s Algorithm (Lecture08)
  4. The Shortest Path Tree (SPT), using Dijkstra’s Algorithm (Lecture09)
    The input to your program is a data file named graph.txt, which specifies 1) the number of vertices
    (int), 2) the number of edges (int), 3) each edge’s two vertices and its weight (int). A sample input file
    is shown in Figure 1, along with the actual graph that it represents:
    6
    8
    0, 1, 3
    0, 2, 3
    0, 3, 4
    1, 3, 3
    2, 3, 2
    3, 4, 4
    3, 5, 2
    4, 5, 4
    Figure 1 A sample input file with the graph it represents
    Your program shall read the file name from keyboard, read the graph information from the file, run
    the above-mentioned four algorithms, and display the results on the console. Your program shall
    repeatedly ask for an input data file until the user press "CTRL+Z". A sample of console output is given on the
    next page, in Figure 2.
    Submission:
  5. Please write your program in C or C++.
    Put all your code in one single file and name it PA_#######.cpp, where ####### is your
    student ID.
    Build an executable file and name it PA_#######.exe.
    Pack the .cpp and .exe files into a zip file and name it PA_#######.zip.
  6. Please make sure your program can be executed. An unexecutable program will
    automatically yield a grade of zero.
  7. 4
  8. 3 4
  9. 4 3 4
  10. 2 2
  11. 5
    2


    Input the file name:
    graph.txt


  12. The following are the edges in the constructed DFS Tree
    0--1 1--3 2--3 3--4 4--5


  13. The articulation point(s) found in the given graph is/are:
    Vertex 3
    The biconnected component(s) found in the given graph is/are:
    0--1 0--2 0--3 1--3 2--3
    3--4 3--5 4--5


  14. The following are the edges in the constructed MST:
    0--1 1--3 2--3 3--4 3--5


  15. The following are the edges in the constructed SPT:
    0--1 0--2 0--3 3--4 3--5


    Input the file name:

  16. Comment your code when appropriate. Inside the comments, you are responsible of
    providing a full disclosure of all external reference materials that you have used, such as
    links to a public webpage, a video tutorial, or even a public repository. Failing to do so may
    yield a penalty.
  17. Reusing another student’s program is strictly prohibited. Plagiarism checking will be
    conducted prior to grading. Any case of violation of UIC’s honor code will yield a grade of
    zero and a report to Student Affairs Office.
    Figure 2. Sample console output

你可能感兴趣的:(程序员)