联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2023-12-04 08:47

CSCI 6836 Section V1: Assignment 4

Fairleigh Dickinson University Vancouver

Fall 2023

Assigned: Monday, November 27, 2023

Due: Beginning of class, Monday, December 4, 2023 using Webcampus

Instructions

This assignment has 100 points. Complete this assignment entirely on your own. Submission must follow

the guidelines stated in What to Submit and Quality Requirements exactly.

This assignment is about graph algorithms. You must implement your own graph data structure. Do not use any off-the-shelf graph libraries.

Problem Definition

Implement a Graph class (undirected) using adjacency list representation. The graph class must include

a fromFile(inputFileName) method for reading an input file and constructing the graph object. After

constructing the graph, your program must perform breadth first search (BFS) and depth first search (DFS)

starting from a node specified by the user, and write the output to an output file. Sample input and output

are provided below. The program should be compiled from the command line as follows:

javac Graph.java

and run as follows:

java Graph <input file name> <number of nodes> <starting node> <output file name>

If the number of command line arguments is incorrect or if the user types

java Graph --help

or

java Graph -h

then the program should print

Usage: java Graph <input file name> <number of nodes> <starting node> <output file name>

Example

Suppose a file named myinput.txt specifies an undirected graph by enumerating its edges as follows:

1 2

2 3

3 4

4 5

1 5

1

Note that each edge is represented as i j where i < j. Then, running the program as below:

java Graph myinput.txt 5 1 myoutput.txt

must produce the following output in myoutput.txt:

BFS:

1 2

1 5

2 3

4 5

DFS:

1 2

2 3

3 4

4 5

Similar to the input, each edge in the output is represented as i j where i < j.

What to Submit

Please submit your code as a single Java file with the extension changed to .txt, i.e., the file name should

be Graph.txt.

Quality Requirements

The program must conform to the following:

? The program must be written in Java.

? The implementations must be based on the algorithms as discussed in class. In particular, DFS

implementation must be non-recursive.

? Programs must be of high quality, check for error conditions and edge cases, and follow industry

standard coding and commenting guidelines.

? Code based on online resources such as tutorials or blogs or wikis will receive zero credit.

? Code written using generative AI models will receive zero credit.

2


相关文章

版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp