Trees

The category contains posts related to the Trees data structure. This category is a child category in the Data Structures category,

Tree Diameter

Introduction This is the fifth article in the Tree Traversals - Online Classes. A very interesting problem is to find the diameter of a tree. The challenge is not in coding the algorithm but in understanding the meaning of the problem. We will try to define the problem so that visualizing the solution becomes easy. Defining the problem - Tree Diameter Few confusions about the diameter must be avoided before we start. The tree diameter is always the distance between two leaf nodes The diameter may or may not pass through the root. The diameter can also lie on one of the two sides,...
Read More

Spiral Traversal

Spiral Traversal or Zigzag Traversal in a Tree. This is the fourth article in the Tree Traversals - Online Classes. Recently I wrote an article on Level Order Tree Traversal. Another problem on the same lines is to traverse the tree in a zigzag manner. That is also termed as spiral traversal. This question has been asked in many companies during the interview process. Although it is not very specific problem, if you understand the idea behind traversing a tree in breadth first manner, then you can easily solve this. Please read further for more understanding. Defining the problem L...
Read More

Level Order Tree Traversal

Introduction This is the third article in the Tree Traversals - Online Classes. I have written many articles about non-linear data structures and their traversals. But the more you dive in you can find many more ways to traverse a tree. Here we try to solve the level order tree traversal for a binary tree and we will also try to figure out other variations of this traversal. This can we precisely extended for a n-ary tree as well. Defining the problem Let us consider the above tree, if we follow the blue line from root till end and print all the nodes, we will end up printing the lev...
Read More

Understanding Search Trees – Red Black Trees

Introduction This article is to highlight the importance of having a Search tree with minimum height and revisit couple of data structures which can guarantee a minimum height Tree. Understanding Search Trees - Red Black Trees An evolution of BST that aim to keep the tree balanced without affecting the complexity of the primitive operations. This is done by colouring each node in the tree with either red or black and preserving a set of properties that guarantees that the deepest path in the tree is not longer than twice the shortest one. A red black tree is a binary search tree with the...
Read More

Count Binary Search Trees created from N unique elements

[nextpage title="Introduction"] This is the third article for Binary Search Trees, to read more about the previous article, please check the topic Binary Search Tree Basics – a detailed discussion. To get updates on the coming articles in the series, please use the Subscribe feature on the right panel. Purpose of article This article explains few more aspects of binary search tree (BST). In the last article we learnt to construct a BST and then we revisited our technique to construct a better BST with the same. So this means that there can be more than one BST possible with a given set of e...
Read More

Building Binary Search Trees – detailed discussion

Introduction This is the second article for Binary Search Trees, to read more about the previous article, please check the topic Binary Search Tree Basics – a detailed discussion. To get updates on the coming articles in the series, please use the Subscribe feature on the right panel. Purpose of article This article will resume from where we concluded in the first article, this is primarily to understand how to build a BST and understand the problems which arise after building Binary Search Trees. Then we will improve over it and find out ways to build better BSTs. Do remember there is a...
Read More

Binary Search Tree Basics – a detailed discussion

Introduction The article Binary Search Tree Basics - a detailed discussion is the first article for Binary Search Trees and the ninth article in the series of non-linear data structures, to read more about the previous article, please check the topic Operations on a binary tree – Hierarchical Datastructure. To get updates on the coming articles in the series, please use the Subscribe feature on the right panel. Purpose of article This article is to discuss Binary Search Tree in Detail, mostly the theory behind a binary search tree and how it is different from a Binary Tree and what all does...
Read More