- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

The center of a tree is a vertex with minimal eccentricity. The eccentricity of a vertex X in a tree G is the maximum distance between the vertex X and any other vertex of the tree. The maximum eccentricity is the tree diameter. If a tree has only one center, it is called Central Tree and if a tree has only more than one centers, it is called Bi-central Tree. Every tree is either central or bi-central.

**Step 1** − Remove all the vertices of degree 1 from the given tree and also remove their incident edges.

**Step 2** − Repeat step 1 until either a single vertex or two vertices joined by an edge is left. If a single vertex is left then it is the center of the tree and if two vertices joined by an edge is left then it is the bi-center of the tree.

**Problem 1**

Find out the center/bi-center of the following tree −

**Solution**

At first, we will remove all vertices of degree 1 and also remove their incident edges and get the following tree −

Again, we will remove all vertices of degree 1 and also remove their incident edges and get the following tree −

Finally we got a single vertex 'c' and we stop the algorithm. As there is single vertex, this tree has one center 'c' and the tree is a central tree.

**Problem 2**

Find out the center/bi-center of the following tree −

**Solution**

At first, we will remove all vertices of degree 1 and also remove their incident edges and get the following tree −

Again, we will remove all vertices of degree 1 and also remove their incident edges and get the following tree −

Finally, we got two vertices 'c' and 'd' left, hence we stop the algorithm. As two vertices joined by an edge is left, this tree has bi-center 'cd' and the tree is bi-central.

- Related Questions & Answers
- Maximum possible intersection by moving centers of line segments in C++
- Find a Corresponding Node of a Binary Tree in a Clone of That Tree in C++
- Check if a binary tree is subtree of another binary tree in C++
- Anti Clockwise spiral traversal of a binary tree?
- Maximum width of a binary tree in C++
- Check Completeness of a Binary Tree in C++
- Diagonal Sum of a Binary Tree in C++?
- Lowest Common Ancestor of a Binary Tree in Python
- Maximum Level Sum of a Binary Tree in C++
- Inorder Traversal of a Threaded Binary Tree in C++
- Find Minimum Depth of a Binary Tree in C++
- Convert a Binary Tree into its Mirror Tree in C++
- What is a Decision Tree?
- Maximum sub-tree sum in a Binary Tree such that the sub-tree is also a BST in C++
- C++ Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree

Advertisements