Download - Trees
![Page 1: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/1.jpg)
TREES
![Page 2: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/2.jpg)
OVERVIEW• Tree
• Representation and Terminology
• Binary Trees
• Binary Search Trees
• Pointer-Based Representation of a Binary Tree
• Array-Based Representation of a Binary Tree
![Page 3: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/3.jpg)
TREE
• A tree is a collection of nodes and directed edges, satisfying the following properties:– There is one specially designated node called the root,
which has no edges pointing to it.– Every node except the root has exactly one edge
pointing to it.– There is a unique path (of nodes and edges) from the
root to each node.
![Page 4: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/4.jpg)
GRAPHICAL REPRESENTATION• Trees, as defined on the preceding slide, are typically
drawn with circles (or rectangles) representing the nodes and arrows representing the edges.
• The root is typically placed at the top of the diagram, with the rest of the tree below it.
Trees: Not Trees:
root
edge
node
Leaf nodes
![Page 5: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/5.jpg)
TERMINOLOGY (CONT’D.)• If an edge goes from node a to node b, then a is called the
parent of b, and b is called a child of a.• Children of the same parent are called siblings.• If there is a path from a to b, then a is called an ancestor
of b, and b is called a descendent of a.• A node with all of its descendants is called a subtree.• If a node has no children, then it is called a leaf of the tree.• If a node has no parent (there will be exactly one of these),
then it is the root of the tree.
![Page 6: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/6.jpg)
TERMINOLOGY: EXAMPLEA
B C
D EF
G H
I
J K
• A is the root• D, E, G, H, J & K
are leaves• B is the parent of
D, E & F• D, E & F are
siblings and children of B
• I, J & K are descendants of B
• A & B are ancestors of I
subtree
![Page 7: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/7.jpg)
BINARY TREES• Intuitively, a binary tree is LIKE a tree in which each node has
no more than two children.• Formally, a binary tree is a set T of nodes such that either:
– T is empty, or– T consists of a single node, r, called the root, and two (non-
overlapping) binary trees, called the left and right subtrees of r.
• UNLIKE trees, binary trees may be empty, and they distinguish between left and right subtrees.
(These two binarytrees are distinct.)
![Page 8: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/8.jpg)
SAMPLE BINARY TREE
Data
Left_child Right_child
Data
null null
Data
null null
Data
null null
Data
null null
Data
Left_child Right_child
Data
Left_child Right_child
Root
![Page 9: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/9.jpg)
BINARY SEARCH TREES• A binary search tree is a binary tree in which each node, n,
has a value satisfying the following properties:– n’s value is > all values in its left subtree, TLeft,
– n’s value is < all values in its right subtree, TRight, and
– TLeft and TRight are both binary search trees.
John
PeterBrenda
Amy Mary Tom
21
2
3
55
34
135
8
![Page 10: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/10.jpg)
TERMINOLOGY (CONT’D.)• Intuitively, the level of a node is the number of nodes on a path
from the root to the node.• Formally, level of node, n:
– If n is the root of a tree, then it is at level 1.– Otherwise, its level is 1 greater than the level of its parent.
• Height of binary tree, T:– If T is empty, its height is 0.– Otherwise, its height is the maximum level of its nodes, or,
equivalently, 1 greater than the height of the root’s taller subtree. Namely,
height(T) = 1 + max { height( TLeft ), height(TRight ) }
![Page 11: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/11.jpg)
TERMINOLOGY (CONT’D.)• Intuitively, a binary tree is full if it has no missing nodes.• Formally, a binary tree of height h is full if
– It is empty (h = 0).– Otherwise, the root’s subtrees are full binary trees of height h
– 1.• If not empty, each node has 2 children, except the nodes at level
h which have no children.• Alternatively, the binary tree has all of its leaves at level h.
![Page 12: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/12.jpg)
TERMINOLOGY (CONT’D.)• Intuitively, a binary tree of height h is complete if it is full down
to level h – 1, and level h is filled from left to right.• Formally, a binary tree of height h is complete if
– All nodes at level h – 2 and above have 2 children each,– If a node at level h – 1 has children, all nodes to its left at the
same level have 2 children each, and– If a node at level h – 1 has 1 child, it is a left child.
![Page 13: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/13.jpg)
TERMINOLOGY (CONT’D.)• A binary tree is balanced if the difference in height
between any node’s left and right subtree is 1.
• Note that:– A full binary tree is also complete.– A complete binary tree is not always full.– Full and complete binary trees are also balanced.– Balanced binary trees are not always full or complete.
![Page 14: Trees](https://reader035.vdocuments.us/reader035/viewer/2022072016/5681324c550346895d98c30d/html5/thumbnails/14.jpg)
OPERATIONS ON TREE• Different operations on a Tree are as follows
– Insertion– Deletion– Searching– Traversal
Pre-Order In-Order Post- Order
• Please follow the Power Point Presentations on Insertion, Deletion and Traversal using Binary Search Tree.