# Graph

_Read this in other languages:_
[_简体中文_](README.zh-CN.md),
[_Русский_](README.ru-RU.md),
[_Português_](README.pt-BR.md)

In computer science, a **graph** is an abstract data type 
that is meant to implement the undirected graph and 
directed graph concepts from mathematics, specifically
the field of graph theory

A graph data structure consists of a finite (and possibly 
mutable) set of vertices or nodes or points, together 
with a set of unordered pairs of these vertices for an 
undirected graph or a set of ordered pairs for a 
directed graph. These pairs are known as edges, arcs, 
or lines for an undirected graph and as arrows, 
directed edges, directed arcs, or directed lines 
for a directed graph. The vertices may be part of 
the graph structure, or may be external entities 
represented by integer indices or references.

![Graph](https://www.tutorialspoint.com/data_structures_algorithms/images/graph.jpg)

## References

- [Wikipedia](https://en.wikipedia.org/wiki/Graph_(abstract_data_type))
- [Introduction to Graphs on YouTube](https://www.youtube.com/watch?v=gXgEDyodOJU&index=9&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
- [Graphs representation on YouTube](https://www.youtube.com/watch?v=k1wraWzqtvQ&index=10&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)