Various algorithms for solving Max-Bandwidth-Path problem and detailed performance report.
- Dijkstra
- Dijkstra with Heap
- Kruskal
In process also creating various other useful data structures to be used for the algorithm implementation:
- Queue
- Linked List
- Set (Union, Find, Make)
- Heaps (Min/Max)
- Heap for Graph Edge structure
- Random Vertex(Random Vertex Generator from a list)
How to check performance? To check the peformance of various algorithms 2 types of graphs are considerd.
- Graph with 5000 vertices and 6 degree of edges
- Graph with 5000 vertices and 1000 degree of edges
We can tune the graphs accordingly by going changing the properties in the Network_Properties.h file.
The performance is calculated by running the file Network_Optimzation.c. Once, the program is done, the results are generated in file results.txt.
Note: One must check the results.txt, results are quite interesting.