Skip to content

spbu-coding-2023/graphs-graph-10

Repository files navigation

Graph analysis app

Application for graph visualization. Has the ability to work with Directed, Undirected, Weighted, Unweighted graphs.

2024-05-28-15-41-18


Algorithms

Layout

PathFinding

MST

Communities

Key vertices

Other


Input/Output operations

  • Load any graph into this app if it's represents CSV with adjacency matrix.
  • Find some graph files in csv format in examples directory.
  • Store current app state into Neo4J or SQLite or JSON databases.

Installation and launch

  • Installation
git clone https://github.com/spbu-coding-2023/graphs-graph-10.git
  • Launch
./gradlew run

Some illustrated examples of work

Communities

Louvain algorithm is used to find communities

2024-05-28-15-41-39

Find Cycle

You need to select one vertex and the app will draw all the cycles passing through this vertex

2024-05-28-16-23-14

Articulated vertices

To implement the functionality, the Tarjan algorithm is used

2024-05-28-16-34-00

Find key vertices

In order to identify the most important or influential vertices in the graph, used Leader Rank function, which accepts 2 parameters of the Double type

2024-05-28-17-34-46

Path Finding

In our app, you can find the path between two vertices using 3 algorithms

All 3 algorithms identify the minimum path between two vertices

An example would be Dijkstra algorithm

2024-05-29-10-47-26-online-video-cutter com

Draw MST

The application supports 2 algorithms: Kruskal and Prim

2024-05-29-11-08-45

LICENSE