# Difference between graph and tree

**Graph** :

A graph is collection of two sets V and E where V is a finite non-empty set of vertices and E is a finite non-empty set of edges.

- Vertices are nothing but the nodes in the graph.
- Two adjacent vertices are joined by edges.
- Any graph is denoted as G = {V, E}.

For Example:

G = {{V_{1}, V_{2}, V_{3}, V_{4}, V_{5}, V_{6}}, {E_{1}, E_{2}, E_{3}, E_{4}, E_{5}, E_{6}, E_{7}}}

**Tree :**

A tree is a finite set of one or more nodes such that –

- There is a specially designated node called root.
- The remaining nodes are partitioned into n>=0 disjoint sets T
_{1}, T_{2}, T_{3}, …, T_{n}

where T_{1}, T_{2}, T_{3}, …, T_{n}is called the subtrees of the root.

The concept of tree is represented by following Fig.

**Graph vs Tree**

No. | Graph | Tree |
---|---|---|

1 | Graph is a non-linear data structure. | Tree is a non-linear data structure. |

2 | It is a collection of vertices/nodes and edges. | It is a collection of nodes and edges. |

3 | Each node can have any number of edges. | General trees consist of the nodes having any number of child nodes. But in case of binary trees every node can have at the most two child nodes. |

4 | There is no unique node called root in graph. | There is a unique node called root in trees. |

5 | A cycle can be formed. | There will not be any cycle. |

6 | Applications: For finding shortest path in networking graph is used. | Applications: For game trees, decision trees, the tree is used. |

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.