:boom: Interactive and colorful :art: graph theory tutorials made using d3.js :zap:
<p align="center">
  <img src="img/banner.png" style="max-width:100%;">
</p>

# D3 Graph Theory

[![Click to see the action](https://forthebadge.com/images/badges/check-it-out.svg)](https://d3gt.com/)

[![Donate](https://img.shields.io/badge/%24-donate-orange.svg?style=flat-square)](https://www.paypal.me/mrpandey/)

> In mathematics, graph theory is the study of graphs, which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of vertices, nodes, or points which are connected by edges, arcs, or lines.
> -- <cite>Wikipedia</cite>

D3 Graph Theory is a front-end project aimed at anyone who wants to learn graph theory. It provides a quick and interactive introduction to the subject. The visuals used in the project makes it an effective learning tool.

## Topics Covered So Far

The whole content is broken in several units. So far these units have been added.

| Table | Of | Contents |
| --- | --- | --- |
|1. [Vertices and Edges](https://d3gt.com/unit.html?vertices-and-edges)|2. [Order and Size of a Graph](https://d3gt.com/unit.html?order-and-size)|3. [Degree of a Vertex](https://d3gt.com/unit.html?degree-of-vertex)|
|4. [Degree Sequence of a Graph](https://d3gt.com/unit.html?degree-sequence)|5. [Graphic Sequence](https://d3gt.com/unit.html?graphic-sequence)|6. [Havel-Hakimi Algorithm](https://d3gt.com/unit.html?havel-hakimi)|
|7. [Pigeonhole Principle](https://d3gt.com/unit.html?pigeonhole)|8. [Regular Graph](https://d3gt.com/unit.html?regular-graph)|9. [Complete Graph](https://d3gt.com/unit.html?complete-graph)|
|10. [Bipartite Graph](https://d3gt.com/unit.html?bipartite)|11. [Complete Bipartite Graph](https://d3gt.com/unit.html?complete-bipartite)|12. [Walk](https://d3gt.com/unit.html?walk)|
|13. [Open vs Closed Walks](https://d3gt.com/unit.html?open-vs-closed)|14. [Connectivity](https://d3gt.com/unit.html?connectivity)|15. [Eulerian Circuit](https://d3gt.com/unit.html?eulerian-circuit)|
|16. [Eulerian Trail](https://d3gt.com/unit.html?eulerian-trail)|17. [Graph Coloring](https://d3gt.com/unit.html?graph-coloring)|18. [k-Colorable Graph](https://d3gt.com/unit.html?k-colorable)|
|19. [Chromatic Number](https://d3gt.com/unit.html?chromatic-number)|20. [Trees](https://d3gt.com/unit.html?trees)|21. [Rooted Trees](https://d3gt.com/unit.html?rooted-trees)|
|22. [Spanning Tree of a Graph](https://d3gt.com/unit.html?spanning-tree)|

The project is still expanding. New topics are added from time to time.

## Upcoming Topics

These topics are planned to be added.

- [ ] Planar Graphs
- [x] Chromatic Number
- [x] Trees
- [x] Rooted Trees
- [x] Spanning Tree
- [ ] Prim's Algorithm
- [ ] Kruskal's Algorithm

So, keep checking for updates. :smile:

## Attributions

This project is built with the help of following libraries and projects.

* [D3.js](https://github.com/d3/d3)
* [MathJax](https://github.com/mathjax/MathJax)
* [JQuery](https://github.com/jquery/jquery)
* [Bootstrap](https://github.com/twbs/bootstrap)
* [Modal Logic Playground](https://github.com/rkirsling/modallogic)
* [Havel-Hakimi](https://github.com/jacquerie/hh)
* [iconsanscoffee.com](http://iconsandcoffee.com/)
* [GitHub Buttons](https://ghbtns.com/)

## License

Copyright (c) 2017 [Avinash Pandey](http://mrpandey.com). Licensed under [MIT License](https://github.com/mrpandey/d3graphTheory/blob/master/LICENSE).
