Python Tree: Learn Trees in Data Structure With Examples

Written by | 22-Jan-2021 | 0 Comments | 2102 Views

Python Tree: In this article you will Learn Python Trees in Data Structure in Detail with Real Examples. Tree is another data structure that allow the data to reside in hierarchical. Learn python

The tree is another data structure that allows the data to reside in a hierarchical position. Each tree has a node, and each node has a leaf, also called a child. In python, there is no such data structure built-in.

However, the open-source community has contributed to developing tree data structures in python. It is not very efficient yet. Many modules have been developed, but the binary tree is one of the best to understand the basic concept of the tree, which helps to understand the graph data structure in the next lectures. The tree data structure look like this:

The above-given image is of a binary tree. Here each circle is a node, and each node has a further two leaf nodes, which are nodes itself. The nodes cannot be more than 2 in a binary tree. Each node contains the data, just like the element of the list include a value.

So how can we implement this in python?

To implement this in python, we have to use a module known as a binary tree. As it is not a built-in module, we first have to install it via command line as follows:

The above image shows that I have already downloaded it on my computer, so it satisfied the requirement. To run the code in python following method is used:

 Code  from binarytree import Node   root = Node (3) root.left = Node (4) root.right = Node (9) root.right.left = Node (16) print(root)

From the above-given code, we can see that we first assign a node having value 3. Then we assign the left node leaf having value 4 and the right leaf node having value 9. further, we assign the right leaf node a child leaf having value 16. When we print the root following output is given as:

 3_  /    4     _9      /     16

The output is given a tree. However, this method is a bit lengthy. We have to assign each node by hand, which is a lengthy process. We can directly convert the list into a tree data structure by the following method as follows:

 Code from binarytree import build values = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] root = build(values) print(root)

The output of the above code is as follows. As we can see the trend, the tree is built in left to right fashion when converted from the list.

Tree Traversal:

Unlike arrays and lists in which we can iterate over those data structures in only one way from left to right. In a tree, we can iterate the tree in 3 different ways. This is known as tree traversal. There are three types of tree traversal. Following are the name of tree traversal:

• In order
• Pre-order
• Postorder

In order tree traversal (left, root, right):

• First, visits the left subtree
• Than visit root
• In Last visit right subtree

Code

 from binarytree import build values = [1,2,3,4,5] root = build(values) print(root)   print(root.inorder)

The output of the above code is as follows.

Pre-order (Root, Left, Right):

• First, visit the root
• then the left leaf node
• in last right leaf node

Code

 from binarytree import build values = [1,2,3,4,5] root = build(values) print(root) print(root.preorder)

Postorder (left, right, root):

• First, visit the left leaf node
• then the right leaf node
• in last visit root

Code

 from binarytree import build values = [1,2,3,4,5] root = build(values) print(root) print(root.postorder)