# Graph Terminology

Graphs are a data structure that can be used in computer science in a variety of context.

You can check the following Python challenges which are all being solved using a graph and a short path algorithm, one of the most useful algorithms used when manipulating graphs. Using a graph to represent friendship relationships in a social network.

#### Graph Terminology

A graph is a collection of nodes also called vertices which are connected between one another. Each connection between two vertices is called an edge (sometimes called a branch).

When designing a graph we can make decisions as to:

• Use a directed graph or an undirected graph,
• Use a weighted graph or an unweighted graph. An undirected graph is when edges have no direction. A directed graph is when edges have a direction. A weighted graph is when edges have a numerical value. A weighted and directed graph is where edges have a direction and a numerical value!

The weight of an edge can have different meanings:

• It could represent the distance (e.g. in miles) between two vertices,
• It could represent the time needed to travel (e.g. in minutes) between two vertices,
• etc…

The direction of an edge is not always needed.

For instance, in a social network like Facebook, there is no need to have directed edges to represent friendship, as if A if a friend of B, then B is also a friend of A. So all edges are both ways, hence an undirected graph is suitable to represent friendship relationships in Facebook.

Twitter however would use a directed graph, as if A follows B, it is not necessary the case that B is following A. With Twitter the edges represent the “Follow” relationship and are directed edges.

An adjacency matrix is sometimes used to represent a graph. It is based on a 2D-array to represent all the vertices and edges of a graph.

Graph #1Graph #2Graph #3Graph #4Graph #5Graph #6
##### Graph #1 A B C D E A ✔ ✔ B ✔ C ✔ D ✔ E ✔
##### Graph #2 A B C D E A 4 5 B 4 7 C 7 3 6 D E
##### Graph #3 A B C D E F A B C D E F
##### Graph #4 A B C D E F A B C D E F
##### Graph #5 A B C D E A B C D E
##### Graph #6 A B C D E A B C D E Amsterdam Athens Berlin Bucharest Budapest Dublin Geneva Lisbon London Madrid Oslo Paris Reykjavik Rome Amsterdam Athens Berlin Bucharest Budapest Dublin Geneva Lisbon London Madrid Oslo Paris Reykjavik Rome

Did you like this challenge?

Click on a star to rate it!

Average rating 4.3 / 5. Vote count: 27

No votes so far! Be the first to rate this post.

As you found this challenge interesting...