Skip to content
/ 20S-PA02 Public template

Template for Project 02 - Graph Searching and Community Detection

Notifications You must be signed in to change notification settings

smu-cs-3353/20S-PA02

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Project 02 - Link Searching and Community Discovery

Due: Friday March 13, 2020 @ 11pm

Overview

Assume you have a graph that represents some type of relationship between two people. For example, it could represent friendship in a social network like Facebook. Or it could represent co-authorship of a paper, article, or book. In these examples, we are considering the edges to be undirected. However, in social networks that have a "follow"-type relationship between two individuals, the edges would be directed. You'll implement a set of algorithms related to searching the graph and community discovery.

Example network input:

[7]
A
B
C
D
E
F
G
[undirected]
A - B
A - C
B - C
B - D
D - G
D - F
D - E
G - F
E - F

You'll read in a control file that will contain a set of commands to be processed by your project.

  • or - Open a file for reading. Takes one argument - the file name.
    • ex: or g1.txt
  • ow - set the output file. Takes one argument - the name of the file.
    • ex: ow g1-output.txt
  • dfs - Depth first search. Takes one argument - the start node.
    • ex: dfs E
    • Output: To come
  • bfs - Breadth first search. Takes one argument - the start node.
    • ex: bfs G
    • Output: To come
  • mc - Make a Connection with the smallest number of introductions. Takes two arguments - the two people to attempt to connect.
    • ex: mc A D
    • Output: A set of introductions that need to be made in order for person A to be introduced to person D.
      • Ex: {(A - B), (B - D)}
  • dc - Discover Communities. No arguments. Implement the Girvan-Newman algorithm a set of reasonably well connected communities. You will define "reasonably".

You will need to create your CLion project in this repository as well as add in the GitHub Actions file. Be sure to modify the CMakeLists.txt file to copy any input files to the build directory. You can use the one from Project 01 as an example. Same goes for Actions .yaml file.

About

Template for Project 02 - Graph Searching and Community Detection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published