# What is the difference between Tree and Graph

We usually use a diverse range of data structure to store our data and information. To store them in a more sequential manner and to access them easily, we use data structures such as tree, graph, queue, stack, etc. In this article, we will mainly be talking about tree and graph data structure and the difference between the two.

### What is Tree?

Tree is known to be a data structure that arranges and stores the data given in a hierarchical manner. A tree data structure is basically described as the huge storage management of objects and data and information popularly known as the nodes which are interconnected in order to form a hierarchy. It is generally a non-linear data structure as we know its nature of not keeping data or information in a consecutive pattern. Its pretty much a hierarchy as the data needs to rearranged at any given point or level. In this type data structure, the node that appears at the top of the hierarchy is specifically known as the root node and the node which we need to find is known as the goal. Every single node in the tree data structure holds some piece of data or information even if its very little. Also, we wonder how do we traverse or move to the next node? Well, each and every node holds some reference or link to the other node and that is how we traverse in a tree data structure. This is also known as the children as they are descended from some other node or also called the child node. There are so many other terminologies related to the tree data structure which we will be explaining one by one. The nodes that have the same parent are called the sibling nodes. The node of the tree that doesn’t contain any child is called the leaf node. A node that contains at least one child is known as the internal node.

### WHAT IS GRAPH

A graph data structure is generally described as the one which contains diverse range of vertices and edges that are specifically used to connect all of these. A graph is sometimes also represented as a cyclic tree where the nodes usually had a strange and complicated relation between them rather than having the usual parent – child relationship. The graph can be described as an ordered set G( V, E ) where we know that V(G) usually represents the set of vertices and the E(G) will always indicate the set of edges that are mainly used to connect the vertices.