Top Banner
TREES Data Structures and Algorithms
18
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Trees

TREES

Data Structures and Algorithms

Page 2: Trees

Definition

Trees are used to impose a hierarchical structure on a collection of data items.

A tree is a set of one or more nodes T such that: there is a specially designated node called a root The remaining nodes are partitioned into n disjointed

set of nodes T1, T2,…,Tn, each of which is a tree.

Page 3: Trees

Basic Terminology

Degree of a Node of a TreeThe degree of a node of a tree is the number of subtrees having this node as a root. In other words, the degree is the number of descendants of a node. If the degree is zero, it is called a terminal or leaf node of a tree.

Degree of a TreeThe degree of a tree is defined as the maximum of degree of the nodes of the tree, that is, degree of tree = max (degree(node i) for I = 1 to n)

Level of a NodeWe define the level of the node by taking the level of the root node as 1, and incrementing it by 1 as we move from the root towards the subtrees. So the level of all the descendants of the root nodes will be 2. The level of their descendants will be 3, and so on. We then define the depth of the tree to be the maximum value of the level of the node of the tree.

Page 4: Trees

Binary Tree

A binary tree is a special case of tree as defined in the preceding section, in which no node of a tree can have a degree of more than 2. Therefore, a binary tree is a set of zero or more nodes T such that: there is a specially designated node called the

root of the tree the remaining nodes are partitioned into two

disjointed sets, T1 and T2, each of which is a binary tree. T1 is called the left subtree and T2 is called right subtree, or vice-versa

Page 5: Trees

Skewed Binary Tree

Page 6: Trees

Full binary tree

A full binary tree is a binary of depth k having 2k − 1 nodes. If it has < 2k − 1, it is not a full binary tree. For example, for k = 3, the number of nodes = 2k − 1 = 23 − 1 = 8 − 1 = 7.

A full binary tree with depth k = 3 is shown

Page 7: Trees

Complete binary tree

A complete binary tree of depth k is a tree with n nodes in which these n nodes can be numbered sequentially from 1 to n, as if it would have been the first n nodes in a full binary tree of depth k.

A complete binary tree with depth k = 3 is shown

Page 8: Trees

Representation of Binary Tree BT are represented using 2 ways

Array representation Linked list representation

Page 9: Trees

1. Array Representation

we can map node i to the ith index in the array, and the parent of node i will get mapped at an index i/2, whereas the left child of node i gets mapped at an index 2i and the right child gets mapped at an index 2i + 1

Page 10: Trees

2. Linked List representation we can use a linked representation, in

which every node is represented as a structure with three fields: one for holding data, one for linking it with the left subtree, and the third for linking it with right subtree

Page 11: Trees

Traversal of Binary Tree

There are 6 ways of traversal of binary tree LDR LRD DLR RDL RLD DRL

Where,L stands for traversing the left subtree, R stands for traversing the right subtree,D stands for processing the data of the node

Page 12: Trees

The order LDR is called as inorder; the order LRD is called as postorder; the order DLR is called as preorder.

The remaining three orders are not used.

Page 13: Trees

Binary Search Tree

A binary search tree is a binary tree that may be empty, and every node must contain an identifier. An identifier of any node in the left subtree is less than the identifier of the root. An identifier of any node in the right subtree is greater than the identifier of the root. Both the left subtree and right subtree are binary search trees

Page 14: Trees

DELETION OF A NODE FROM BINARY SEARCH TREE

Deletion of a node with two children Deletion of a Node with One Child Deletion of a Node with No Child

Page 15: Trees

Deletion of a node with two children

Page 16: Trees

Deletion of a Node with One Child

Page 17: Trees

Deletion of a Node with No Child

Page 18: Trees

Find or request more at http://amitbiswal.blogspot.com

Thank you