Just here to share whatever I've learned in Data Structures and Algorithms
K'th maximum element in a Binary Search Tree
In this article I'm gonna talk about how we can find the k'th maximum element in a given Binary Search Tree.
Previously we talked about the methods of finding the k'th minimum element in a BST. If you haven't read that yet, please check it out here because we're gonna use the similar concepts here.
In k'th minimum element search...
So far we've discussed about insertion, deletion and searching operations in a Binary Search Tree. If you haven't read them yet, you can check them out here.
In this post I'm gonna talk about how you can find the K'th - Minimum element in a Binary Search Tree.
So, let's start!
What is meant by the "K'th minimum element"...
In this post I'm gonna be talking about deletion of a node in Binary Search Tree.
There can be three scenarios for deletion of a node in a Binary Search Tree.
Let's first discuss the three scenarios.
The three situations of deletion
1. Node to be deleted is a leaf node
It has the easiest deletion procedure.
When you want to del...
In this post, I'm gonna be talking about how we can search for an element in a Binary Search Tree.
It is very easy to search for an element in a Binary Search Tree, easier than even in an array.
All you have to do is compare the element's value with the value you're searching for at each level until you reach the targeted elemen...
In this article I'm gonna talk about the ways of traversal we can perform on Binary Trees.
A node of a binary tree primarily consists of three components -
it's own data (D)
It's left child (L)
It's right child (R)
Consider a node to be the most basic unit of a binary tree. Then the traversal methods that can be performed on...
A Binary Search Tree is a Tree in which each node has not more than two child nodes, and each of the child nodes are inserted in the tree based on a certain rule - the left child should have value less than the parent node and the right child should have the value greater than the parent node.
A good example for a Binary Search...
Binary trees are a type of Tree data structure wherein each node has at-most 2 child nodes.
We've already discussed about Tree data structure. So, in this article we're gonna talk about the implementation of Binary Trees in C.
This is how a Binary Tree looks like. As you can see here, no node has more than 2 child nodes.
A Tree is a non linear data structure. Unlike the data structures that we've learned so far like - Linked Lists, Stacks, Queues, etc. In this type of data structure, one element can be linked to more than one element.
Tree data structure, just like the other data structures we've learned so far, is an example of abstract data ty...
Till now we've come across many different types of data structures. In this article I'm gonna be talking about a concept called Abstract Data Type.
Primitive Data Types
But before getting started with that, let's first talk about what we exactly mean by "Data types".
So, here's the definition for you - A data type of a...
Till now we've talked about linked lists and the basic operations associated with it. But today we're gonna talk about linked lists only, but with a slight variation.
In a linked list, traversal can be done one way(a node only had "next" component associated with it), in a doubly linked list, traversal can be done both...
A queue is a linear data structure which follows FIFO principle in deletion and insertion operations.
In real sense queue is just a sequence of objects(people, vehicles, etc.) waiting for their turn to come.
For instance, it could be a queue of people waiting for their turn to come to buy tickets for a movie show, it could be a...
In this article, we're gonna talk about stack implementation using linked lists. In my past few posts I've already talked about Linked list implementation and stacks. If you're not yet clear with those concepts, please check out the above links!
So let me give you a quick recap, a linked list is a dynamic linear data structure....
A stack is a linear data structure in which operations can be done in a specific order. Stacks follow the LIFO (Last In First Out) Principle.
I'm sure you might've heard of a stack of different things like a stack of papers or a stack of books. The stack data structure is exactly the same thing.
The operations on a stack like -...
In this post, I'm gonna be talking about circular linked lists.
To learn the basics of a linked lists you can check out my other posts here.
So let's get started!
So what exactly do we mean by a linked list?
A circular linked list is a normal linked list but with its head and last element connected.
The code is ver...
In this article, I'm gonna be talking about Applications of linked lists.
Now that we've come so far and learned all the basics of a singly linked list, it's only natural to wonder what could be the use of a linked list in the real world.
Let's start off with this gif -
Does it remind you of something?
The minions have formed s...
In this blog I'm gonna be talking about the deletion operations in linked lists.
Just like how there are three insertion operations in a linked list, there are three deletion operations. All the three deletion methods are just the reverse of what we do in insertion operations.
The three types of Node Deletion
1. Delete node from...
Now that we've learned how the basic operations on a linked list are done let's look at the different types of insertion in a linked list. There are three ways of node insertion in a linked list.
The Three Ways of Node Insertion
We can insert a node in the following ways:
1.Insertion from the front end
The front-most node of a l...
THIS IS MY FIRST BLOG EVER! and I'm gonna talk about linked list data structure in this blog.
Let's first understand some basic things about a Linked List before understanding the code.
Let's say this block is called 'Node'.
This Node has two segments. The first segment stores it's own data and the second segment contains addre...