graphs-in-python icon indicating copy to clipboard operation
graphs-in-python copied to clipboard

Add NetworkX examples

Open stamd opened this issue 3 years ago • 3 comments

At the moment, we have custom-coded implementations for every algo and data structure mentioned in the "Graphs in Python - Theory and Implementation" course. That's absolutely fine and serves its purpose - to translate theory into code so that course attendees can follow along and gain both theoretical and practical knowledge pretty much simultaneously.

But, all of the above is created for learning purposes, not necessarily for real-world applications. And as good as it would be if we could make this a comprehensive library for (almost) all real-world applications, we are definitely not able to compete with other open-source graph libraries.

On that note, we must find a way to cover real-world applications in this course, and that's where NetworkX comes in:

NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks

We should create a NetworkX project that shows all the implementations we mentioned in the course (and, possibly, some extra) in some real-world scenarios. That would make this a well-rounded course that truly covers all aspects of both the theory and the implementation of graphs in Python.

Note: This issue will be used for tracking purposes only!

stamd avatar Nov 24 '22 12:11 stamd

  • [ ] How to install NetworkX
  • [ ] Creating graphs (probably many different ways)
  • [ ] BFS
  • [ ] DFS
  • [ ] A*
  • [ ] Dijkstra
  • [ ] MST Kruskal
  • [ ] MST Prim
  • [ ] MST Boruvka

stamd avatar Nov 25 '22 10:11 stamd

  • [ ] Visualizing graphs

stamd avatar Nov 25 '22 13:11 stamd

Potentially, make up some ideas for GPs that can illustrate the use of NX - those GPs can be used to funnel readers into the course later...

stamd avatar Nov 25 '22 14:11 stamd