Tree Data Structures

Compressed Trie Tree

Posted on

Hello, people! In this post, we will discuss a commonly used data structure to store strings, the Compress Trie Tree, also known as Radix Tree or Patricia (Practical Algorithm to Retrieve Information Coded in Alphanumeric) Tree. If you remember, the problem with a Trie Tree is that it consumes a lot of memory. So, due to […]

Tree Data Structures

Segment Trees

Posted on

Hello people…! In this post I will talk about one of the most versatile data structure in competitive programming, the Segment Tree. Almost in every contest that you do in the major coding websites, at least one question is asked which uses a Segment Tree in its solution. This is because it is easy to […]

Graph Theory

Bellman Ford Algorithm

Posted on

Hello people…! In this post I will talk about another single source shortest path algorithm, the Bellman Ford Algorithm. Unlike Dijkstra’s Algorithm, which works only for a graph positive edge weights, the Bellman Ford Algorithm will give the shortest path from a given vertex for a graph with negative edge weights also. Due to this, […]

Tree Data Structures

Trie Tree Implementation

Posted on

Note – Theory of Programming is shifting to YouTube! This post has a video. Watch it at – https://www.youtube.com/watch?v=EbamlevPlxY Hoping you’ll support the YouTube channel just like you have greatly supported the website! 🙂 Hello people…! In this post we will talk about the Trie Tree Implementation. Trie Trees are are used to search for all […]

Graph Theory

Dijkstra’s Algorithm

Posted on

Hello, people…! In this post, I will talk about one of the fastest single source shortest path algorithms, which is, the Dijkstra’s Algorithm. The Dijkstra’s Algorithm works on a weighted graph with non-negative edge weights and gives a Shortest Path Tree. It is a greedy algorithm, which sort of mimics the working of breadth first search […]

Heaps

Binary Heaps

Posted on

Hello people…! In this post I will talk about Binary Heaps, or, more casually called as Heaps. Binary Heaps are used to implement Priority Queues which are associated with Scheduling. Binary Heaps is a starting step to learn many advanced heap related Data Structures that are used in many algorithms. So let’s understand the need […]

Graph Theory

Depth First Search Algorithm

Posted on

Hello people…! In this post I will talk about the other Graph Search Algorithm, the Depth First Search Algorithm. Depth First Search is different by nature from Breadth First Search. As the name suggests, “Depth”, we pick up a vertex S and see all the other vertices that can possibly reached by that vertex S and […]

Graph Theory

Snakes and Ladders Game Code

Posted on

Note – Theory of Programming is shifting to YouTube! This post has a video. Watch it at – https://www.youtube.com/watch?v=a3_QGPthIDU Hoping you’ll support the YouTube channel just like you have greatly supported the website! 🙂 Hello people…! In this post, we will discuss about the Snakes and Ladders Game Code, where we find the shortest path […]

Graph Theory

Breadth First Search Algorithm

Posted on

Note – Theory of Programming is shifting to YouTube! This post has a video. Watch it at – https://www.youtube.com/watch?v=5mG-qBRhvKQ Hoping you’ll support the YouTube channel just like you have greatly supported the website! 🙂 Hello people…! In this post I will explain one of the most widely used Graph Search Algorithms, the Breadth First Search […]