Steiner Tree problem implementation in Python, based on Minimum Spanning Tree (By Kruskal algorithm), for Data Structure Course, Spring 2020.
In addition to the main project, Graph class contains the method "draw", which draws the graph of its instance using the Turtle library. It was not part of the project's objective, just a side task that I got interested in, and implemented. Hope it can be of any use to anyone who would like to use it in the future. Also feel free to contribute to this little idea and make it better.
A picture of an input's Steiner Tree (hc12p.stp) with 3321 edges that I found fascinating:
Note: Neither the inputs (data-set) for this project, nor the respective outputs were included in the repository.