Tree
• A Tree definition in data structure is a tree is a
hierarchical data structure. It consists of multiple
nodes that contain the actual data. The node that
is at the top of the hierarchy is called the root
node of a tree.
Basic terminologies or Building Blocks
• Root node : The root node is the topmost node in the tree hierarchy. In
other words, the root node is the one that doesn't have any parent. In the
above structure, node numbered 1 is the root node of the tree. If a node
is directly linked to some other node, it would be called a parent-child
relationship.
• Parent: If the node contains any sub-node, then that node is said to be the
parent of that sub-node.
• Child node: If the node is a descendant of any node, then the node is
known as a child node.
Basic terminologies or Building Blocks
• Leaf Node:- The node of the tree, which doesn't have any child node, is called a
leaf node. A leaf node is the bottom-most node of the tree. There can be any
number of leaf nodes present in a general tree. Leaf nodes can also be called
external nodes.
• Sibling: The nodes that have the same parent are known as siblings.
• Internal nodes: A node has atleast one child node known as an internal Nodes
• Ancestor node:- An ancestor of a node is any predecessor
node on a path from the root to that node. The root node
doesn't have any ancestors. In the tree shown in the above
image, nodes 1, 2, and 5 are the ancestors of node 10.
• Descendant: The immediate successor of the given node is
known as a descendant of a node. In the above figure, 10 is
the descendant of node 5.
• Number of edges: If there are n nodes, then there
would n-1 edges. Each arrow in the structure
represents the link or path.
• Each node, except the root node, will have atleast one
incoming link known as an edge. There would be one
link for the parent-child relationship.
• Depth of node x: The depth of node x can be defined
as the length of the path from the root to the node x.
• So, the depth of node x can also be defined as the
number of edges between the root node and the node
x. The root node has 0 depth.
• Height of node x: The height of node x can be defined
as the longest path from the node x to the leaf node.
Types of Tree data structure
• General tree
• In a general tree, every node can have any number of children.
• Binary Tree
• A binary tree is a special type of tree data structure in which every
node can have a maximum of 2 children.
• One is known as a left child and the other is known as right child.
General tree Binary Tree
Types of Binary Tree:
• Full Binary Tree
• Perfect Binary Tree
• Degenerate Binary Tree
• Skewed Binary Trees
Full Binary Tree / Strictly Binary Tree
• In a binary tree, every node can have a maximum of two children.
• But in strictly binary tree, every node should have exactly two
children or none.
• A binary tree in which every node has either two or zero number
of children is called Strictly Binary Tree
•
Full Binary Tree ?? Full Binary Tree ??
Perfect / Complete Binary Tree
• Each Node has exactly 2 Nodes and all leaf
nodes must be at the same level
Perfect Binary Tree??
Perfect Binary Tree??
Almost Complete Binary Tree
• A tree in which all levels are completely filled
except possibly for the last level. it is a binary
tree that is filled from left to right across each
level.
Skewed Binary Tree
• A skewed binary tree is a tree in which the tree is
either dominated by the left nodes or the right
nodes.
• Thus, there are two types of skewed binary tree:
left-skewed binary tree and right-skewed binary
tree.
• The tree data structure can be created by
creating the nodes dynamically with the help
of the pointers. The tree in the memory can
be represented as shown below:

Tree Basic concepts of Tree in Data Structure

  • 2.
    Tree • A Treedefinition in data structure is a tree is a hierarchical data structure. It consists of multiple nodes that contain the actual data. The node that is at the top of the hierarchy is called the root node of a tree.
  • 3.
    Basic terminologies orBuilding Blocks • Root node : The root node is the topmost node in the tree hierarchy. In other words, the root node is the one that doesn't have any parent. In the above structure, node numbered 1 is the root node of the tree. If a node is directly linked to some other node, it would be called a parent-child relationship. • Parent: If the node contains any sub-node, then that node is said to be the parent of that sub-node. • Child node: If the node is a descendant of any node, then the node is known as a child node.
  • 4.
    Basic terminologies orBuilding Blocks • Leaf Node:- The node of the tree, which doesn't have any child node, is called a leaf node. A leaf node is the bottom-most node of the tree. There can be any number of leaf nodes present in a general tree. Leaf nodes can also be called external nodes. • Sibling: The nodes that have the same parent are known as siblings. • Internal nodes: A node has atleast one child node known as an internal Nodes
  • 5.
    • Ancestor node:-An ancestor of a node is any predecessor node on a path from the root to that node. The root node doesn't have any ancestors. In the tree shown in the above image, nodes 1, 2, and 5 are the ancestors of node 10. • Descendant: The immediate successor of the given node is known as a descendant of a node. In the above figure, 10 is the descendant of node 5.
  • 6.
    • Number ofedges: If there are n nodes, then there would n-1 edges. Each arrow in the structure represents the link or path. • Each node, except the root node, will have atleast one incoming link known as an edge. There would be one link for the parent-child relationship. • Depth of node x: The depth of node x can be defined as the length of the path from the root to the node x. • So, the depth of node x can also be defined as the number of edges between the root node and the node x. The root node has 0 depth. • Height of node x: The height of node x can be defined as the longest path from the node x to the leaf node.
  • 7.
    Types of Treedata structure • General tree • In a general tree, every node can have any number of children. • Binary Tree • A binary tree is a special type of tree data structure in which every node can have a maximum of 2 children. • One is known as a left child and the other is known as right child. General tree Binary Tree
  • 8.
    Types of BinaryTree: • Full Binary Tree • Perfect Binary Tree • Degenerate Binary Tree • Skewed Binary Trees
  • 9.
    Full Binary Tree/ Strictly Binary Tree • In a binary tree, every node can have a maximum of two children. • But in strictly binary tree, every node should have exactly two children or none. • A binary tree in which every node has either two or zero number of children is called Strictly Binary Tree • Full Binary Tree ?? Full Binary Tree ??
  • 10.
    Perfect / CompleteBinary Tree • Each Node has exactly 2 Nodes and all leaf nodes must be at the same level Perfect Binary Tree?? Perfect Binary Tree??
  • 11.
    Almost Complete BinaryTree • A tree in which all levels are completely filled except possibly for the last level. it is a binary tree that is filled from left to right across each level.
  • 12.
    Skewed Binary Tree •A skewed binary tree is a tree in which the tree is either dominated by the left nodes or the right nodes. • Thus, there are two types of skewed binary tree: left-skewed binary tree and right-skewed binary tree.
  • 13.
    • The treedata structure can be created by creating the nodes dynamically with the help of the pointers. The tree in the memory can be represented as shown below: