Handshaking Lemma and Interesting Tree Properties
Last Updated : 21 Jul, 2023
Introduction
Trees are an important concept in graph theory, and understanding their properties is crucial in solving many graph-related problems. In this article, we will explore two important properties of trees - the Handshaking Lemma and interesting tree properties.
What is Handshaking Lemma?
Handshaking lemma is about an undirected graph. In every finite undirected graph, an even number of vertices will always have an odd degree. The handshaking lemma is a consequence of the degree sum formula (also sometimes called the handshaking lemma)
\sum_{u \epsilon v} deg(v) = 2\left | E \right |
To understand the Handshaking Lemma, let's consider an example. Suppose we have a tree with n vertices and n-1 edges. The Handshaking Lemma states that the sum of the degrees of all the vertices in this tree is 2(n-1).
To prove the Handshaking Lemma, we can use the fact that each edge connects two vertices, so it contributes 2 to the sum of the degrees of all vertices. Thus, the total sum of the degrees of all vertices is equal to twice the number of edges.
The Handshaking Lemma is a useful tool in solving graph-related problems. For example, it can be used to determine whether a graph has an Eulerian path or cycle. An Eulerian path is a path that visits every edge of a graph exactly once, while an Eulerian cycle is a cycle that visits every vertex of a graph exactly once. If a graph has an Eulerian path or cycle, then the sum of the degrees of all vertices must be even.
How is Handshaking Lemma useful in Tree Data structure?
Following are some interesting facts that can be proved using the Handshaking lemma.
1) In a k-ary tree where every node has either 0 or k children, the following property is always true.
L = (k - 1)*I + 1
Where L = Number of leaf nodes
I = Number of internal nodes
Proof:
Proof can be divided into two cases.
- Case 1 (Root is Leaf): There is only one node in the tree. The above formula is true for a single node as L = 1, I = 0.
- Case 2 (Root is Internal Node): For trees with more than 1 node, the root is always an internal node. The above formula can be proved using Handshaking Lemma for this case. A tree is an undirected acyclic graph.
Total number of edges in Tree is number of nodes minus 1, i.e., |E| = L + I - 1.
All internal nodes except root in the given type of tree have degree k + 1. Root has a degree k. All leaves have degree 1. Applying the Handshaking lemma to such trees, we get the following relation.
Sum of all degrees = 2 * (Sum of Edges)
Sum of degrees of leaves +
Sum of degrees for Internal Node except root +
Root's degree = 2 * (No. of nodes - 1)
Putting values of above terms,
L + (I-1)*(k+1) + k = 2 * (L + I - 1)
L + k*I - k + I -1 + k = 2*L + 2I - 2
L + K*I + I - 1 = 2*L + 2*I - 2
K*I + 1 - I = L
(K-1)*I + 1 = L
So the above property is proved using Handshaking Lemma, let us discuss one more interesting property.
Alternate Proof: (Without using Handshaking Theorem):
Since there are I internal nodes, each having K children, therefore total children in the tree = K * I.
There are I-1 internal nodes that are children of some other node (root has been excluded hence one less than the total number of internal nodes)
That is, out of these K*I children, I-1 are internal nodes and therefore the rest (K*I - (I-1)) are leaves.
Hence L = (K-1)*I + 1.
2) In a Binary tree, the number of leaf nodes is always one more than nodes with two children.
L = T + 1
Where L = Number of leaf nodes
T = Number of internal nodes with two children
Proof:
Let a number of nodes with 2 children are T. Proof can be divided into three cases.
Case 1: There is only one node, the relationship holds
as T = 0, L = 1.
Case 2: Root has two children, i.e., the degree of the root is 2.
Sum of degrees of nodes with two children except root +
Sum of degrees of nodes with one child +
Sum of degrees of leaves + Root's degree = 2 * (No. of Nodes - 1)
Putting values of above terms,
(T-1)*3 + S*2 + L + 2 = (S + T + L - 1)*2
Cancelling 2S from both sides.
(T-1)*3 + L + 2 = (T + L - 1)*2
T - 1 = L - 2
T = L - 1
Case 3: Root has one child, i.e., the degree of the root is 1.
Sum of degrees of nodes with two children +
Sum of degrees of nodes with one child except root +
Sum of degrees of leaves + Root's degree = 2 * (No. of Nodes - 1)
Putting values of above terms,
T*3 + (S-1)*2 + L + 1 = (S + T + L - 1)*2
Cancelling 2S from both sides.
3*T + L -1 = 2*T + 2*L - 2
T - 1 = L - 2
T = L - 1
Therefore, in all three cases, we get T = L-1.
We have discussed proof of two important properties of Trees using Handshaking Lemma. Many GATE questions have been asked on these properties, the following are a few links.
GATE-CS-2015 (Set 3) | Question 35
GATE-CS-2015 (Set 2) | Question 20
GATE-CS-2005 | Question 36
GATE-CS-2002 | Question 34
GATE-CS-2007 | Question 43
Similar Reads
Graph Theory Tutorial Graph Theory is a branch of mathematics that is concerned with the study of relationships between different objects. A graph is a collection of various vertexes also known as nodes, and these nodes are connected with each other via edges. In this tutorial, we have covered all the topics of Graph The
1 min read
Basics of Graph Theory
Graph and its representationsA Graph is a non-linear data structure consisting of vertices and edges. The vertices are sometimes also referred to as nodes and the edges are lines or arcs that connect any two nodes in the graph. More formally a Graph is composed of a set of vertices( V ) and a set of edges( E ). The graph is den
12 min read
Mathematics | Graph Theory Basics - Set 1A Graph is just a way to show connections between things. It is set of edges and vertices where each edge is associated with unordered pair of vertices. Graph is a data structure that is defined by two components :Node or Vertex: It is a point or joint between two lines like people, cities, or websi
5 min read
Types of Graphs with ExamplesA graph is a mathematical structure that represents relationships between objects by connecting a set of points. It is used to establish a pairwise relationship between elements in a given set. graphs are widely used in discrete mathematics, computer science, and network theory to represent relation
9 min read
Walks, Trails, Paths, Cycles and Circuits in GraphWalks, trails, paths, cycles, and circuits in a graph are sequences of vertices and edges with different properties. Some allow repetition of vertices and edges, while others do not. In this article, we will explore these concepts with examples.What is Walk?A walk in a graph is a sequence of vertice
6 min read
Graph measurements: length, distance, diameter, eccentricity, radius, centerA graph is defined as a set of points known as 'Vertices' and a line joining these points is known as 'Edges'. It is a set consisting of where 'V' is vertices and 'E' is edge. Vertices: {A, B, C, D, E, F} Edges: {{A, B}, {A, D}, {A, E}, {B, C}, {C, E}, {C, F}, {D, E}, {E, F}} Graph Measurements: The
5 min read
Articulation Points (or Cut Vertices) in a GraphGiven an undirected graph with V vertices and E edges (edges[][]), Your task is to return all the articulation points in the graph. If no such point exists, return {-1}.Note: An articulation point is a vertex whose removal, along with all its connected edges, increases the number of connected compon
15+ min read
Bridges in a graphGiven an undirected Graph, The task is to find the Bridges in this Graph. An edge in an undirected connected graph is a bridge if removing it disconnects the graph. For a disconnected undirected graph, the definition is similar, a bridge is an edge removal that increases the number of disconnected
15+ min read
Mathematics | Independent Sets, Covering and MatchingMathematics | Independent Sets, Covering and Matching1. Independent SetsA set of vertices I is called an independent set if no two vertices in set I are adjacent to each other in other words the set of non-adjacent vertices is called an independent set.It is also called a stable set.The parameter α0
5 min read
Dijkstra's Algorithm to find Shortest Paths from a Source to allGiven a weighted undirected graph represented as an edge list and a source vertex src, find the shortest path distances from the source vertex to all other vertices in the graph. The graph contains V vertices, numbered from 0 to V - 1.Note: The given graph does not contain any negative edge. Example
12 min read
Depth First Search or DFS for a GraphIn Depth First Search (or DFS) for a graph, we traverse all adjacent vertices one by one. When we traverse an adjacent vertex, we completely finish the traversal of all vertices reachable through that adjacent vertex. This is similar to a tree, where we first completely traverse the left subtree and
13 min read
Breadth First Search or BFS for a GraphGiven a undirected graph represented by an adjacency list adj, where each adj[i] represents the list of vertices connected to vertex i. Perform a Breadth First Search (BFS) traversal starting from vertex 0, visiting vertices from left to right according to the adjacency list, and return a list conta
15+ min read
Tree
Introduction to Tree Data StructureTree data structure is a hierarchical structure that is used to represent and organize data in the form of parent child relationship. The following are some real world situations which are naturally a tree.Folder structure in an operating system.Tag structure in an HTML (root tag the as html tag) or
15+ min read
Primâs Algorithm for Minimum Spanning Tree (MST)Primâs algorithm is a Greedy algorithm like Kruskal's algorithm. This algorithm always starts with a single node and moves through several adjacent nodes, in order to explore all of the connected edges along the way.The algorithm starts with an empty spanning tree. The idea is to maintain two sets o
15+ min read
Kruskalâs Minimum Spanning Tree (MST) AlgorithmA minimum spanning tree (MST) or minimum weight spanning tree for a weighted, connected, and undirected graph is a spanning tree (no cycles and connects all vertices) that has minimum weight. The weight of a spanning tree is the sum of all edges in the tree. In Kruskal's algorithm, we sort all edges
9 min read
Huffman Coding | Greedy Algo-3Huffman coding is a lossless data compression algorithm. The idea is to assign variable-length codes to input characters, lengths of the assigned codes are based on the frequencies of corresponding characters. The variable-length codes assigned to input characters are Prefix Codes, means the codes (
12 min read
Tree Traversal TechniquesTree Traversal techniques include various ways to visit all the nodes of the tree. Unlike linear data structures (Array, Linked List, Queues, Stacks, etc) which have only one logical way to traverse them, trees can be traversed in different ways. In this article, we will discuss all the tree travers
7 min read
Travelling Salesman Problem using Dynamic ProgrammingGiven a 2d matrix cost[][] of size n where cost[i][j] denotes the cost of moving from city i to city j. The task is to complete a tour from city 0 (0-based index) to all other cities such that we visit each city exactly once and then at the end come back to city 0 at minimum cost.Note the difference
15 min read
Special Graph
Eulerian Graphs
Matching
Coloring
Planar Graph
Directed Graphs
Degree Centrality (Centrality Measure)Degree In graph theory, the degree (or valency) of a vertex of a graph is the number of edges incident to the vertex, with loops counted twice.[1] The degree of a vertex v is denoted \deg(v) or \deg v. The maximum degree of a graph G, denoted by \Delta (G), and the minimum degree of a graph, denoted
5 min read
Check if a graph is Strongly, Unilaterally or Weakly connectedGiven an unweighted directed graph G as a path matrix, the task is to find out if the graph is Strongly Connected or Unilaterally Connected or Weakly Connected. Strongly Connected: A graph is said to be strongly connected if every pair of vertices(u, v) in the graph contains a path between each othe
12 min read
Strongly Connected ComponentsStrongly Connected Components (SCCs) are a fundamental concept in graph theory and algorithms. In a directed graph, a Strongly Connected Component is a subset of vertices where every vertex in the subset is reachable from every other vertex in the same subset by traversing the directed edges. Findin
15+ min read
Euler and Hamiltonian PathsEuler and Hamiltonian paths are fundamental concepts in graph theory, a branch of mathematics that studies the properties and applications of graphs. An Euler path visits every edge of a graph exactly once, while a Hamiltonian path visits every vertex exactly once. These paths have significant appli
8 min read
Tarjan's Algorithm to find Strongly Connected ComponentsA directed graph is strongly connected if there is a path between all pairs of vertices. A strongly connected component (SCC) of a directed graph is a maximal strongly connected subgraph. For example, there are 3 SCCs in the following graph: We have discussed Kosaraju's algorithm for strongly connec
15+ min read
Handshaking Lemma and Interesting Tree PropertiesIntroduction Trees are an important concept in graph theory, and understanding their properties is crucial in solving many graph-related problems. In this article, we will explore two important properties of trees - the Handshaking Lemma and interesting tree properties. What is Handshaking Lemma? Ha
5 min read
Group Theory
Group in Maths: Group TheoryGroup theory is one of the most important branches of abstract algebra which is concerned with the concept of the group. A group consists of a set equipped with a binary operation that satisfies four key properties: specifically, it includes property of closure, associativity, the existence of an id
13 min read
Homomorphism & Isomorphism of GroupWe can say that  "o" is the binary operation on set G if: G is a non-empty set & G * G = { (a,b) : a , bâ G } and o : G * G --> G. Here, aob denotes the image of ordered pair (a,b) under the function/operation o.Example - "+" is called a binary operation on G (any non-empty set ) if & onl
7 min read
Group Isomorphisms and AutomorphismsIn the study of algebraic structures, group isomorphisms and automorphisms play a fundamental role. By defining internal symmetries inside a group (automorphisms) and when two groups have the same structure (isomorphisms), these ideas aid in our understanding of the structure and symmetry of groups.
7 min read
Mathematics | Rings, Integral domains and FieldsPrerequisite - Mathematics | Algebraic Structure Ring - Let addition (+) and Multiplication (.) be two binary operations defined on a non empty set R. Then R is said to form a ring w.r.t addition (+) and multiplication (.) if the following conditions are satisfied: (R, +) is an abelian group ( i.e c
7 min read