Last updated: Oct 28, 2021

Data Structures and Algorithms

In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data,i.e., it is an algebraic structure about data. Data structures serve as the basis for abstract data types (ADT). The ADT defines the logical form of the data type. The data structure implements the physical form of the data type. Different types of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. For example, relational databases commonly use B-tree indexes for data retrieval, while compiler implementations usually use hash tables to look up identifiers.
Balanced Parentheses MEDIUM
A string is one of the most popular data structures, probably equal to the array, and you will find at least one String question in any programming jo...
Author
0 upvotes
Disjoint-Set Data Structure EASY
We will discuss important mathematics concept sets first to represent equivalence sets of elements where the order doesn’t matter. The Disjoint sets A...
Author
0 upvotes
Josephus Problem MEDIUM
Josephus' problem is a mathematical counting-out problem and claims that it originates from an incident in the first century
Shannon Fano Coding MEDIUM
In this article, we will discuss shannon fano coding, learn how the working of shannon fano algorithm and then see its implementation.
What is Jump Search Algorithm?
Like Binary Search, Jump Search is a scanning calculation for arranged clusters. The fundamental thought is to check fewer components (than direct hun...
Author
0 upvotes
Implement Queue using Stacks MEDIUM
To implement a queue using stacks, use two stacks: one for enqueue operations and another for dequeue, ensuring FIFO behavior by reversing order during dequeue.
Author
0 upvotes
Huffman Coding Algorithm EASY
Learn the Huffman coding algorithm, including prefix rules and a step-by-step guide to build a Huffman tree. Explore problems and uses of Huffman coding.
Directed Graph or Strongly Connected Components
A directed Graph is said to be strongly connected if there is a path between all pairs of vertices in some subset of vertices of the graph.
Author
0 upvotes
Iterative Deepening Search(IDS) vs. Iterative Deepening Depth First Search(IDDFS) MEDIUM
In this article, we will learn the difference between Iterative Deepening Search(IDS) and Iterative Deepening Depth First Search(IDDFS).
Minimum Window Substring MEDIUM
In this article, we will discuss different approaches to solve this problem, which includes the naive approach, the better approach using binary search, & the expected approach using hashing & two pointers.
Difference between Algorithm and Flowchart EASY
Difference between algorithm and flowchart: Discover key differences, definitions, examples, types of flowcharts, and how to use flowcharts to represent algorithms.
Boundary Fill Algorithm EASY
In this article, we'll learn about the boundary fill algorithm in detail, including its recursive nature, implementation, and the differences between 4-connected and 8-connected pixels. We'll also compare the boundary fill algorithm with the flood fill algorithm.
Set Matrix Zeroes EASY
In this article, we will discuss the set matrix zeroes problem, understand its requirements, & discuss different approaches to solve it efficiently. We will also see the code implementation, just to make it easier to understand.
Deterministic and Non-Deterministic Algorithms MEDIUM
In this blog, we will learn about the Deterministic and Non-Deterministic Algorithms . We will understand each concept in detail and later look at the difference table for better understanding.
Priority Queue in Data Structure EASY
Priority Queue is a specialized data structure that manages a set of elements, each with linked priority. In this structure, elements with higher precedence are served before those with lower priority, regardless of their arrival order.
Luhn Algorithm EASY
In this article, we will learn how the Luhn algorithm works & will see its code implementation in different programming languages.
Prime Number Code EASY
In this blog, we will learn about the Prime Number Code. We will write about how to check prime number code and much more for better understanding.
Difference between array and stack EASY
In this blog, we will learn about the difference between array and stack. We will understand each concept in detail and later look at the difference table for better understanding.
What is Heap Memory? EASY
Heap memory is a region in memory where dynamic memory allocation occurs. This article explains what heap memory is, how it differs from stack memory, and its role in managing memory for applications, including examples of heap memory usage.
Difference between Break and Continue Statement EASY
In this article, you'll learn what break and continue statements are, their implementation, and the difference between break statement and continue statement.
Quadratic Probing in Data Structure EASY
In this blog, we explore how quadratic probing in data structure is executed, along with its time and space complexities with examples for your understanding.
Particle Swarm Optimization Algorithm MEDIUM
In this article, we will learn about the inspiration behind PSO, its mathematical model, the algorithm, & its advantages & disadvantages.
Fizz Buzz Program in C++, Java & Python MEDIUM
In thsi blog, we will explore Fizz Buzz Program in Cpp, Java, Python.
Advantages of Data Structure EASY
In this article, we will learn what data structures are, different types of them  and few advantages of using data structures.
Heap Data Structure MEDIUM
In this article, we'll learn what heaps are, the different types of heaps, how to perform basic operations on a heap with the help of proper examples, & some common applications of heaps.
Difference Between NFA and DFA EASY
In this blog, we will learn about the Difference Between NFA and DFA. We will understand each concept in detail and later look at the difference for better understanding.
Breadth-First Search (BFS) in AI MEDIUM
Discover Breadth-First Search (BFS) in AI, including its applications, algorithm, pseudo-code, implementation, and examples. Understand key characteristics of BFS in AI.
Evaluation of Postfix Expression EASY
In this blog, we will learn about the Evaluation of Postfix Expression. We will learn about illustration, Postfix Evaluation for Multi-digit Numbers and much more for better understanding.
Difference Between Min Heap and Max Heap
We all have come across a term called Heap. Generally, we have used Heap as a memory storage area where the storage occurs in dynamic memory allocatio...
Author
0 upvotes
Stack Implementation Using Array in C EASY
In this blog, we will learn about Stack Implementation Using Array in C. We will understand its core concepts, its usage, and much more for better understanding.
Transpose of a Matrix in C EASY
Learn how to find the transpose of a matrix in C with step-by-step algorithm, code, and output. Explore methods for square and rectangular matrices.
Stable Sorting Algorithm EASY
In this blog, we will learn about the Stable Sorting Algorithm. We will understand various types of sorting algorithms, its time complexity and much more for better understanding.
Bellman Equation
The Bellman Equation is a recursive formula used in dynamic programming to determine the optimal policy by solving problems step-by-step through backward induction.
Klee’s Algorithm
Klee’s rule finds a union of line segments lying horizontally. OR total length lined by horizontal line segments once seen vertically. The rule was pl...
Author
0 upvotes
Quick Sort in Data Structure EASY
Quick sort is a divide and conquer algorithm in which we choose a pivot point and partition the array into two parts i.e, left and right. The left part contains the numbers smaller than the pivot element and the right part contains the numbers larger than the pivot element. Then we recursively sort the left and right parts of the array.
Kruskal Algorithm in C MEDIUM
Kruskal's algorithm is a method for finding the minimum spanning tree (MST) in a weighted, connected graph.
Adjacency Matrix MEDIUM
In this blog, we will learn about Adjacency Matrix. We will understand its core concepts, its usage, and much more for better understanding.
Krushal’s Algorithm MEDIUM
The purpose behind Krushal’s algorithm is to find a minimum spanning forest of an undirected edge-weighted graph. For instance, if the graph is connec...
Author
0 upvotes
Maximum Subarray Sum EASY
Maximum subarray sum is a fundamental problem in computer science & programming. It involves finding the contiguous subarray within a one-dimensional array of numbers that has the largest sum.
Anagram Program in C EASY
In this article, we'll learn about different ways to solve the anagram problem using C programming language.
Data Structures Tutorial MEDIUM
A data structure is a specialised format that is especially designed for organising, processing, retrieving and data storing.
Boyer Moore Algorithm EASY
In this blog, we will learn about the Boyer-Moore Algorithm. We will understand the problem statement, implementation and much more for better understanding.
Non-Linear Data Structures MEDIUM
In this blog, we will learn about Non-Linear Data Structures. We will learn different types of data structures, their usage and examples.
Importance Of Data Structures & Algorithms For Students
This blog explains importance of Data Structures and Algorithms for students.
Searching Algorithms in Data Structure EASY
Learn searching in data structures, its importance, and applications. Explore various searching algorithms, their working principles, and implementations.
Range Query EASY
In this article, we will discuss what the range query problem is and what are its types. We will also discuss some problems with the explanation and solution code.
Data Structures in C Programs MEDIUM
In this blog, we will learn about Data Structures in C Programs. We will learn about different types of data structures, their advantages and much more for better understanding.
Advantages of Algorithm EASY
In this blog, we will learn about the Advantages of Algorithms. We will learn its characteristics, its advantages and disadvantages, and much more for better understanding.
Kaprekar Number EASY
In this article, we will discuss about kaprekar number with an example. We will also discuss about pros, cons, and use cases of kaprekar number.
What is an Algorithm in Data Structures EASY
In this blog, we will learn about What is an Algorithm. We will learn about its characteristics, features, and much more for better understanding.
Traversing in Data Structure MEDIUM
Traversing in Data structure signifies visiting or accessing each element in a data structure systematically.
Spiral Order Matrix EASY
This article covers a famous matrix problem: Spiral Order Matrix. Its approach and implementations are discussed.
Difference Between Divide & Conquer and Dynamic Programming
Divide and Conquer and Dynamic Programming are two important algorithm design paradigms used to solve complex problems by breaking them down into simpler subproblems.
Characteristics of an Algorithm EASY
Characteristics of an Algorithm are 1. Well-defined Inputs 2. Well-defined Outputs 3. Unambiguity 4. Finiteness 5. Language Independent 6. Effectiveness and Feasibility
11 Beginner Programming Mistakes That A Programmer Must Avoid
This article will discuss beginner programming mistakes that a programmer must avoid.
Tips and Tricks to Improve Coding Skills EASY
Become a better coder by learning how to improve coding skills and discover the best tips and tricks to improve coding skills to crack the interview.
Design and Analysis of Algorithms MEDIUM
Design and Analysis of Algorithms involves creating efficient solutions for computational problems. Explore the design and analysis of algorithms in our comprehensive guide.
7 Tips for Beginners to Improve Programming Logic EASY
This article discusses tips for beginners to improve programming logic with additional tips.
Top Product Based Companies In India EASY
List of the top Product Based Companies In India 1. Amazon 2. Adobe 3. Uber 4. Google 5. Microsoft 6. Flipkart 7. Apple 8. Hewlett-Packard
How to fix: "RangeError: Maximum call stack size exceeded" EASY
The "RangeError: Maximum call stack size exceeded" error occurs in JavaScript when your code attempts to use more stack space than is available.
Difference Between map() And flatMap() In Java Stream MEDIUM
In this blog, we have discussed in detail the difference between map() and flatmap()
Difference Between String and Character EASY
In this blog, we will learn the difference between string and character.
How to Convert byte Array to String in Java MEDIUM
In this blog, we have discussed how to convert byte[ ] array to string in various different techniques with examples for each.
Linear Diophantine Equation EASY
We will discuss the Linear Diophantine Equation's implementation and examples.
Gray to Binary MEDIUM
Gray code is a sequence of binary numbers known as reflected binary code (RBC). In gray code, two successive values differ by only 1 bit.
Detect Cycle in Undirected Graph MEDIUM
Detecting a cycle in an undirected graph can be done using Depth First Search (DFS. in this article we'll learn how to Detect Cycle in Undirected Graph by using DFS.
Subarray Sum equals K MEDIUM
The subarray sum is the sum of elements in a subarray. A subarray is a contiguous part of an array (a sequence of elements in an array next to each other).
Author Jay
3 upvotes
Introduction To Red-Black Trees
In this Blog, We will read about the Red-Black Tree, we will compare it with the AVL tree, and Study how various operations work in the Red-Black tree-like searching. Then We will discuss the application of the Red-Black Tree.
Inorder Traversal of Binary Tree MEDIUM
In this article, we will learn how inorder traversal works, implement it using a program, analyze its complexity, and discuss its use cases.
Introduction to Tree Data Structure MEDIUM
In this article, we will learn about Tree in DSA. We will understand its use and its different types.
Tree Traversal MEDIUM
In this article, we will discuss the main types of tree traversal: inorder, preorder, postorder, & level order traversal. We'll look at how they work, their implementations in code, & examples of when to use each one.

Time and Space Complexity

A good algorithm is one that takes less time in execution and saves space during the process. For the same, we have time complexity and space complexity which represent the amount of time and memory used by the algorithm respectively.
Space Complexity in Data Structure MEDIUM
This article introduces the basics of space complexity and discusses its importance.
Asymptotic Notations EASY
In this blog, we will discuss what are asymptotic notations, the types of asymptotic notations, and different types of complexity.
Big O Notation MEDIUM
In this blog, we will thoroughly discuss the big o notation. We will look at the examples and codes to calculate time complexity.
Time Complexity and Space Complexity EASY
Time and space complexity play a crucial role in writing efficient codes. This article clearly and concisely explains the concept of time and space complexity.
Time & Space Complexity for loops
The blog helps us understand the time and space complexity in the for loops.
Time Space Complexity of Graph Algo
This blog will discuss the time and space complexities of various graph algorithms in different situations.
Trick questions from Time & Space Complexity MEDIUM
Practice Questions on Time Complexity Analysis 1. What is time complexity? 2. What is the time complexity of the following code? 3. What is the time complexity of the following code?
Space and Time Complexity of Sorting Algorithms EASY
This article discuss the time and space complexity of the popular sorting algorithms and its types : Selection Sort, Insertion Sort, Bubble Sort, Merge Sort, Quicksort, Heap Sort, Counting Sort, Radix Sort, and Bucket Sort.
Substitution method for solving recurrences
This article explains and shows examples of the substitution method for solving recurrences.
Iteration Method
We will solve some exciting questions and algorithms in this blog using the iteration method.
Recursion Tree Method
This article explains the Recursion Tree Method to analyze the time and space complexities of coding algorithms or implementations.
Master Method
This article discusses applications of the Master Method, its examples and limitations.
Merge Sort Time Complexity EASY
In this blog, we will learn about Merge Sort Time Complexity. We will understand its core concepts, its usage, and much more for better understanding.
Time & Space Complexity of Searching Algorithms
In this article, we take a look at an important concept of Time and Space Complexity of Searching Algorithms along with a brief look at the algorithm.
Time & Space Complexity of Sorting Algorithms (Quadratic time algorithms)
This article briefly discusses sorting algorithms with quadratic or worse time complexity.
Time & Space Complexity of Graph Algo - 1
This blog will discuss the time and space complexities of various graph algorithms in different situations.
Time & Space Complexity of Graph Algo - 2
This blog will discuss the time and space complexities of various graph algorithms in different situations.
Time & Space Complexities of Graph Algo-3
This blog will discuss various graph algorithms' time and space complexities.
Time and Space Complexity of Linear Data Structures
Time and space complexity of linear data structures explained.
Time and Space Complexity of Non-Linear Data Structures
Time and space complexity of non-linear data structures explained.
Recursion & Backtracking Time Complexity MEDIUM
This article explains recursion and backtracking with pseudocode and analysis, including their applications and time complexities of recursive functions.
Time Complexity in Data Structure EASY
The blog helps us introduce time complexity and its importance in writing efficient algorithms.

Strings

Strings is one of the commonly used data types in all programs. It is technically defined as an array of characters which are enclosed within quotes in most of the languages. In some languages, it's a primitive data-type, and in others, it's defined as a complex data-type.
Check If a String is a Palindrome or Not MEDIUM
This article will discuss the problem to check if a string is a palindrome, and we will discuss solutions to this problem in 3 different ways along with their complexities.
Rabin-Karp Algorithm EASY
In this article, we will discuss the Rabin-Karp Algorithm for finding a given pattern in a given string, its Java, Python & C++ implementation, and its time and space complexities.
Author Riya
3 upvotes
Rabin-Karp Algorithm MEDIUM
Rabin-Karp Algorithm is used to find the occurrence of a pattern in a text using a hash function.
Manacher's Algorithm
In this blog, we will discuss the widely used manacher's Algorithm, which is used primarily for finding palindrome substrings for a given string; we will also learn about the trivial Algorithm, further, our concern is to determine the time complexity and implementation of the manacher's Algorithm which we will learn in the last part of our blog.
Subsequence Vs Substring EASY
This article attempts to give an overview of Subsequence Vs Substring and their basic concepts with the help of the implementation code in Java.
Count and Toggle Queries on Binary Array MEDIUM
In this article, we will learn about Count and Toggle queries on Binary array. We will also learn about its applications and code the program for the same.
Shortest Palindrome
The blog helps us understand how the KMP and z function works
Find All Occurrences of the Pattern in the String
In this article, we will discuss the approach to finding all the occurrences of the given pattern in the given string. We will also focus on the complexity of our approach.
Car Fleet MEDIUM
This article discusses the car fleet problem and how to implement it with two different approaches.
Count Palindromes EASY
In this article, we will discuss the problem of power palindrome.
Count of Longest Palindromic Substrings
This article discusses the methods to find the count of the longest palindromic substrings of a string.
Run Length Encoding (RLE) EASY
Run-length encoding (RLE) is a compression technique that stores repeated sequences of data as a single value.
Repeated Substring Pattern
The blog aims to find if we can construct a given string by making multiple copies of any of its substrings.
Rearrange a Binary String as Alternate X and Y Occurrences EASY
In this article, we will discuss how to rearrange a binary string as alternate x and y occurrences along with its complexity.
Minimum Repetitions of String A, to Generate String B as its Substring
Minimum number of repetitions of string A to generate a string that has string B as its substring.
Find the longest proper prefix that is also a suffix
In this article, we will discuss the approach to finding the longest proper prefix that is also a suffix for a given string. We will also focus on the complexity of our solution.
Count Valleys EASY
In this blog, we'll define and solve a fascinating string problem, Count Valleys.
Convert Given Array of Strings to a Camel Case Format Sentence EASY
In this blog, we will discuss an application-based DSA question, i.e., convert given array of strings to a camel case format sentence
Finding the Longest Palindromic Substring using Manacher’s Algorithm MEDIUM
This article will discuss Manacher's algorithm, used to find the longest palindromic substring. We will discuss its algorithm, implementation, and its complexities.

Arrays

An array is the most primitive and frequently used data structure in the field of computer science. It has become the inspiration for several data structures such as lists and strings. An array is basically a collection of similar types of data items stored at contiguous memory locations. It helps us to store multiple items of the same data type together. They are also used to implement other data structures like Heaps, Stacks, Queues, etc. This category contains all of the information you need to know about arrays.
How to Rearrange an Array such that arr[i]=i? EASY
This article will discuss how we can rearrange an array such that arr[i]=i.
Find the Number Occurring Odd Number of Times
Different ways to find a number with odd frequency in a group of numbers with even frequencies.
Leaders in an Array EASY
This article will discuss the Leaders in array problems and various ways to solve this problem.
How To Convert Array To String? EASY
To convert an array to a string, different programming languages offer various methods. Here's how you can do it in common languages.
Difference Between Array and String EASY
In this article, we will learn about the differences between arrays & strings, their declaration syntax, instantiation, and accessing elements with proper code examples to illustrate these concepts.
Max XOR of Two Numbers in an Array MEDIUM
Finding the Maximum XOR of two elements in an array is one of the most important interview problems. This article discusses the solution for this in C++, Java, and Python.
Missing Number in Array EASY
In this blog, we will learn about Missing Number in Array. We will write code in different languages for better understanding.
Sum of middle elements of two sorted arrays
This article will discuss the Sum of middle elements of two sorted arrays problem and various ways to solve this problem, starting from the brute force approach to the efficient approach.
Program to Find Second Largest Element in an Array MEDIUM
In this article, we will discuss different approaches to find the second largest element in an array, with the help of proper codes and will check their complexities also.
Advantages and Disadvantages of Array EASY
In this article we will talk about the basics of Array and also look at few advantages and disadvantages of this data structure.
Check loop in array according to given constraints MEDIUM
In this article, we will learn how to check loop in an array according to given constraints, along with the explanation, algorithm, and implementation.
How to take array input from user in java? EASY
In this blog, we will learn about How to take array input from user in java. We will learn about different ,methods for better understanding.
Difference Between Linear Array And A Record EASY
This article will provide an overview and discuss the significant what difference between linear array and a record is based on various parameters.
Find First K Natural Numbers Missing in the Given Array EASY
This blog covers finding the first k natural numbers in a given array.
Author dawdye
0 upvotes
For Each Loop EASY
In this article, you will go through the for each loop (also known as the for each loop), a control flow statement used to traverse entries in a collection.
Author akscrv
6 upvotes
Equilibrium Index of an Array EASY
This article covers an array based problem i.e. Equilibrium Index of an Array with different approaches and implementation in detail.
Pythagorean Triplet in an Array MEDIUM
In this article, we will discuss various approaches to finding out the presence of the Pythagorean Triplet in an array. We will also look at their code in different languages and their complexity analysis.
Javascript Program for Largest Sum Contiguous Subarray
This article will look at a javascript-based implementation of the solutions for the largest contiguous sum problem.
Find a rotation with maximum hamming distance EASY
In this article, we will discuss how to find a rotation with maximum hamming distance and understand the concept with examples in detail.
Find the Maximum Sum of i*arr[i] Among all Possible Rotations of an Array
This article finds the maximum sum of i*arr[i] among all possible rotations allowed on a given array.
Multiple left rotations of an array with O(1)
An array can be left rotated or right rotated. This article is majorly concerned with the left rotations of an array with O(1) time complexity.
Reversal algorithm for right rotation of an array
This article deals with the reversal algorithm for right rotation of an array and its implementation, time and space complexities.
Reversal Algorithm for Array Rotation
This article discusses the Reversal Algorithm for Array rotation. It also calculates the time and additional space complexity of the algorithm.
Block Swap Algorithm for Array Rotation EASY
This blog discusses Block Swap Algorithm for array rotation, an algorithm to find the rotated array when we are given the array and the no of rotations.
Rotation Count
This blog discusses in detail Rotation Count, i.e., no of times a sorted array of distinct elements is rotated.
Program for Array Rotation in Java MEDIUM
Explore effective array rotation techniques in programming. Learn how to optimize code, improve performance, and solve common challenges associated with array rotation.
Queries on Left and Right Circular shift on Array MEDIUM
In this article, we will discuss how to operate on left and right circular shifts on an Array and understand the concept with examples in detail.
The minimum number of elements to add to make median equals x
This current article will discuss the problem "Minimum number of elements to add to make median equals x." We will discuss this problem in the best possible way.
Segregate 0s and 1s in an Array
In this article, we will discuss the segregating of 0s and 1s in a binary array. We will look also look at the problem statement in detail followed by its various approaches, code, and complexities.
Rearrange positive and negative using the inbuilt sort function
In this article, we will discuss a very interesting problem in which we have to rearrange such that all negative numbers come before positive numbers, and the order of elements needs to remain the same.
Rearrange the array such that the even index elements are smaller and the odd index elements are greater
In this article, we will discuss the problem of rearranging an array such that the even index elements are smaller and the odd index elements are greater.
Rearrange an array in order - Smallest, Largest, 2nd Smallest, 2nd Largest and so on EASY
In this article, we will learn to reorder an array by placing the smallest number first, the largest number in second, the second smallest in third, the second-largest in fourth, etc.
Rearrange Array such that Even Positioned are Greater than Odd EASY
In this article, we will learn to rearrange an array such that the even positions are greater than the odd ones. We will implement different approaches in C++ and Java.
Replace every array element by multiplication of previous and next elements EASY
In this article, we will discuss how to replace every array element by multiplication of previous and next elements, and understand the concept with examples, in detail.
Positive elements at even and negative at odd positions MEDIUM
In this article, we will discuss how to arrange elements of an array such that positive elements occur at even and negative at odd positions; we will discuss its brute force approach and optimized solution.
Array Reordering Using Given Indexes EASY
In this article, we will learn to reorder an array using another array with given indexes. We will implement different approaches in C++ and Java.
Merging Two Sorted Arrays MEDIUM
This article discusses merging two sorted arrays using JavaScript. We will see various methods for merging two sorted arrays and the implementation in C++.
Form Minimum Number from Given Sequence MEDIUM
In this article, we will discuss how to form a minimum number from a given sequence.
Move All Negative Elements to the End in Order With Extra Space Allowed EASY
This blog mainly focuses on the problem of moving all the negative elements to the end of the array in order with extra space allowed. We will discuss different approaches to solve this problem with a proper explanation and flow diagram.
Making elements of two arrays identical with minimum increment/decrement MEDIUM
In this blog, we'll alternate the elements to convert one number into another by adding or subtracting one and getting the result.
Three-way Partitioning of an Array Around a Given Range EASY
The goal of this problem is to divide the array into three parts by partitioning it around the range. The three sets' elements can appear in any order. You must return the array that has been modified.
Split the array and add the first part to the end
In this blog, we will look at an array question in which we split the array and add the first part to the end.
Shuffle 2n integers as a1-b1-a2-b2-a3-b3-...bn without using extra space EASY
In this article, we will be discussing how to create a shuffled array of 2n integers as a1-b1-a2-b2-a3-b3-...bn without using extra space.
Generate all Possible Sorted Arrays from Alternate Elements of Two Given Sorted Arrays HARD
In this article, we will discuss how to generate all possible sorted arrays from alternate elements of two given sorted arrays.
Smallest subarray with sum greater than a given value MEDIUM
In this blog, We will see the solution to the problem smallest Subarray with a sum greater than a given value
Program for Mean and Median of an unsorted array
In this article, we will discuss the finding of the mean and median from an unsorted array. We will look also look at the problem statement in detail followed by its algorithm and implementation.
Maximum difference between a group of k-elements and rest of the array
This current article will discuss the problem "Given an array of size n and a number k, we need to find all elements that appear more than n/k times." We will discuss this problem in the best possible way.
Maximum difference between two elements such that larger element appears after the smaller number MEDIUM
In this blog, we will cover the problem of finding the maximum difference between two elements such that the larger element appears after the smaller number and will discuss its time and space complexities.
Given an array arr[], find the maximum j – i such that arr[j] > arr[i] MEDIUM
This blog will cover the problem of finding the maximum value of j-i such that arr[j] > arr[i] and its time and space complexities.
Author coldz
0 upvotes
K-th Largest Sum Contiguous Subarray MEDIUM
In this blog, we will find the K-th largest sum contiguous subarray.
K maximum sums of overlapping contiguous sub-arrays HARD
In this article, we will discuss the problem of K maximum sums of overlapping contiguous sub-arrays
K maximum sums of non-overlapping contiguous sub-arrays MEDIUM
In this article, we will discuss how to find the ‘k’ maximum sums of non-overlapping contiguous sub-arrays, in detail.
Moore’s Voting Algorithm
This blog will cover Moore’s Voting algorithm to find the Majority Element and discuss its Time and Space complexity.
Find the minimum number of merge operations to make an array palindrome
This article explains how to find the minimum number of merge operations to make an array palindrome, how it can be implemented, and the code to solve it.
Find Zeroes to be Flipped, so that Number of Consecutive 1's is Maximised with K Maximum Flips
In this article, we will understand how to find zeroes to be flipped, so that number of consecutive 1's is maximised with k maximum flips.
Number of subsets with product less than k MEDIUM
This blog will give you detailed explanation and implementation of the approach to find the number of subsets with product less than k.
Maximize elements using another array EASY
In this blog, we will discuss different approaches to maximize elements using another array. Then we will discuss their algorithms, pseudo-codes, and complexities analysis.
Minimum product of k integers in an array of positive Integers EASY
In this blog, we will find the minimum product of k integers in an array of positive integers.
Shuffle an array using Fisher-Yates shuffle Algorithm MEDIUM
This article will discuss how to shuffle an array using the Fisher-Yates algorithm in O(n) time complexity.
Count Square Submatrices with All Ones MEDIUM
This article revolves around the coding problem, which says Count Square Submatrices with all ones.
Author Alisha
2 upvotes
Matrix probability problem MEDIUM
In this article, we will learn in brief about two-dimensional arrays known as matrices. We will also discuss a matrix probability problem using the idea of Depth First Search (DFS).
Search in a 2-D Matrix which is sorted row-wise and column-wise.
In this article, we will discuss the problem of checking if the given number is present in the row-wise and column-wise sorted matrix
What is Linear Array? EASY
A linear array is a simple data structure where elements are stored in a contiguous block of memory and accessed sequentially using an index.
Size of all Connected Non-Empty Cell of Matrix
In this blog, we will solve the Matrix problem, in which we have to count the size of all connected Non-Empty cells.
Author Yogesh
0 upvotes
Count All Number Of Paths Of A Given Matrix MEDIUM
The article discusses the problem of counting all possible number of paths from top left to bottom right in a given matrix along with its implementation in C++.
Count All Sorted Rows in a Matrix
This blog will cover the problem of counting the number of sorted rows either in increasing or decreasing order in a matrix and its time and space complexities.
Author coldz
0 upvotes
Maximum Product of 4 Adjacent Elements in a Matrix
This blog will cover the problem of finding the maximum product of 4 adjacent elements in a matrix in any direction and its time and space complexities.
Author coldz
0 upvotes
Minimum Number of Operations Required to Set All Elements of a Binary Matrix
This blog will discuss how we can solve a classical problem of BFS and one of the most asked problems in interviews, i.e., Minimum number of operations required to set all elements of a binary matrix.
Multiplication of two matrices EASY
In this article, we will discuss how to find the multiplication of two matrices along with its Approach, algorithm and implementation.
Rotate a Matrix 90 Degrees (Without using Extra Space) EASY
In this article, we are going to rotate a given matrix by 90 degrees without using the extra space, by transposing and reversing the column of the matrix.
Rotate a Matrix by 180-degree EASY
In this article, we are going to rotate a given matrix by 180 degrees without using the extra space, by using a naive approach, i.e. by printing a reverse matrix and by swapping positions of elements of the matrix.
Rotate a Matrix Right by K Elements
This article mainly focuses on the problem Rotate a Matrix Right by K Elements. We will explain to you the approach to solving the problem.
Rotate Each Ring of Matrix Clockwise by K Elements MEDIUM
In this blog, we will solve an interesting coding problem involving spiral traversal of a matrix and rotation of the spiral traversal.
Rotate Matrix Elements EASY
In this blog, we will learn how to rotate matrix elements clockwise in different programming languages C++, Java and Python.
Interchange elements of first and last rows in matrix EASY
The reader will learn about how to interchange the elements of the first and last row in a matrix in this article.
Count Zeros in a row wise and column wise sorted matrix MEDIUM
This blog will cover the problem of counting the number of zeroes in a row-wise and column-wise sorted matrix and its time and space complexities.
Author coldz
0 upvotes
Given 1’s, 2’s, 3’s ……k’s Print them in ZigZag way MEDIUM
This blog will cover the problem of printing a given number of 1’s,2’s,3’s ….k’s in a zig-zag pattern in a 2-d matrix and its time and space complexities.
Author coldz
0 upvotes
Check if all rows of a matrix are circular rotations of each other
In this article, we will see how to check if all the rows of the given matrix are circular rotations of each other or not, in detail.
Check Diagonal Matrix and Scalar Matrix EASY
In this blog, you’ll learn some programs to check diagonal matrix and scalar matrix.
Diagonally Dominant Matrix EASY
In this article, we will explore the diagonally dominant matrix and write programs to check the diagonally dominant matrix.
Unique elements in a Matrix EASY
In this blog, you will learn about the problem of finding unique elements in a matrix
Scalar Multiplication of a matrix EASY
In this blog, we will discuss how to perform the scalar multiplication of a matrix.
Matrix Chain Multiplication
In this blog, we will discuss an important dynamic programming question, matrix chain multiplication. Dynamic programming is the key to solve this problem.
Kronecker Product of Two Matrices
This article incorporates a detailed discussion on the problem Kronecker Product of two matrices with implementation.
Author Alisha
0 upvotes
Squares of Diagonals of a Matrix
This blog explains how to print squares of diagonal elements of a matrix.
Program to Check Involutory Matrix
The reader will learn about how to check whether a matrix is an Involutory matrix or not in this article.
Program to Check Idempotent Matrix EASY
This blog focuses on the Program to Check Idempotent Matrix. We will discuss the implementation of the Idempotent Matrix in different programming languages.
Print X’th element in the spiral form of a matrix
This blog will cover a multidimensional array problem to Print X’th element in the spiral form of a matrix and its time and space complexities.
Row-wise vs Column-wise Traversal of a Matrix EASY
This blog mainly focuses on the Row-wise and Column-wise Traversal of a Matrix. We will show you row-major and column-major traversals and their differences.
Find Sum of all Elements in a Matrix except the Elements in Row and/or Column of Given Cell
In this blog, we will discuss a programming question where we have to find the sum of all the elements in the Matrix except some of the given cells in the matrix.
Swap upper diagonal elements with lower diagonal elements of matrix MEDIUM
In this blog, we will discuss a programming question in which we have to swap the elements of a matrix.
Author Harsh
0 upvotes
Magic Square (Odd Order) EASY
In this blog, we'll talk about how to make a magic square of size n programmatically. We will learn about the algorithms and step to implement the Magic Square.
Magic Square (Even order)
In this article we will talk about what magic square is and its properties and algorithm for it.
Magic Square Matrix
In this article we will try to understand whether a given matrix is magic square or not using examples.
Markov Matrix EASY
The reader will learn about the Markov matrix in this article.
Strassen’s Matrix Multiplication MEDIUM
Strassen's Matrix Multiplication is a divide-and-conquer technique used to efficiently solve matrix multiplication problems.
Author Harsh
0 upvotes
Sort the matrix row-wise and column-wise EASY
In this blog, we will discuss a program to sort the matrix row-wise and column-wise.
Kunal and Triplets
This article will discuss the solution for the problem statement “Kunal and Triplets” in which some operation on a Triplets of the given array has to be performed. Along with the solution, the article focuses on the time and space complexity of the solution.
Sparse Table Construction (SUM QRY)
In this article, we will learn how to solve range sum query using the sparse table.
Range Min Using Sparse Table
In this article, we will learn how to solve range minimum query using the sparse table.
Range GCD Query Using Sparse Table MEDIUM
This blog will learn how to solve problems based on a range query using the sparse table.
Find median of row-wise sorted matrix EASY
In this article, we will discuss how to find the median of the row-wise sorted matrix.
Minimum Operations required to make each Column and Row of the Matrix Equals HARD
This blog will cover a multidimensional array problem of finding the Minimum operations required to make each column and row of the matrix equal and its time and space complexities.
Count the number of times k appears in a matrix of size n, with matrix(i, j) = i+j.
This blog will cover a multidimensional array problem of Counting the number of times k appears in a matrix of size n, with matrix(i, j) = i+j and its time and space complexities.
Sum of the middle row and column in Matrix EASY
In this blog, you will learn about the problem of finding the sum of the middle row and column in a matrix. We will go over various approaches to solve this problem.
Sum Of The Values Of All Paths In A Grid
In this article, we will study how to find the sum of the values of all paths in a grid starting from the top left corner to the bottom right corner and moving only down or right.
Shifting matrix elements row-wise by k
This blog gives an overview of shifting matrix elements row-wise by k in different programming languages.
Finding the distinct elements common to all rows of the matrix
This blog will cover a multi-dimensional array problem to find distinct elements common to all rows of a matrix and its time and space complexities.
Searching and Sorting in Rotated Sorted Array  | Part-2
n this blog, we discussed the method to search an element in a rotated sorted array with duplicate elements. Read the blog to learn it in detail.
Find common elements in three sorted arrays EASY
This blog will give you detailed explanation and implementation of the approach to find common elements in three sorted arrays.
Find the missing and repeating number in an array MEDIUM
In this blog, we will discuss the problem of finding the missing and repeating element in an array.
Search in a Row wise and Column wise Sorted Matrix
This blog will cover the problem of searching for an element in a sorted 2-D matrix and returning its position and its time and space complexities.
Author coldz
0 upvotes
Maximize Subarray Sum of Given Array by Adding X in the Range [L, R] for Q queries
This blog will discuss an application of Kadane’s Algorithm and one of the most asked problems in interviews, i.e., maximize subarray sum of given array by adding X in the range [L, R] for Q queries.
Aggressive Cows MEDIUM
This article explains the solution to a famous problem, “Aggressive Cows,” ranging from brute force to the most optimal approach
Book Allocation Problem MEDIUM
Find the minimum number of pages to be allocated to students so that each student gets at least one book. Let’s discuss an efficient algorithm to solve it.
Maximum triplet sum in Array
This article will brief you on finding the maximum triplet sum in Array.
Search an element in an array where difference between adjacent elements is 1 MEDIUM
In this blog, we will cover the problem of finding an element in an array where the difference between adjacent elements is 1 and discuss its time and space complexities.
Search an Element in an Unsorted Array using Minimum Number of Comparisons MEDIUM
In this blog, we will cover the problem of searching an element in an unsorted array using a minimum number of comparisons and discuss its time complexities.
Square Root using binary search EASY
In this blog, we will briefly discuss the concept of binary search and how to utilize it to find the square root of an element in log(N) time efficiently.
Count of only Repeated Element in a Sorted Array of Consecutive Elements EASY
This blog will cover the problem of the count of only repeated elements in a sorted array of consecutive elements and its time and space complexities.
Find Element in a Sorted Array whose Frequency is Greater than or Equal to n/2 MEDIUM
In this article, we are going to discuss the nested loop approach and the Boyer-Moore majority vote algorithm approach to find element in a sorted array whose frequency is greater than or equal to n/2.
Find the minimum element in a sorted and Rotated Array
This blog discusses an important interview question: Finding the minimum element in a sorted and rotated array.
Find a Fixed Point (Value equal to Index) in a Given Array EASY
In this blog, we will cover the problem of Finding a Fixed Point whose value is equal to the index in a given array and discuss its time and space complexities.
Plates Between Candles
In this blog, you will solve a medium-level Leetcode programming question named "Plates Between Candles."
Ceiling in a sorted array
 This article will brief you on finding the ceiling in a sorted array.
Binary Search in Sorted Vector of Pairs EASY
In this article, we are going to discuss binary search in sorted vector of pairs.
Find the only repetitive element between 1 to n-1 EASY
This blog will give you detailed explanation and implementation of the approach to find the only repetitive element between 1 to n-1
Find the subarray with the least average
In this article, we will find a subarray that has the least average that is a subarray with the minimum average.
Given an array of size n and a number k, find all elements that appear more than n/k times.
This current article will discuss the problem "Given an array of size n and a number k, we need to find all elements that appear more than n/k times." We will discuss this problem in different approaches.
Sort a Rotated Sorted Array
This blog is focused on methods we can use for sorting a rotated sorted array of distinct elements. Read further to learn these methods in detail.
Merge Sort MEDIUM
Merge Sort is a popular comparison-based sorting algorithm that follows the divide-and-conquer paradigm.How to learn merge sort programs in C, C++, Java, and Python.
Sort the matrix EASY
In this article, we will discuss how to sort the matrix.
Sort an Array in Waveform EASY
In this article, we will understand how to sort an array in waveform along with the different types of approaches to solve the problem.
Alternative Sorting EASY
In this article, we will discuss the problem of Alternative sorting along with its time complexity and auxiliary space.
Smallest Index with Equal Value
In this blog, we will discuss a Leetcode Easy problem, smallest index with equal value. This problem has been asked in the latest weekly contest organized by Leetcode.
Find The Last
In this article, we will try to solve a question on sorting algorithms that can be asked in interviews.
Sort an Array According to the Relative Order of Another Array MEDIUM
This article discusses a program for sorting an array in the order defined by another array.
Sort Elements by Frequency MEDIUM
In this article, we will learn how to sort elements by frequency along with their time complexity.
Program to find the number of misplaced elements from the index after sorting
This article discusses the approach to finding the number of misplaced elements from the index after sorting with its C++ code.
Author Spider
0 upvotes
Sort the Given Array after Sorting Each Number Individually
In this article, we will discuss how to sort the given Array after sorting each number individually.
Sort all even numbers in the Array without changing the order of odd elements
This article covers how to sort all even numbers in the array without changing the order of odd elements with examples and code in C++.
Author Spider
0 upvotes
Sort rows in ascending order followed by columns in descending
In this blog, you will learn how to sort rows in ascending order followed by columns in descending order. We will go in-depth and analyse time complexity as well.
Sorting Array Except Elements in a Subarray
This blog discusses the approach to sorting an array while taking care that a particular subarray remains untouched.
Count minimum steps to get the desired array MEDIUM
In this blog, We will see the solution to the problem count the minimum steps to get the desired array in cpp.
Minimum swaps required to bring all elements together less than or equal to a given number EASY
This blog will discuss the problem of Minimum swaps required to bring all elements together less than or equal to a given number.
Merging two unsorted arrays in sorted order
In the blog, we will discuss the problem of merging two unsorted arrays into a single sorted array.
MO’s algorithm and its applications HARD
This article incorporates information on MO's algorithm and its application in competitive programming.
Count the number of possible triangles EASY
In this blog, we will discuss different approaches to count the possible number of triangles in an array. Then we will discuss their algorithms, implementations, and complexities analysis.
All Unique Triplets that Sum up to a Given Value
This article discussed different approaches to finding all the unique triplets that sum to a given value. First, a method is discussed which uses O(n) space and the second approach is the optimization over the first approach, which does the task in O(1) space.
Sorting all array elements except one EASY
This blog discuss the sorting problem in which we sort all array elements except one.

Linked List

A linked list is a linear data structure that consists of nodes. Each Node contains a data field and a pointer to the next Node. In Linked List, unlike arrays, elements are not stored at contiguous memory locations but rather at different memory locations. The various elements in a linked list are linked together using pointers. There are majorly two types of Linked list: Singly Linked List and Doubly Linked List. This category contains all the information you need to know about Linked Lists.
Applications Of Linked List Data Structure EASY
A linked list is a linear data structure made up of nodes, each containing information and a reference to the next node.
Linked List in Data Structure EASY
Linked lists offer a multitude of operations, empowering developers to execute a wide array of actions with ease and efficiency.
Create a Linked List From a given array EASY
In this article, we will learn how to create a linked list from a given array.
Advantages and Disadvantages of Linked List MEDIUM
Explore the advantages and disadvantages of linked lists in this comprehensive article. Read on to get valuable information on linked list in data structure..
Merge Sort For Linked List MEDIUM
Learn how to implement merge sort in a linked list with this comprehensive tutorial. Master the art of sorting linked lists efficiently for improved data management.
Is it possible to Reverse a Linked List in less than O(n)?
This article will explain the minimum time possible to reverse a linked list.
How to Write the Functions that Modify the Head Pointer of a Linked List in C? EASY
In this article, we will learn how to modify the head pointer of a Linked List in C.
Linked List in Java MEDIUM
In this article, we will understand the inner workings of LinkedList, its constructors, methods, and various operations such as adding, updating, removing, and iterating over elements.
How to access Nth node from last, in a singly linked list? MEDIUM
In this article, we will discuss how we can access the nth node from last in a singly linked list with proper explanation and code.
Traverse in Linked List EASY
In this article, we will talk about the concept of traversing a linked list, both iteratively and recursively. We will provide step-by-step algorithms, and code examples in different languages, and analyze the time & space complexity of each approach.
Binary Search on Linked List EASY
This article deals with the algorithm to perform a binary search on a linked list and explains time and space complexity.
Singly Linked List Algorithm EASY
A singly linked list is a linear data structure with nodes pointing to the next node. Algorithms include insertion, deletion, traversal, and search.
Check if a Linked List of strings forms a palindrome
This blog discusses the problem of checking if a linked list of strings forms a palindrome.
Singly Linked List in C EASY
In this article, we will learn how to construct a singly linked list in C, which will include creating nodes, inserting & deleting nodes, & traversing the list.
Insertion in Linked List MEDIUM
Learn how to insert a node in a linked list with our guide. It covers basics, techniques, and implementation in C++.
Deletion of a Linked List MEDIUM
In this article, we’ll learn how to delete a linked list along with the implementation in C++ language.
Linked List in Python EASY
We'll cover everything from creating a basic linked list to performing complex operations such as inserting and deleting nodes.
Delete Node in a Linked List EASY
This article introduces you to the linked list concept in data structures and how to delete a linked list node at a given position with detailed code and explanation.
Deleting a Node in a Linked List in C++ EASY
This article discusses Deleting a Node in a LinkedList in C++. It discusses deleting a node in a LinkedList in C++ from various places.
Author Alisha
0 upvotes
Reverse a Linked List MEDIUM
To reverse a linked list, iterate through the nodes while adjusting each node's next pointer to point to the previous node.
Insertion Sort for Singly Linked List
In this blog, we will look at how one can use the idea of insertion sort for also sorting singly-linked lists.
Unrolled Linked List MEDIUM
In this article, you’ll be introduced to an unrolled linked list along with the implementation in C++ language.
Alternating split of a Singly Linked List
This blog will discuss how to solve the problem ‘Alternating split of a Singly Linked List’ in detail.
Alternate Odd and Even Nodes in a Singly Linked List
This article will discuss a very common problem related to Linked List - Alternate Odd and Even Nodes in a Singly Linked List
Double Linked List Program in C++ EASY
In this article, we will discuss the representation, implementation, basic operations, complexity analysis, advantages, disadvantages, and applications of doubly linked lists in C++.
Sort Linked List which is already sorted on absolute values EASY
This blog discusses the coding problem of sorting a linked list, which is already sorted on absolute values.
How to Swap Kth Node from the Beginning with Kth Node from the End in the given Singly Linked List HARD
In this blog, We learned to swap Kth node from the beginning with Kth node from the end in the given singly Linked List. Read further for a detailed solution.
Function to get Nth node in a Linked List
This article teaches the reader how to create a function to get the Nth node in a given LinkedList.
Multiply two numbers represented by Linked Lists EASY
In this blog, we will discuss how to multiply two numbers represented by linked lists. Then we will discuss the algorithm and complexities analysis for the approaches.
Two Pointer Approach MEDIUM
The concept of "two pointer technique" is not very extensive. We'll go over the key concepts in this blog, explaining when and how to use the two pointer technique.
Rotate Linked List Block Wise EASY
This blog will cover the problem to rotate Linked List Block Wise and its time and space complexities.
Author coldz
0 upvotes
Reverse a Linked List in Groups
This article revolves around how to reverse a linked list in groups in the C++ Programming language using the brute force approach and the most optimal solution.
Difference between a Singly Linked List and a Doubly Linked List
This blog will discuss the differences between a singly linked list and a doubly linked list and some problems based on both are listed in the FAQ section.
Compare two strings represented as Linked Lists
This article will discuss all the points associated with comparing two strings represented as Linked Lists. We will further look at an example of how to compare two strings represented as Linked Lists.
The intersection point of two Linked Lists MEDIUM
This blog covers an interview problem: the intersection point of two linked lists using various approaches along with the code in Java.
Implement iterator pattern of a Singly Linked List
In this blog, we will learn how we can implement our own Iterator in a singly linked list.
Author Harsh
0 upvotes
Using only 2 pointers reverse a Linked List
This article covers the problem: Using only 2 pointers reverse a Linked List in detail along with its pseudocode, implementation and appropriate examples.
Point arbitrary pointer to greatest value right side node in a Linked List
This blog discusses the coding problem of pointing to the greatest value right side node in a Linked List.
In-place Merge two Linked Lists without changing links of first list MEDIUM
In this blog, we will cover the problem of In-place Merge two sorted Linked Lists without changing the links of the first list and its time and space complexities.
Circular Linked List MEDIUM
A circular linked list is a data structure where each element points to the next, and the last element points back to the first, forming a circle.
Circular Linked List in C MEDIUM
A linked list is a data structure known to all. A circular linked list is an advanced version of it and is discussed in this article. Happy reading!
Doubly Linked List Program in C EASY
In this article, we will discuss how to create and work with doubly linked lists in C.
Singly Linked List To Circular Linked List MEDIUM
This blog will discuss how to convert a singly linked list to a circular linked list along with the implementation in C++ language.
Count the no of Nodes in a Circular Linked List EASY
In this topic, we will look at how many nodes a circular linked list has or how to count nodes in a circular linked list.
Check If A Linked List Is Circular Linked List MEDIUM
This blog will cover the problem of checking if LinkedList is a Circular LinkedList along with the implementation in Java language.
Deletion in a Circular Linked List MEDIUM
One of the most important data structures to understand is the linked list. In this article we will learn the deletion operation in a circular linked list.
Count Duplicates in Circular Linked List
The blog aims to find the count of duplicate elements in a circular linked list and explain the solution process.
Circular Linked List Traversal
In this blog, we’ll explore various techniques to traverse a circular linked list.
Split a Circular Linked List into Two Halves MEDIUM
This blog will cover the problem of splitting a circular linked list into two halves and the usage of the slow and fast pointer method in these types of problems.
Author coldz
2 upvotes
Josephus Circle Implementation Using STL List MEDIUM
This section will discuss the Josephus Circle Implementation using STL Lists. We will discuss the example of the given problem, the explanation, and the algorithm of the problem.
Exchange the first and last nodes in Circular Linked List
In this article, we will discuss how to exchange the first and the last nodes in the Circular Linked List, in detail.
Advantages, Disadvantages and Uses of a Doubly Linked List EASY
This article briefly discusses the popular Doubly Linked List Data Structure along with its properties as well as its Advantages and Disadvantages.
Features of Doubly Linked List EASY
This blog will give you insights about features of doubly linked lists, operations performed by doubly linked lists in detail.
Delete a Node in a Doubly Linked List
This article discussed the approach to deleting any given element from a doubly linked list. We talked about the simple algorithm, which takes a constant amount of time as well as space to execute
Find the size of Doubly Linked List EASY
In this article, we will discuss the problem of finding the length of the doubly linked list.
Reverse a Doubly-Linked List in Given Size MEDIUM
In this blog, we’ll solve the problem reverse a doubly-linked list in groups of size K by two different methods.
Insertion sort for doubly linked list MEDIUM
In this article, we will discuss how to sort a doubly-linked list using Insertion sort. We will see its algorithm, code, time, and space complexity.
QuickSort on a Doubly Linked List MEDIUM
In this blog, you will learn to implement QuickSort on a Doubly Linked List in C++ language.
Memory Efficient Doubly Linked List EASY
This blog will cover the Memory-efficient doubly linked list with its implementation in C++.
Author Spider
0 upvotes
Doubly Linked List From 2D Matrix MEDIUM
In this article, we will discuss how to construct a doubly-linked list from a 2D matrix with the help of various examples and explanations.
Rotate Doubly Linked List by N nodes MEDIUM
This article will discuss the problem “Rotate doubly linked list by N nodes”, approaches to solve this problem, and C++ implementation of the solution
Author Riya
0 upvotes
Count triplets in a sorted Doubly Linked List whose sum is equal to a given value x MEDIUM
In this blog, we have discussed a famous problem on doubly linked lists which is to count triplets in a sorted Doubly Linked List whose sum is equal to a given value x.
Check if a Doubly-Linked List of Characters is a Palindrome or Not MEDIUM
The following article discusses one of the popular problems involving a doubly linked list - Check if the Doubly Linked List is a Palindrome.
The Merge Sort for Doubly Linked List MEDIUM
In this blog, we will see how we can apply one of the most famous sorting algorithms, i.e., merge sort on a doubly linked list.
How to Find the Largest Element of a Doubly-Linked list MEDIUM
This blog discusses how we can find the largest element of a doubly-linked list. Read more to learn the solution and its implementation in detail.
Bubble Sort on Doubly Linked List MEDIUM
In this blog, we will understand the bubble sorting technique using one of the used data structures called Linked List, with its descriptive type called Doubly Linked List.
Remove Duplicates From an Unsorted Linked List MEDIUM
This article will discuss the Remove duplicates from an unsorted linked list problem and various ways to solve this problem, from the brute force approach to the efficient approach.
Create a Doubly Linked List from a Ternary Tree MEDIUM
In this blog we have created a doubly linked list from a ternary tree.
How to Remove Duplicates from an Unsorted Doubly Linked List MEDIUM
This blog discussed the methods to remove duplicates from an unsorted doubly linked list. Read the blog to learn these methods in detail
Sort the bitonic Doubly Linked List EASY
In this blog, we will learn to sort the bitonic doubly linked list.
Sorted Insertion in a sorted Doubly Linked List EASY
In this blog we have inserted a value in the doubly linked list at its correctly sorted position, ensuring that the resultant list is also sorted.
Sorted insert in a doubly-linked list with head and tail pointers EASY
In this article, we will discuss how to sort insert in a doubly-linked list with head and tail pointers, and its solution.
Sorted merge of two sorted doubly circular linked list EASY
In this article, we will discuss how to merge two sorted doubly circular linked lists.
Reverse the Doubly Linked List MEDIUM
In this blog, we will discuss the concept of reversing the doubly Linked list along with the implementation in Java.
Author Yogi21
0 upvotes
Extract Leaves of a Binary Tree in a Doubly Linked List
In this blog, we will look at an interesting fusion of a binary tree and linked list via a famous interview question, i.e., Extract Leaves of a Binary Tree in a Doubly Linked List.
Bubble Sort for Linked List By Swapping Nodes EASY
This blog will teach you how to apply Bubble Sort For Linked List By Swapping Nodes.
Why is Quick Sort preferred for Arrays and Merge Sort for Linked Lists?
This article will explain the major reasons behind using quick sort for arrays and merge sort for linked lists.
LinkedList Implementation in JavaScript MEDIUM
A LinkedList in JavaScript consists of nodes, each containing data and a pointer to the next node. It's implemented with a class defining head, next, and methods for insertion, deletion, etc.
Implementing a Linked List in Java Using Class EASY
This blog will discuss implementing a linked list in Java using Class that includes implementation of insertion of nodes at all positions, and deletion of a node.
LinkedList descendingIterator in Java EASY
In this blog, we will discuss Linked List iterators and see the LinkedList descendingIterator in detail.
Generic Linked List in C
In this article, we will learn how to implement Generic Linked List in C.
LinkedList listIterator() Method in Java EASY
In this article we will discuss the LinkedList listIterator method in Java with the help of an example.
Java.util.LinkedList.offer(), offerFirst(), offerLast() in Java EASY
In this article, we will discuss the special functions of the LinkedList class in java i.e. Java.util.LinkedList.offer(), offerFirst(), offerLast() in detail with the help of some examples.
Function to check if a linked list is palindrome or not? MEDIUM
This article discusses an important interview question: check if a linked list is palindrome or not. Various approaches along with code in Java are discussed.
Finding the Middle Node of a Linked List MEDIUM
This article will discuss various approaches to find the Middle node of a linked List along with code in Java.
LinkedList removeFirst Method in Java
In this article, we will cover the LinkedList removeFirst method in Java to optimize the code.
LinkedList add() Method in Java EASY
This blog will cover the famous method of LinkedList add() method in Java along with the example.
LinkedList addAll() Method in Java
This blog will cover the famous method of LinkedList i.e., addAll() method in Java.
Linked List remove() Method in Java EASY
In this blog, we will discuss three variations of the linked list remove method along with its implementation in Java.
How to Convert all LinkedHashMap Values to a List in Java EASY
This article will discuss how we can convert all LinkedHashMap values to a list in java.
Author Riya
0 upvotes
Program to Convert ArrayList to LinkedList in Java MEDIUM
In this blog, we will be discussing different methods to convert an ArrayList to LinkedList in java.
Java Program to Reverse a Linked List MEDIUM
To reverse a linked list in Java, iterate, adjust node pointers, and return the new head of the list. In this artice we will learn how to Reverse a Linked List in Java in detail.
Python Program to Reverse a Linked List MEDIUM
In this blog, we will see how to reverse a linked list using the python language.
Move all occurrences of an Element to end in a Linked List
In this blog, we will discuss a problem related to Linked List using multiple approaches.
Rearrange a Linked List in place MEDIUM
This article is about rearranging a linked list in place along with its approach and implementation in the C++ Programming language.
Rearrange a Linked List such that it contains alternating Minimum and Maximum elements
In this blog, we will discuss two different approaches to solve the problem related to the linked list.
Author Harsh
0 upvotes
Sort a Linked List EASY
In this blog, we will learn how to apply sorting techniques like Bubble sort and merge sort on a linked list.
Floyd’s Cycle Detection Algorithm MEDIUM
This article discusses the Floyd cycle detection algorithm in detail with its implementation. The article also discusses important concepts and problems to master the Floyd cycle detection algorithm.
Author Yogi21
12 upvotes
Length of a Linked List(Iterative and Recursive method)
This article aims to teach the reader how to calculate the length of a linked list using an iterative and recursive method.
Remove Duplicates from a Sorted Linked List. MEDIUM
In this blog, we will discuss one of the most asked questions in FAANG and other dream company’s interviews, i.e., remove duplicates from a sorted linked list.
Merge One Linked List into Another at Alternate Positions MEDIUM
This article will brief you on how to Merge one Linked List into another at alternate positions.
Polynomials Using Linked List and Arrays MEDIUM
Read polynomial representation using linked list and the process of multiplication of two polynomials using a linked list along with its code implementation and examples.
Union and Intersection of two Linked Lists (using Merge Sort) MEDIUM
In this blog, we will cover the problem of finding the Union and Intersection of two Linked Lists using merge sort and its time and space complexities.
Union and Intersection of Two Linked Lists (Hashing) MEDIUM
This blog will cover the problem of finding the Union and Intersection of two Linked Lists using hashing and its time and space complexities.
Author coldz
0 upvotes
Recursive selection sort for singly linked list (Swapping node links) EASY
In this blog, we will cover the problem of Recursive selection sort for singly linked list (Swapping node links) and its time and space complexities.
Decimal Equivalent of Binary Linked List
In this article, we will understand how we can convert a binary linked list to a decimal number.
Delete Alternate Nodes of a Linked List
In this article, we are going to discuss the implementation of deleting alternate nodes of a Linked list.
Delete N nodes after M nodes of a linked list
We will solve a question on a topic related to the Linked list.
Delete a node in the Linked List under the given conditions EASY
We will discuss the function of deleting a node from a Singly Linked List in different Situations.
Adding two polynomials using Linked List
In this blog, we will discuss a problem related to LinkedList and we’ll discuss two different approaches to solve it.
Author Harsh
0 upvotes
Add 1 to a number represented as Linked List
In this blog, we will discuss different approaches to see how to add 1 to a number considered as a linked list. Then we will discuss algorithms, pseudo-codes, and complexities analysis.
Given a Linked List of Line Segments, Remove middle points
In this article, we will remove middle points from the linked list of line segments.
Count Pairs from Two Linked Lists Whose Sum is Equal to a Given Value MEDIUM
This article will brief you to count pairs from two linked lists whose sum is equal to a given value with its implementation in different languages.
Construct a Linked List from a 2D Matrix MEDIUM
In this article, we will learn how to construct a linked list from a 2D matrix in an iterative approach.
Check whether the length of given Linked List is Even or Odd
In this blog, we will discuss different approaches to see if the length of a linked list is even or odd. Then we will discuss algorithms, pseudo-codes, and complexities analysis.
Intersection Point in Y shaped Linked Lists MEDIUM
This blog will discuss a DSA problem to find the intersection point in a Y-shaped Linked list which consists of two input linked lists.
Select a Random Node from a Linked List
This article discusses the problem: Select a Random Node from Linked List
Sort a Linked List of 0s,1s, and 2s EASY
This article will brief you on how to Sort a linked list of 0s,1s, and 2s along with its implementation in C++.
Delete the last occurrence of an item from Linked List
Linked Lists are an important topic from an interview perspective; this blog sheds light on an important interview problem, deleting the last occurrence of an item from Linked List with various examples and approaches.
Remove Duplicates from Linked List MEDIUM
This blog discussed the methods to remove duplicates from the sorted linked lists. Read the blog to learn these methods in detail.
Find a triplet from three Linked Lists with a sum equal to a given number
We will solve a question on a topic related to the Linked list.
Find the Sum of Last N Node of given Linked List MEDIUM
This blog will solve the one problem of a linked list for finding the sum of the last n nodes given a linked list along with its implementation and complexities.
Author Yogi21
0 upvotes
First Node Loop in LinkedList MEDIUM
In this blog, we will discuss one of the essential Data Structures, i.e., Linked List. We are going to understand it with the help of one of the problem First Node Loop in LinkedList.
Author Yogi21
0 upvotes
Merge K Sorted Linked Lists MEDIUM
This article will brief you on how to Merge K sorted linked lists along with its implementation in C++ language.
Sublist Search (Search a linked list in another list) MEDIUM
This blog will cover the approach of searching a linked list in another list with its explanation and code in C++.
Author Spider
0 upvotes
Union and Intersection of Two Linked Lists EASY
This article will discuss the Union and Intersection of two Linked Lists and various ways to solve this problem, starting from the brute force approach to the efficient approach
Reverse a Linked List Recursively MEDIUM
This article will brief you on how to Recursively reverse a Linked List along with the implementation in C++ language.
Delete Nodes that have a Greater Value on the Right Side in the Linked List MEDIUM
This article will brief you on how to delete all nodes with a greater value on the right side along with the implementation in C++ language.
Make a Loop at the K-Th Position in the Linked List MEDIUM
This blog will cover the approach of making a loop at the K-th position in the linked list with a complete explanation and its C++ code.
Author Spider
0 upvotes
Identical Linked Lists MEDIUM
This article will brief you on how to check Identical Linked Lists along with the implementation in C++.
Remove Every Kth Node Of The Linked List MEDIUM
This article will discuss the Remove every Kth node of the linked list problem and various ways to solve this problem, from the brute force approach to the efficient approach.
Merge a linked list into another linked list at alternate positions
This article covers the approach to merge a linked list into another linked list at alternate positions.
Author Alisha
3 upvotes
Count Duplicates in a Linked List MEDIUM
In this blog, we will discuss a problem based on the Linked list data structure “Count duplicates in a Linked list.
Print Reverse of a Linked List Without Actually Reversing it MEDIUM
The following article discusses how to print a Linked List in reverse order without actually reversing it along with its implementation.
Author Alisha
4 upvotes
Reverse alternate K nodes in a Singly Linked List
This article will discuss the Reverse alternate K nodes in a Singly Linked List problem and various ways to solve this problem, starting from the brute force approach to the efficient approach.
Convert A String To A Singly Linked List MEDIUM
In this blog, we will be looking for algorithms used to convert a string to a singly linked list.
Sort a Linked List that is Sorted Alternating Ascending and Descending Orders
In this blog, we will see an interesting application of sorting on linked list via question, sort a linked list that is sorted alternating ascending and descending order.
Largest and Smallest Element in a Singly Linked List MEDIUM
This article will discuss the problem of finding the “Largest and Smallest Element in a Singly Linked List”, an approach to solve this problem and the C++ implementation of the solution.
Author Riya
0 upvotes
Rearrange a Linked List such that all Even and Odd Positioned Nodes are Together
This blog will discuss how to rearrange a linked list such that all even and odd positioned nodes are together.
Rearrange a Linked List in Zig Zag Fashion
This article will discuss all the points associated with rearranging a linked list in a zig-zag fashion. We will further look at an example of rearranging a linked list in a zig-zag fashion.
Partitioning a Linked List around a given Value and Keeping the Original Order HARD
This article will discuss the problem “Partitioning a linked list around a given value and keeping the original order”, approaches to solve this problem, and C++ implementation of the solution.
Author Riya
1 upvote
Pairwise Swap Elements of a Singly Linked List MEDIUM
This article will discuss the problem “Pairwise Swap Elements of a Singly Linked List”, recursive and iterative approaches to solve this problem, and the C++ implementation of the approaches.
Author Riya
0 upvotes
Pairwise Swap Adjacent Nodes of a Linked List by Changing Pointers HARD
In this blog, you will learn how to do a pairwise swap of adjacent nodes in a Linked List by changing node’s pointers.
Pairwise Swap Elements of a Given Linked List by Changing Links HARD
This blog will cover the question of Pairwise swap elements of a given linked list by changing links and discussing its Time and Space complexity.
Add Two Numbers Represented by the Linked Lists | Part-1 MEDIUM
This blog will teach you how to add two numbers represented by a linked list using the brute approach.
Add Two Numbers Represented by the Linked Lists | Part-2 MEDIUM
This blog will teach you how to add two numbers represented by a linked list using the stack approach.
Add Two Numbers Represented by the Linked Lists | Part-3 MEDIUM
This blog will teach you how to add two numbers represented by a linked list using the space-efficient approach.
Create a List in Reverse Order by Merging Two Sorted Linked List
In this article, we are going to discuss the implementation of creating a list in reverse order by merging two sorted linked lists.
Design Browser History HARD
This article discusses the Design Browser History problem asked in a few competitive coding platforms.
Design Browser History (Doubly linked list)
The blog uses a Doubly-linked list data structure to design browser history.
Clone a Linked List with Next and Random Pointer HARD
This article discusses the solution and various approaches to solving the problem - Clone a Linked List with next and random pointer. It also explains in detail the time and space complexities of each approach.
Detect Loop in Linked List MEDIUM
In this article, we will discuss the different methods and algorithms to solve one of the most common coding questions "detect loop in linked list".
Length of the Loop in the Linked List MEDIUM
In this article, we'll go through how to find the length of the loop in the linked list, which is one of the frequently asked questions in interviews.
Rotate a Linked List MEDIUM
In this article, we will discuss a popular interview question Rotate a linked list with detailed explanations and code in C++.
Flatten a Linked List
This article discusses the problem: Flattening a Linked List.
Flatten a Multi-level Linked List (Depth wise) MEDIUM
In this blog, we will learn about a Multi-level linked list and how to flatten a Multi-level linked list depth-wise.
Find the Minimum and Maximum Number of Nodes Between Critical Points MEDIUM
Learn to find the minimum and the maximum number of nodes in a linked list between any two critical points with a detailed algorithm and code in C++ language.
Sort a Linked List after Converting Elements to Their Squares
In this blog, we will discuss a coding problem based on linked lists. The problem involves applications of reversing a linked list and merging two linked lists.
Point to the next higher value node in a Linked List
This article introduces you to the linked list concept in data structures and how to point to the next higher value node in a linked list with detailed code and explanation.
Merge two sorted linked lists HARD
In this blog, we will discuss the approach to merge two sorted linked lists.
Flatten a multilevel linked list MEDIUM
In this tutorial, we’ll look at how a multilevel linked list can be converted into a single-level linked list in the C++ programming language.
Author Alisha
0 upvotes

Recursion

When we repeat a similar process many times, it is known as Recursion. In Recursion, a function calls itself many times till it hits some base case, making a recursive tree where we pass every child's output is to its parent. Recursion is extremely useful in the cases of tree-based and graph-based problems
What is Recursion? EASY
Discover what recursion is with examples, types, needs, properties, applications, advantages, and disadvantages. Explore both direct and indirect recursion.
Recursion in Data Structure: How it Works Types EASY
Recursion in the data structure can be defined as a method through which problems are broken down into smaller sub-problems to find a solution. Read on!
Reverse a String Using Recursion EASY
In this article, we'll learn how to reverse a string using recursion in various programming languages. We'll provide step-by-step explanations & code examples to help you understand the process.
What is Recursive Function in C? EASY
A recursive function in C is a function that calls itself, either directly or indirectly, to solve a problem. In this article, we will learn about Recursive Function in C in detail.
Linear Search using Recursion in C EASY
In this article, we will discuss linear search using recursion in C. We will learn what linear search is and how it works with recursion, pseudocode in C, code examples, and analyze its time and space complexity.
Recursion in Javascript EASY
Recursion in JavaScript is a function that calls itself to solve a problem, typically by breaking it down into smaller subproblems until a base case is met.
Tail Recursion EASY
This blog will learn about Tail Recursion and its implementation with code and examples.
Insert a Node in a Singly Linked List at a given Position using Recursion EASY
This article discusses how to insert a node in a Singly Linked List at a given position using Recursion.
Different Ways to Add Parentheses MEDIUM
In this article, we’ll learn the different ways of adding parentheses to group numbers and operators.
How to Find all the Palindromic Partitions of a String MEDIUM
In this blog, we will learn to find all the palindromic partitions of a string using recursion. We will look at the idea behind solving the problem and finally will see the implementation in C++.
Add Two Numbers Represented by a Linked List MEDIUM
Add numbers from linked lists. Learn how to add two numbers represented by linked lists through the traversal Approach, Stack, Backtracking and Recursive approach.
Difference Between Recursion and Iteration EASY
Explore the difference between Recursion and Iteration their meanings and examples. Understand the comparison between iteration and recursion.
Sum of the Combination of Numbers | Part-1 MEDIUM
This blog discusses the solution to the problem in which we have to find the combinations of numbers whose sum is equal to a given number. Read to learn more.
Sum of the combination of numbers | Part-2 MEDIUM
This blog discusses the method to find all the combinations of given numbers such that the sum is equal to a given number. Read to learn more.
Program to Find Factorial of a Large Number Recursively MEDIUM
In this blog, we will learn how to solve a problem to find factorial of a large number recursively.
Count All Positive Integers Having N digits and the absolute difference between any two adjacent digits is K. HARD
In this article, we will discuss the problem of finding the count of all positive integers having N digits, and the absolute difference between two adjacent digits is K.
Print all unique combinations of setting N objects on an NxN board HARD
This article will discuss the solution to Print all unique combinations of setting N objects on an NxN board. Along with the solution, the article focuses on the time and space complexity of the solution.

Backtracking

When they said ‘Two steps forward, one step back, they were talking about backtracking. In backtracking, we try out various outcomes possible for one configuration. Once we are done with one configuration we backtrack to explore other configurations. The last time when you got stuck on one of the optional questions in an exam and tried to attempt the other one, you were actually backtracking. Another well-known application of a backtracking problem is the permutations of an array.
Backtracking The Knight’s Tour Problem MEDIUM
This article discusses the approach and solution of one of the most important questions of Backtracking: Knight's tour problem topic i.e. The Knight's Tour, along with its code implementation in C++.
Min-Max Algorithm EASY
In this blog, we’ll explore the famous Min-Max Algorithm.
8 Queen Problem Using Backtracking HARD
The eight queens problem is the problem of placing eight chess queens on an n*n chessboard so that no two queens threaten each other.
Difference Between Backtracking and Branch and Bound EASY
In this article, we will learn about the concepts of backtracking & branch and bound, understand how they work, and compare their differences based on various parameters.
Introduction To Backtracking EASY
In this article, we discussed what backtracking is and the differences between brute force and recursion.
Generate Parentheses MEDIUM
In this article, we’ll learn how to generate all the combinations of well-formed parentheses.
Sudoku Solver MEDIUM
This is a two-part article covering the Sudoku Solver problem, asked in various competitions.
Word Break Problem using Backtracking MEDIUM
This article will discuss the word break problem using backtracking
Tug Of War MEDIUM
This article will discuss the Tug of war and learn about the concept behind the approach used to solve the tug of war problem.
Permutations MEDIUM
The blog discusses in detail generating all different possible permutations of numbers in a list. We’ll discuss many approaches and their implementation in Java to solve the problem and the time and space complexity for each method.
Author Zenith
0 upvotes
Additive Number MEDIUM
This blog will discuss how we can solve one of the most asked problems in recursion, i.e., Additive Number.
Subsets EASY
This article will discuss the “subsets problem” in which we have to generate all the subsets of a given array of unique elements and a backtracking-based method to solve the problem.
Author Riya
0 upvotes
Subsets (ii) MEDIUM
This article will discuss the “subsets (ii) problem” in which we have to generate all the non-empty unique subsets of a given array containing duplicate elements and a BitMasking approach for solving the problem.
Author Riya
1 upvote
Permutations of given String MEDIUM
Let’s find the permutation of a string using this article. Permutations are strings that contain the same characters but in a different order. Learn how to find all permutations of a string using a simple algorithm.
Minimize swaps of pairs of characters required such that no two adjacent characters in the string are the same EASY
This blog will discuss the problems in Backtracking, i.e., Minimize swaps of pairs of characters required such that no two adjacent characters in the string are the same.
Count All Prime Numbers that Can be Formed using Digits of a Given Number
In this article, we will solve a problem Count All Prime Numbers that Can be Formed using Digits of a Given Number using recursion and backtracking.
Generate all possible strings formed by replacing letters with given respective symbols
This article will discuss to generate all possible strings formed by replacing letters with given respective symbols and the approach to solve this problem.
Recursion and Backtracking Algorithm With Practice Problem EASY
In this blog, we will learn about Recursion and Backtracking Algorithm With Practice Problems.

Stack

When talking about Data Structures and algorithms associated with them, we need to talk about Stacks. A stack is a linear data structure, which follows a particular order in which operations can be performed. These operations may be FILO (First In Last Out) or LIFO(Last In First Out). Stacks can be implemented using arrays and linked lists manually, while languages like C++, Java, and Python have built-in classes, STLs, and libraries to implement them. In this category, we will look into all operations and problems related to Stacks.
Stack in Python (LIFO Queue) EASY
Stack is an important data structure that is used in all programming languages. This article describes a stack in Python(LIFO Queue), in particular.
Difference Between Stack And Queue Data Structures EASY
Stacks and queues are fundamental data structures. Stacks follow LIFO, while queues adhere to FIFO. In this article, Understand their differences and usage in programming.
Python Stack Using Doubly Linked List MEDIUM
In this blog, we will see how to implement the stack data structure using a doubly-linked list in Python.
Difference Between Stack and Tree
In this blog, we'll go through the definitions of stack and tree, as well as the differences between the two.
Difference between Array, Queue and Stack MEDIUM
In this article, we will discuss the difference between Array, Queue, and Stack in detail.
Infix, Postfix, and Prefix Conversion EASY
This article discusses infix, Postfix, and Prefix conversion. Read the algorithm, examples, advantages, and disadvantages.
Peek() Operation in Stack EASY
This article demonstrates the peek operation in stack and its algorithm with its implementation.
Stack Push and Pop Program in C MEDIUM
In this article, we will discuss how to implement a stack using an array in C and write functions for the push & pop operations.
Expression Evaluation Using Stack MEDIUM
Often, a program for expression evaluation using stack is asked in the coding rounds of interviews. This article discusses the solution to this problem.
What is Stack in C EASY
In this article, we will learn about the stack data structure, its operations, time complexity, types, applications & implementation using arrays & linked lists.
Evaluation of Postfix Expression in C EASY
In this article, we will learn how to evaluate postfix expressions using a stack in C. We will cover the basic algorithm, provide code examples, & understand the step-by-step evaluation process.
Mergeable Stack EASY
In this blog, we will discuss the logic of how to create a mergeable stack and display them and their implementation in C++.
Implement Stack using a Singly Linked List EASY
This article covers the implementation of a stack using a singly linked list with examples and its C++ code.
Author Spider
3 upvotes
Implement Stack Using a Doubly-Linked List MEDIUM
This article covers the implementation of a stack using a doubly-linked list with examples and its C++ code, and its time and space complexity.
Remove Adjacent Duplicates MEDIUM
This article discussed one of the most elementary problems based on stack, i.e., Removing Adjacent Duplicates along with its implementation.
Delete Middle Element Of The Stack EASY
In this article, we’ll see how to delete middle element of a stack without using any additional data structure and implementation in C++ language.
Program to Insert an Element at the Bottom of a Stack MEDIUM
This article will brief you on how to insert an element at the Bottom of a Stack.
Reversing a Stack MEDIUM
In this blog we will discuss different method to Reverse a stack along with codes in Java. Read on to learn how to reverse a stack.
Next Greater/Smaller Element using a Monotonic Queue MEDIUM
This blog covers an interview problem: find the Next greater/smaller element using a monotonic queue using various approaches along with the Java code.
Author Riya
1 upvote
Add Two Numbers Represented by Stacks MEDIUM
This blog has information on how to add two numbers represented by stacks and how to implement it.
Python Program to Reverse a Stack EASY
This blog will cover the question to reverse a Stack and discuss its Time and Space complexity along with its implementation in Python language.
Two stacks in an array EASY
In this blog, we will discuss the approach to store the elements of two stacks in an array.
Iterative Tower of Hanoi MEDIUM
In the following article, we discuss an iterative approach to the popular Tower Of Hanoi problem with its implementation in C++, Java, Python, and its complexities.
Design a Minimum Stack MEDIUM
This blog discusses the solution to the problem of minimum stack in which we have to return the smallest element of a stack. Read the blog to learn more!
Trapping Rainwater MEDIUM
The following article discusses the popular Trapping Rainwater problems along with its possible solutions form most intuitive to most optimal ones with their implementations.
Count Array Elements having at Least One Smaller Element on its Left and Right Side MEDIUM
This article explains the solution to the problem of counting array elements having at least one smaller element on its left and right side.
Minimize the Length of a given String by Removing Subsequences Forming Valid Parenthesis HARD
In this article, we’ll learn how to solve an interesting problem i.e. Minimize the Length of a given String by Removing Subsequences Forming Valid Parenthesis along with its implementation.
Diagonal Traverse ii MEDIUM
In this blog, we will build logic for the Diagonal traversal of integers and see the various implementations of this problem.
Reverse level order traversal EASY
This article will make you learn about the reverse level order traversal in the tree data structure. In the end, it will include some of the FAQs.
Minimize a Binary String by Repeatedly Removing Even-Length Substrings of the Same Characters HARD
This blog will cover the question to minimize a binary string by repeatedly removing even length substrings of the same characters and discussing its Time and Space complexity.
Minimize a String By Removing All Occurrences of Another String
This article will discuss the Minimize a string by removing all occurrences of another string problem and various ways to solve this problem, from the brute force approach to the efficient approach.
Print Stack Elements from Top to Bottom EASY
In this article, we will see the common stack problem of printing the stack elements from top to bottom in java, c++, and python with time and space complexities.
Smallest String Obtained By Removing All Occurrences of 01 and 11 from the Binary String HARD
This article discusses the Problem of obtaining the smallest string possible by removing all occurrences of 01 and 11 from a binary string along with its implementation.
Count of Strings that do not Contain Arc Intersection MEDIUM
This article explains the solution to the problem to find the count of strings that do not contain arc intersections along with the implementation in C++.
Minimize Length of a String by Removing Pairs of Consecutive Increasing or Decreasing Digits HARD
This article discusses the Problem of  Minimising Length of a String by Removing Pairs of Consecutive Increasing or Decreasing Digits
Special Stack Data Structure Design and Implementation MEDIUM
This blog is related to the famous Stack Problem "Special Stack Data Structure," which contains an additional getMin() operation.
Application of Stack in Data Structure EASY
In this article, we will cover Stack in Data Structure in detail, including the application of stack, its advantages and disadvantages.
Number of NGEs to the right
In this blog, we will discuss the approach to print the number of next greater elements to the right of the given index element.
K stacks in a single array EASY
In this blog, we will discuss the logic of how to implement k stacks in a single array and the code of it in c++.
Largest Rectangle in Histogram EASY
In this article, we’ll learn how to find the largest rectangle in a histogram.
Reverse a number using Stack EASY
In this article, we will discuss a very interesting problem: we have to reverse the decimal number given to us using the stack data structure.
Reverse a Linked List using Stack MEDIUM
This article covers the approach of reversing a linked list using stack data structure with complete explanation and its implementation in C++.
Count Subarrays for every Array Element in Which they are the Minimum MEDIUM
In this blog, we will discuss the problem of counting subarrays for every array element in which they are the minimum.
Check if stack elements are pairwise consecutive EASY
This article explains the problem “check if stack elements are pairwise consecutive” with an example.
Distance from Next Greater Element MEDIUM
In this article, we will discuss the problem distance from next greater element along with its implementation.
Convert Given Binary String S to all 1s by Changing all 0s to 1s in Range [i+1, i+K] if S[i] is ‘1’ MEDIUM
https://www.codingninjas.com/codestudio/library/convert-given-binary-string-s-to-all-1s-by-changing-all-0s-to-1s-in-range-i-1-i-k-if-s-i-is-1
Count of Groups of Consecutive 1s in a given Binary String MEDIUM
This blog will discuss the problem named count of groups of consecutive 1s in a given binary string with an example and implementation.
Check if a String Consisting Only of a, b, c can be made Empty by Removing Substring “abc” Recursively MEDIUM
This blog will cover the question to check if a string consisting only of a, b, c can be made empty by removing substring “abc” recursively and discussing its Time and Space complexity.
Maximum Range Length such that A[i] is Maximum in the given Range for all i from [1, N] MEDIUM
In this article, we will discuss the problem of Maximum range length such that A[i] is maximum in the given range for all i from [1, N] along with its implementation.
Check if a String can be Emptied by Removing all Subsequences of the Form “10” MEDIUM
This article discusses how to check if a string can be emptied by removing all the subsequences of the form "10" along with its implementation in java language.
Lexicographically Smallest String MEDIUM
This blog will discuss the problem to find the lexicographically smallest K-length subsequence from a given string in C++, Java, and Python language along with the time and space complexity.
Reverse an Array using Stack EASY
This blog will cover the question to reverse an array using a Stack and discuss its Time and Space complexity along with its implementation in java language.
Check if an array is stack sortable EASY
In this blog, we will use a stack to check if an array is sortable or not. The elements of the array will get sorted using pop and push operation on stack.
Reverse Words in a Given String
This article revolves around the question which says Reverse words in a given String. We discuss how to approach the problem and solve it in Java
Maximum product of indexes of next greater on left and right EASY
In this article, we will discuss a very interesting problem in which we have to calculate the maximum product of indexes of the next greater on left and right among all the given elements.
Maximize the Product of the Subarray Sum with its Minimum Element MEDIUM
This article will brief you on how to Maximize the product of the subarray sum with its minimum element.
Daily Temperatures MEDIUM
This article explains how to find the number of days remaining for the next day with higher temperatures along with its implementation in JAVA.
Minimum Removals to Make Valid Parentheses MEDIUM
This blog will cover the approach to an interesting problem, Minimum removals to make valid parentheses with examples, and C++ code.
Author Spider
0 upvotes
Online Stock Span MEDIUM
This article will brief you on finding the online stack span for each day of stock given as a stream of array elements.
Create Maximum Number MEDIUM
In this article, we will discuss a problem involving applications of topics like arrays, merge sort, and stacks.
Check if a queue can be sorted into another queue using a stack
This article will solve a question related to the topic of queue and stack data structure.
Stack that supports getMin() in O(1) time and O(1) extra space
In the blog, we will discuss the problem of defining a stack that supports getMin() in O(1) time and O(1) extra space.
How To Sort A Stack Using Recursion? MEDIUM
Learn how to sort a stack using recursion in this step-by-step guide. Master the recursive approach to efficiently organize stack elements, gaining valuable programming skills along the way.
Check if an array is stack permutation of other MEDIUM
In this article, we will discuss a very interesting problem: to check if an array is stack permutation of other or not.
Next Greater Frequency Element
This blog discusses the approach to find for each element,the next greater frequency element on the right of it.
Stack Operations in Data Structure EASY
In this article, we will explore the stack operations push, pop, peek, isEmpty, and isFull with the implementation of stack both using array and linked list.

Queue

In the field of Data Structures in Computer Science, queues are a very important data structure. A Queue is a linear data structure, which is simply a collection of entries that are tracked in order, such that the addition of entries happens at one end of the queue, while the removal of entries takes place from the other end. In this category, we will look into all operations and problems related to Queue.
Implementation Of Queue in Java using Array and Generics MEDIUM
A queue is a linear data structure and follows FIFO methodology to perform operations on elements, which states that the data stores first will be accessed.
Queue Data Structure and Implementation in Java EASY
This blog defined queue data structure in the Java programming language. The blog also explains implementation of queue, its basic functions, application and limitations of using queue.
Author Aditi
0 upvotes
FIFO (First-In-First-Out) approach in Programming
This blog will discuss the FIFO (First-in-First-Out) approach in the Programming Paradigm.
How to Remove a Specific Element from Queue MEDIUM
The following article explores a method how to remove specific elements from a queue along with its implementation and complexities.
Queue Remove Method in Java EASY
In this article, we will understand the remove method of the queue in the java language.
Find the Index of the Array Elements after Performing given Operations K Times EASY
In this article, we will find out how to find the index of the array elements after performing some operation k times.
Queue in C EASY
In this blog, we will learn about Queue in C. We will look at array and linked list implementation for queue in C.
Find Nth Positive Number Whose Absolute Difference of Adjacent Digits is at Most 1 MEDIUM
This article will discuss the Nth positive number whose absolute difference of adjacent digits is at most 1 problem.
Queue of Pairs in C++ STL MEDIUM
This blog will discuss the topic of the queue of pairs in C++ STL with examples.
Difference Between Queue and Deque in C++
The following article discusses a comparative analysis of the functions provided by the Queue and Deque data structures in C++ briefly discussing both of them.
Queue in Python MEDIUM
In this article, we will discuss queues in Python, their types, operations, and methods with practical examples.
Enqueue and Dequeue in C EASY
Enqueue and dequeue are the processes of inserting and removing elements from a queue. This article discusses enqueue and dequeue in C.
Advantages of Circular Queue Over Linear Queue EASY
Explore the advantages of circular queues over linear queues. They ensure efficient memory usage and enhance performance for frequent enqueue/dequeue.
What is the Difference Between Simple Queue and Circular Queue? EASY
The article revolves around the differences between Simple (Linear) and circular queues, along with some frequently asked questions.
Circular Queue in Data Structure EASY
This blog will discuss circular queue implementation and operations, its examples, implementations, and procedures.
Implement Dynamic Deque using Templates Class and a Circular Array MEDIUM
This article discusses how to implement dynamic Deque using templates class and a circular array.
Design Front Middle Back Queue using STL MEDIUM
This article discusses how to design Front Middle Back Queue using STL by using Deque
Implementation of Deque Using Doubly Linked List MEDIUM
Deque, or Double Ended Queue, is a popular data structure that extends the functionality of Queue data structure. It supports operations at both of its ends.
Generate a Permutation of First N Natural Numbers having Count of Unique Adjacent Differences Equal to K MEDIUM
In this article, we will learn how to solve the problem of finding a permutation of n numbers such that the number of unique differences between adjacent numbers is equal to k
Find the First Non-Repeating Character in a Stream MEDIUM
This blog covers a popular interview question involving finding the first non-repeating character in a stream along with its Java implementation.
How to Efficiently Implement K Queues in a Single Array? MEDIUM
This article discusses an important interview problem: Implement K queues in a single array. Various approaches along with code in Java are discussed.
Implementation of Queue using Linked list EASY
In this article we will learn about the implementation of queue using linked list in data structure.
Author akscrv
0 upvotes
Reversing a Queue MEDIUM
This blog covers a popular interview problem, “Reversing a queue,” with different approaches and code in C++.
Sorting of Queue
The blog covers an important interview problem: Sorting of queues using various approaches along with code in Java.
Interleave the first half of the queue with second half
In this blog, we will discuss different approaches to interleave the first half of the queue with the second half. Then we will discuss their algorithms, implementations, and complexities analysis.
Implementation of Queue using Arrays in C++ EASY
In this article, we will discuss the queue data structure and its array implementation.
Generate Binary numbers from 1 to n using queue in Java
In this blog, we will discuss a problem in which we have to print the binary numbers from 1 to n using a queue data structure.
Author Harsh
0 upvotes

Binary Tree

A binary tree is another example of a data structure similar to a linked list, but instead of each node pointing to the very next node linearly, each node points to the two nodes, hence making this an example of a non-linear data structure. The tree structure is a way of representing the hierarchical nature of a structure in a graphical form. In the Abstract data type of trees, the order of the elements is not essential. If we need ordering information, linear data structures like a linked list, stacks, queues, etc., can be used.
Application of Tree in Data Structure
This article will provide an in-depth explanation of tree data structure applications, the numerous tree varieties, and their properties.
An Introduction to Binary Trees
This blog will see an introduction to binary trees’ data structure, properties, types, and representation.
Author Ranjul
0 upvotes
Application of Binary Tree EASY
In this article, we will cover the application of binary trees and understand the fields in which they are helpful.
Author akscrv
0 upvotes
Left View of a Binary Tree in Java
The article is based on the problem of printing nodes of the tree visible from the left view. We will discuss various approaches to the problem.
Types of Binary trees EASY
Explore different types of binary trees with examples. Understand their unique properties and how they differ from each other in structure and function.
Binary Tree using dstructure library in Python
In this blog, we will discuss the binary tree data structure in python which is implemented in the dstructure library. We will also see various pre-defined functions in the library.
Height of a Binary Tree in Data Structure
The height of a binary tree is the number of edges on the longest path from the root node to a leaf node. In this Article, we will learn to calculate a binary tree’s height in Data Structure.
Difference Between Full and Complete Binary Tree MEDIUM
In this blog, we will look at everything revolving around trees and binary trees. Finally, we will ponder upon the thought of the difference between full and complete binary trees.
Preorder Traversal of Binary Tree MEDIUM
In this article, we will learn about the algorithm for preorder traversal, how it works, & see a program to implement it using a recursive approach. We will also analyze its complexity & discuss some use cases.
Depth First Search MEDIUM
In this article, we will understand the introduction to depth first search concept, examples, its approach, algorithm, and implementation in c++ and Java languages in detail.
BFS vs DFS for Binary Tree MEDIUM
This article will discuss BFS vs DFS for Binary Tree. We will look at BFS and DFS in detail with the algorithm, followed by an example with implementation in C++.
N-Ary Trees HARD
This article covers N-ary tree implementation, various traversal techniques for N-ary tree and briefly touches on some of its applications using examples.
Enumeration of Binary Trees
This article will go through Enumeration of Binary Trees, which will help you learn the different sorts of trees and how to identify them using nodes.
Author akscrv
0 upvotes
Handshaking Lemma MEDIUM
Handshaking Lemma: A graph theory theorem that states that the sum of the degrees of all the vertices in a graph is equal to twice the number of edges in the graph.
Author akscrv
0 upvotes
Heavy-light Decomposition (HLD) EASY
Heavy-Light Decomposition is a technique in computer science and graph theory, primarily used in tree data structures.Read more to explore the efficiency of Heavy-Light Decomposition in data structures.
Foldable Binary Tree
We will understand the foldable binary tree as a topic related to tree.
Continuous Tree
This article will discuss what is a Continuous Tree and how to check the continuity of a tree.
Complete Binary Tree EASY
In this article, we will learn about the complete binary tree. Discover the properties, terminologies, applications, and examples of complete binary trees.
Perfect Binary Tree EASY
A Perfect Binary Tree is a type of binary tree in which every internal node has exactly two children, and all the leaf nodes are at the same level.
Threaded Binary Trees in Data Structure MEDIUM
Threaded Binary Tree, the nodes will store the in-order predecessor/successor instead of storing NULL in the left/right child pointers.
Balanced Binary Tree MEDIUM
In this article, we will discuss the basic of balanced binary tree with their examples, applications, advantages, and implementation.
Conversion from a Binary Tree to a Threaded Binary Tree MEDIUM
In this blog, we will discuss different approaches and implementation to convert binary tree to a threaded binary tree.
Construct a Binary Tree from a given Preorder and Inorder Traversal MEDIUM
This article will brief you on constructing a binary tree from a given preorder and inorder traversal.
The Binary Lifting Technique EASY
In this blog post, we’ll learn one interesting technique Binary Lifting, which then we’ll use to improve the efficiency of the LCA problem.
Construct a Complete Binary Tree from its Linked List Representation
In this blog, we will discuss how to Construct a Complete Binary Tree from its Linked List Representation.
Construct Binary Tree from String with bracket representation MEDIUM
This article will solve the question named construct binary tree from string with bracket representation. It will discuss the code for this question.
Convert a Generic Tree (n-ary tree) to Binary Tree MEDIUM
This blog will discuss the topic of Convert a Generic Tree to a Binary Tree, which includes a problem statement, example, approach and many more.
Convert a given Binary tree to a tree that holds Logical AND property MEDIUM
In this article, we will discuss converting a given Binary tree to a tree that holds Logical AND property. We will also look at the problem statement in detail, followed by its various approaches, code, and complexities.
Convert left-right representation of a binary tree to down-right MEDIUM
In this blog, we discuss the problem of converting a given binary tree with left right representation to its down-right representation
Prufer Code to Tree Creation
This blog explains Prufer Code to Tree Creation in different programming languages. Example and program samples are presented in the blog to explain the concept in detail.
Author Aditi
0 upvotes
Flip Binary Tree MEDIUM
In this article, we will discuss an interesting problem in which we are given a binary tree, and we need to flip the binary tree in the right direction that is in a clockwise direction
Print Nodes between two given Level Numbers of a Binary Tree MEDIUM
In this blog, we will discuss a queue-based iterative level order traversal approach using which we can print nodes between two given level numbers of a binary tree.
Constructing a Binary Tree from two Traversal Sequences MEDIUM
In this article, we will discuss different approaches to construct a binary tree from two traversal sequences. Then we will discuss the algorithms and approaches for the problem. Space complexity and Time complexity for the approaches will also be discussed.
Construct a special tree from given preorder traversal
In this blog, we will discuss different approaches to construct a special binary tree from a given preorder traversal. Then we will discuss the algorithms and complexities analysis for each of the approaches.
Construct a Complete Binary Tree from given Array in Level Order Fashion
This article discusses the problem: Construct a Complete Binary Tree from a given Array in Level Order Fashion
Construct Full Binary Tree using its Preorder traversal and Preorder traversal of its mirror tree
This article discusses the problem - Construct Full Binary Tree using its Preorder traversal and Preorder traversal of its mirror tree in detail
Modify a Binary Tree to get Preorder Traversal using Right Pointers only
This article covers the problem: Modify a binary tree to get preorder traversal using right pointers only in detail
Traversal of Binary Tree in Data Structure EASY
Tree Traversal is the process of visiting/accessing each node of the tree once in a particular order. In this article, we will learn about Binary Tree Traversal in Data Structure in detail.
How to Print a Binary Tree in Vertical Order | Part-1
This blog discusses the basic methods to print a binary tree in vertical order. Read further to see the detailed solution.
How to Print a Binary Tree in Vertical Order | Part-2
This blog discusses the map and preorder traversal-based methods to print a binary tree in vertical order. Read further to see the detailed solution.
How to Print a Binary Tree in Vertical Order | Part-3
This blog discusses the level order traversal-based method to print a binary tree in vertical order. Read further to see the detailed solution.
Density Of Binary Tree In One Traversal EASY
This article will discuss all the points associated with finding the density of a binary tree using one traversal. We will also look at an example of how to find the density of a binary tree in Java.
Double Order Traversal of a Binary Tree
This article will cover how the double order traversal of binary trees.
Diagonal Traversal of Binary Tree (Recursive and Iterative)
The blog discusses in detail about Diagonal Traversal of Binary Trees. We'll discuss many approaches to solve the problem, time and space complexity for each method.
Specific Level Order Traversal of Binary Tree
This article will discuss the solution to print a binary tree in a specific Level Order Traversal mentioned in the problem statement along with the solution will explore its time complexity and space complexity
Check if removing an edge can Divide a Binary Tree into Two halves. MEDIUM
In this Blog, we will discuss how to check if removing an edge can divide a Binary Tree.
Postorder Traversal of Binary tree MEDIUM
Learn postorder traversal of a binary tree with examples and algorithm. Explore how postorder works and different approaches to implementation using stacks.
Iterative Postorder Traversal of a binary tree
In this article, we will be looking at the alternative approach for traversing the tree using Iterative Postorder Traversal with a single stack.
Author Alisha
3 upvotes
Iterative Preorder Traversal of Binary tree MEDIUM
In this article, we’ll look at how one can perform the Preorder Traversal of a Binary Tree iteratively along with its implementation.
Create a tree with Left-Child Right Sibling MEDIUM
In this article, we learn how to create a tree from left-child Right-Sibling Representation.
Clockwise Triangular Traversal of a Binary Tree
In this blog, we’ll see how to do clockwise triangular traversal of a binary tree.
Level Order Traversal of a Binary Tree EASY
In this blog, we are going to learn about the level order traversal of a binary tree. Level Order Traversal of a binary tree is also known as Breadth-First Search.
Morris Traversal MEDIUM
This article discusses the Morris Traversal Inorder which utlizes the temporary links between the nodes to save the memory consumption.
Author Alisha
0 upvotes
Level Order Traversal in Spiral Form MEDIUM
This article explains the problem level order traversal in spiral form with an example. It is the upgraded version of the problem level order traversal.
Level order traversal line by line MEDIUM
In this blog, we have printed elements of a binary tree level by level. We have started from the root (node Level 0 )and traversed to the last level of the tree.
Level order traversal with direction change after every two levels
In this article, we are going to print the level order traversal with direction change after every two levels.
ZigZag Traversal of Binary Tree
The blog discusses in detail about ZigZag traversal of Binary Tree. We'll discuss many approaches to solve the problem and time and space complexity for each method."
Boundary Traversal Of Binary Tree (Recursive and Iterative) MEDIUM
In this blog, we will discuss a new way of traversing a binary tree known as the boundary traversal of a binary tree.
Reverse alternate levels of a perfect binary tree
In this article, we will reverse alternate levels of a perfect binary tree.
Iterative Inorder Traversal of Binary tree MEDIUM
This article discusses the inorder traversal of a Binary Tree in an iterative manner along with the implementation in Java and its complexities.
Author Yogi21
0 upvotes
Morris Traversal Postorder HARD
This article discusses the Morris Traversal Postorder in detail illustrated with examples.
Author Alisha
0 upvotes
Bottom-left to upward-right Traversal in a Binary Tree
This article explains the Bottom-left to upward-right Traversal in a Binary Tree.
Check if given inorder and preorder traversals are valid for any Binary Tree without building the tree HARD
This article contains information on how to check preorder and inorder are valid to make a binary tree without making it.
Construct A Perfect Binary Tree From A Preorder Traversal MEDIUM
This article will discuss the Construct of a perfect binary tree from a preorder traversal and will learn about the preorder traversal.
How to Count the Number of Nodes in a Complete Binary Tree MEDIUM
This blog discusses the different methods to count the total numbers of nodes in a complete binary tree. Read the whole blog for the detailed solution.
Morris Traversal Preorder MEDIUM
This article discusses the Morris Traversal Preorder in detail illustrated with examples. It also covers the major differences between the traditional Preorder and Morris Preorder Traversal.
Author Alisha
0 upvotes
Find n-th node of the inorder traversal EASY
In this blog, we will Find the n-th node of the inorder traversal of a Binary Tree. We will loop and print values in the left, node, and right pattern.
Number of Binary Trees for given Preorder Sequence length
In this blog, we will discuss approaches to find the number of binary trees for a given preorder sequence length. Then we will discuss their algorithms, implementations, and complexities analysis.
Print Right View of A Binary Tree MEDIUM
The set of nodes that are visible to someone standing to the right of any given binary tree is known as the right view.
Top view of a binary tree MEDIUM
In this blog discusses the basic method we can use to print the top view of a binary tree. Read further to know more.
Top View of A Binary Tree | Part-2
This blog discusses the maximum distance-based method to print the top view of a binary tree. Read further to know more
Bottom View of a Binary Tree
In this blog, we discussed the implementation of the bottom view of a binary tree using queue and Hash map. The entire blog is written in C++.
Check if Binary Tree Is BST or Not
This blog will cover the brute force approach to check if a binary tree is BST or not and take you to the efficient approach to solve this problem.
Check for Children Sum Property in a Binary Tree
This article discusses a problem related to the binary tree: Check for Children Sum Property in a Binary Tree in detail.
Check if all leaves are at the same level
This article will brief you on how to approach the problem Check if all leaves are at the same level.
Check if a given binary tree is a subtree of another binary tree or not
In this blog, we will discuss the approach to checking if a given binary tree is a subtree of another binary tree or not.
Check if a Binary Tree has Duplicate Values EASY
In this article, we will discuss a binary tree problem, to check if a binary tree has duplicate values or not by using a hash table approach.
Print Binary Tree in 2D EASY
In this article, we are going to discuss a problem to print binary tree in 2D using a reverse in-order approach to print the binary tree.
Print nodes at k distance from root EASY
In this blog, we will discuss a recursive approach using which we can print all nodes in a binary tree that are at k distance from the root.
Given a Binary Tree, Print All Root-to-Leaf Paths EASY
This blog will cover the problem of printing all the paths from the root node to each leaf node of the given binary tree and its time and space complexities.
Author coldz
0 upvotes
Diameter of Binary Tree
This article will discuss the Diameter of a Binary Tree. We will look at its basic concepts, definitions, algorithms, and implementation in C++.
Author Yogi21
0 upvotes
Morris Traversal for Inorder MEDIUM
This article explains Morris (InOrder) traversal, a tree traversal method that avoids recursion and stacks. It includes a step-by-step algorithm, implementations, and limitations.
Sum of All the Parent Nodes Having Child Node X EASY
In this article, we will discuss how to find the sum of all the parent nodes having child node X.
Sum of all nodes of the given perfect binary tree EASY
This article will demonstrate how to calculate the total sum of all nodes of the given perfect Binary tree.
Find Sum of All Left Leaves in a Given Binary Tree EASY
In this article we are going to discuss a coding problem involving the pre-order approach to Find the sum of all left leaves in a given binary tree
Find the sum of all right leaves in a given Binary Tree EASY
This article will demonstrate how to calculate the total number of right-leaf nodes in a given Binary tree.
Sum of all numbers that are formed from root to leaf paths EASY
This blog will cover a problem where we will calculate the sum of all the numbers which are formed while traversing the root-to-leaf paths of a given binary tree. We will also discuss the time and space complexity of the solution approaches.
Print all Prime Levels of a Binary Tree
This article discusses the problem of how to print all prime levels of a given binary tree.
Exponential Levels of a Binary Tree MEDIUM
In this blog, we will see a variation of the classic level order traversal problem and discuss the exponential levels of a binary tree.
Subtree with given sum in a Binary Tree
In this blog, we will discuss different approaches to find subtree with a given sum in a binary tree. Then we will discuss their algorithms, implementations, and complexities analysis.
Symmetric Binary Tree EASY
In this blog, we will learn about what is a symmetric binary tree and how to check whether a tree is a symmetric binary tree or not.
Depth of a full Binary tree from Preorder
In this article, we will calculate the depth of a full binary tree from preorder.
Construct a Binary Tree from a given Preorder and Inorder traversal
This article will brief you on constructing a binary tree from a given preorder and inorder traversal.
Construct a Binary Tree from a given Postorder and Inorder Traversal MEDIUM
This article is to construct a binary tree from a given postorder and inorder traversal.
Construct a Binary Tree from the given Parent Array Representation
This blog contains different ways to Construct a Binary Tree from a given Parent Array in the C++ programming language.
Replace each node in a binary tree with the sum of its inorder predecessor and successor
This article will discuss the problem of replacing each node in a binary tree with the sum of the node's inorder predecessor and successor.
Replace Every Node of an N-ary Tree with the Sum of all its Subtrees
Every node of a given N-ary tree has to be replaced with the sum of all its subtrees.
Perfect Binary Tree Specific Level Order Traversal
In this article, we are going to print the perfect binary tree specific level order traversal
Construct an Ancestor Matrix from the given Binary Tree EASY
In this blog, we have discussed Binary Tree Question which is simply based on traversal and storing the data into the Matrix.
Diagonal Sum of a Binary Tree EASY
This article will demonstrate how to calculate the diagonal sum of a Binary tree.
Sum of heights of all individual nodes in a binary tree MEDIUM
In this article, we will discuss the problem of the sum of heights of all individual nodes in a binary tree
Sum of subtree depths for every node of a given binary tree MEDIUM
This article will discuss the problem of finding the sum of subtree depths for every node of a given tree
Sum of Distance of All Nodes From a Given Node
This article will discuss the Sum of the distance of all Nodes from a given node problem and various ways to solve this problem, from the brute force approach to the efficient approach.
Find the Sum of Nodes on the Longest Path from the Root to the Leaf Node EASY
In this article, we will discuss a binary tree problem of finding the sum of nodes on the longest path from the root to the leaf node.
Calculate the Dot Product of Ancestors of Two Given Nodes
In this blog, we’ll be solving a tree problem, calculate the dot product of ancestors of two given nodes using Backtracking.
Maximum spiral sum in Binary Tree MEDIUM
In this article, we will discuss the problem of the Maximum spiral sum in Binary Tree.
Maximum average of subtree values in a given Binary Tree
This article covers the implementation of the maximum average of subtree values in a given binary tree with a complete explanation and its C++ code.
Count subtrees that sum up to a given value x only using a single recursive function MEDIUM
In this article, we will discuss Count subtrees that sum up to a given value x only using a single recursive function using a binary tree.
Count Number of Nodes MEDIUM
In this blog we will discuss different approaches to counting the number of nodes in a complete binary tree.
Count of leaf nodes required to be removed at each step to empty a given Binary Tree MEDIUM
In this article, we will discuss the problem to determine the count of leaf nodes required to be removed at each step to empty a given Binary Tree.
Iterative Approach to Check if a Binary Tree is BST or Not
This blog will discuss how we can solve a famous interview question check if a binary tree is BST or not. We will see how we can solve it iteratively.
Find if there is a pair in root to a leaf path with a sum equal to the root's data MEDIUM
In this article, we will discuss the problem of finding a pair in root to a leaf path with a sum equal to the root’s data.
Print all Root-to-Leaf Paths with Maximum Count of Even Nodes
This blog will discuss how we can solve one of the most asked questions based on tree traversals, i.e., Print all root-to-leaf paths with maximum count of even nodes.
Print all root leaf paths with their relative positions MEDIUM
In this article, we will discuss tree data structure in brief, horizontal distances, and how to print all root leaf paths with their relative positions.
Print all full nodes in a Binary Tree EASY
This article will discuss the problem of printing all full nodes in a binary tree.
Print All Leaf Nodes of a Binary Tree from Left to Right MEDIUM
This blog will cover the problem of printing all the leaf nodes of a binary tree in a left-to-right manner and its time and space complexities.
Author coldz
0 upvotes
Print Levels of all Nodes in a Binary Tree MEDIUM
In this blog, we will discuss an approach using which we can print levels of all nodes in a binary tree.
Author Harsh
0 upvotes
Print middle level of perfect binary tree without finding height MEDIUM
In this article, we will discuss perfect binary tree data structure in brief and how to print middle level of perfect binary tree without finding height.
Print all nodes that are at distance k from a leaf node MEDIUM
In this blog, we will discuss a coding problem in which we have to print all the nodes that are K distance away from a leaf node.
Author Harsh
0 upvotes
Print all nodes that don’t have sibling MEDIUM
In this blog, we will discuss a coding problem in which we have to print all the nodes that don’t have siblings.
Print Ancestors of a Given Node MEDIUM
This article will discuss finding the ancestor of a given node in a binary tree; we will see some programs to find the ancestor of a given node in a binary tree in different languages.
Print longest leaf to leaf paths in a binary tree MEDIUM
In this article, we will discuss binary tree data structure in brief, the diameter of a tree, and how to print the longest leaf to leaf paths in a binary tree.
Count Nodes having the Highest Value in the Path from the Root to itself in a Binary Tree
This blog covers problem counting nodes having the highest value in the path from the root to itself in the Binary Tree.
Author Jay
0 upvotes
Check if the leaf traversal of two Binary Trees is same? MEDIUM
In this article, we will discuss the problem of checking the leaf traversal of two Binary Trees.
Check if a binary tree contains node values are in strictly increasing and decreasing order at even and odd levels EASY
In this article, we will discuss how to check if a binary tree contains node values in strictly increasing and decreasing order at even and odd levels
Maximum Level Sum in N-ary Tree
This article will discuss the problem "Maximum Level Sum in N-ary Tree", the solution approach for this problem, its C++ implementation, and its time and space complexity.
Author Riya
1 upvote
Number of siblings of a given Node in n-ary Tree MEDIUM
This article will brief you on how to find the number of siblings of a given Node in n-ary Tree
Kth ancestor of a node in a binary tree MEDIUM
In this article, we will discuss how to find the kth ancestor of a node in a binary tree, in detail.
Print all K-sum levels in a Binary Tree EASY
This article explains the solution to the problem to print all K-sum levels in a binary tree.
Palindromic Levels Of a Binary Tree
In this blog, we will see a variation of the classic level order traversal problem and discuss the palindromic levels of a binary tree.
Convert the Given binary Tree into a Symmetric Tree by adding a minimum number of nodes
This article will discuss the problem of converting the given binary tree into a symmetric tree by adding a minimum number of nodes.
Convert an arbitrary Binary Tree to one that holds the Children Sum Property in its nodes
In this blog, we have discussed a question based on Binary Tree that includes an essential concept from the topic, which we will explore through the explanation and the solutions and algorithms with their program implementations.
Convert a given tree to its Sum Tree MEDIUM
In this blog, we discuss the problem of converting a given binary tree to its corresponding sum tree.
Check Whether a Binary Tree is Full Binary Tree or Not. EASY
In this Blog, we will have some discussion on how to check whether a Binary Tree is a Full Binary Tree.
Check if two trees are mirror EASY
In this article, we will discuss an interesting problem: we are given the root of two binary trees, and we need to check if one tree is a mirror of the other tree.
Check if two nodes are cousins in a Binary Tree. MEDIUM
In this Blog, we will have some discussion on how to check whether two nodes are cousins in a Binary Tree.
Check if Two Binary Trees are Identical
This blog will give you detailed explanation and implementation of the approach to Check if Two Binary Trees are Identical.
Check if a given Binary Tree is SumTree
n this blog, we will discuss different approaches to find if a given binary tree is a SumTree or not. Then we will discuss the algorithms and complexities analysis for each of the approaches.
Maximum Level Sum in Binary Tree
This blog demonstrates how to solve the problem of maximum level sum in Binary Tree.
Check Sum of Covered and Uncovered nodes of Binary Tree
In this blog, we will discuss different approaches to check the sum of the covered nodes and the uncovered nodes of a given binary tree. Then we will discuss the algorithms and complexities analysis for each of the approaches.
Print Cousins of A Given Node in a Binary Tree
This blog discusses the idea, code implementation of Print Cousins of a given node in a Binary Tree.
The Maximum Cost of Splitting Binary Tree into Two Halves HARD
In this blog, we will learn to solve a problem based on a Binary tree. After splitting the binary tree into two halves, we will find its maximum cost.
Smallest Subtree with all the Deepest Nodes
In this article, we will learn how to find the root of the smallest subtree with all the deepest nodes
Check if all the Nodes in a Binary Tree having Common Values are at most D Distance Apart MEDIUM
In this blog, we will learn to check if all the nodes in a Binary Tree having common values are at most D distance apart.
Find Maximum GCD Value from Root to Leaf in a Binary Tree
In this article, we will learn how to find the maximum GCD value from root to leaf in a binary tree
Creating a Binary Tree From Inorder And LevalOrder Traversal MEDIUM
This blog contains different ways to Construct a Binary Tree from a given Parent Array in the C++ programming language.
Construct the Full K-ary Tree from its Preorder Traversal MEDIUM
The aim is to construct the same k-ary tree and output the post-order traversal from it. In this blog, we will discuss the question which is based on the Tree and includes an important concept from the topic.
Find K Smallest Leaf Nodes from a given Binary Tree
In this blog, we will discuss finding the K smallest leaf nodes from a given Binary Tree. Read further to learn the solution in detail.
Minimize the Sum of Node Values by filling a given empty Tree such that each node is GCD of its children EASY
This article will discuss how to fill the given empty Tree with nodes that are GCD of their offspring to minimize the total of node values.
Author akscrv
0 upvotes
Minimum Value to be Added at every Binary Tree Level to make the Sum at all Levels Equal EASY
In this article, we will learn to calculate the minimum value needed to be added at every level in a binary tree to equal the sum at all levels with its C++ code.
Author Spider
0 upvotes
How to Remove Subtrees Containing Zeroes in a Binary Tree
In this blog, we will discuss how we can remove subtrees containing zeroes in a binary tree. Please read the blog to learn it in detail.
Change a Binary Tree so that every node stores sum of all nodes in left subtree
This blog discusses the approach to convert a binary tree so that every node stores the sum of all nodes in the left subtree.
Check Whether Every Node of the Binary Tree has a Value K on itself or its any Immediate Neighbours MEDIUM
This blog will discuss how to check that every node of the binary tree has a value K on itself or any of its neighbors.
Check if a Binary Tree Contains Duplicate Subtrees of Size 2 or More HARD
In this article, we are going to discuss a binary tree problem, to check if a binary tree contains duplicate subtrees of size 2 or more by using a tree serialization and hashing approach.
Maximum Absolute Difference between any Two Levels of Binary Tree
In this article, we will discuss the problem to find the maximum absolute difference between any two levels of binary tree
How to Find the Maximum Value of Bitwise AND from Root to Leaf in a Binary tree?
This article covers the implementation of the maximum value of Bitwise AND from root to leaf node.
Author Spider
0 upvotes
Print the Longest Path from the Root to Leaf in a Binary Tree
This article covers the implementation of the longest path from the root to leaf in a Binary tree with a complete explanation and its C++ code.
Print the node values at odd levels of a Binary tree MEDIUM
This blog will discuss the problem of printing the nodes at odd levels of a binary tree.
Sum of Leaf Node at each Horizontal Level of Binary Tree
In this blog, we will find the sum of leaf nodes at every horizontal level of the Binary Tree.
Author Yogi21
0 upvotes
Check if a Binary Tree is an Even-Odd Tree or Not MEDIUM
This article covers checking whether a binary tree is an even-odd tree.
Difference between Sums of Odd Level and Even Level Nodes of a Binary Tree
This article covers the question: Difference between Sums of Odd Level and Even Level Nodes of a Binary Tree in detail.
Print Alternate Nodes from all Levels of a Binary Tree
This article will discuss the solution of the problem “Print alternate nodes from all levels of a Binary Tree” along with the discussion on time complexity and space complexity for the solution
Print path from root to a given node in a binary tree
This blog will give you detailed explanation and implementation of the approach to Print path from root to a given node in a binary tree.
Find the Maximum Path Sum Between Two Leaves of A Binary Tree
In this blog, we will discuss a quite popular interview problem: finding the maximum path sum between two leaves of a binary tree. Here we will discuss two approaches for solving this problem.
Find Distance Between two Nodes of a Binary Tree
The blog discusses how to "find the distance between two nodes of a Binary Tree." We'll discuss an approach to solve the problem, time and space complexity.
Mirror Tree from the given Binary Tree
In this article, we will create a mirror tree from the given binary tree. This is a common tree question that can be solved with the recursive algorithm.
Maximum Width of a Binary Tree MEDIUM
The maximum width of a binary tree is the count of nodes without children. It represents the minimum nodes that must be traversed before needing to decide on the next node to visit.
Author Alisha
2 upvotes
Find the Increasing subsequence of length three with maximum product
In this article, we will understand how to find the Increasing subsequence of length three with maximum product in a given array.
Find the Sum of nodes at maximum depth of a Binary Tree
In this blog, we will discuss different approaches to find the sum of the leaf nodes at the maximum depth of a given binary tree. Then we will discuss the algorithms and complexities analysis for approach.
Clone a Binary Tree with Random Pointers
In this blog, we will solve the problem of Cloning a binary tree with random pointers with various approaches.
Expression Tree in Data Structure MEDIUM
In this blog, we will discuss the expression tree in data structure. How we can generate an expression tree from a given expression.
Deletion in Threaded Binary Search Tree MEDIUM
In this article, we will discuss the Deletion in the Threaded Binary Search Tree.
Converting Binary Tree to Binary Search Tree MEDIUM
In this article we discuss on the topic name Converting Binary Tree to Binary Search Tree in a detailed manner.
Convert Ternary Expression to a Binary Tree MEDIUM
In this article, we will discuss converting a given Ternary Expression to a Binary Tree. We will also look at the problem statement in detail, followed by its various approaches, code, and complexities.
Check whether the given Preorder, Inorder and Postorder traversals are of the same tree or not EASY
In this blog, we will discuss the approach to check whether the given preorder, inorder and postorder traversals are of the same tree or not.
Given level order traversal of a Binary Tree, check if the Tree is a Min-Heap
This blog discusses the approach to checking whether a binary tree is a min-heap or not.
Sum of Leaf Nodes at Minimum Level
In this blog, we will find the sum of leaf nodes at minimum level in a binary tree.

Binary Search Tree

A binary search tree is a specific type of binary tree that is either empty, or each node in the tree contains a key, and all keys in the left subtree are less (numerically or alphabetically) than the identifier in the root node; all keys in the right subtree are greater than the identifier in the root node and the left and right subtrees are also binary search trees.
Splay Tree in Data Structure MEDIUM
Splay Tree is a self-adjusting binary search tree that uses splaying operation and improves the usage when the recently accessed element is to be reaccessed.
Inbuilt Binary Search in Different Languages EASY
This article will discuss binary search and inbuilt binary search functions in different languages like C++, java.
Author Riya
0 upvotes
Self Balancing Binary Search Trees
In this article, we will be covering an exciting topic Self Balancing Binary Search Trees.
Implementing Forward Iterator in BST
This article will discuss the low-level design of BST iterator which has a lot of functions like returning the current pointer in BST, next pointer in BST, and isend() function, which tells if there is a node present at the right of the current node or not in BST
Implementing Backward Iterator in BST
This article will discuss how to implement a backward iterator in BST, its C++ implementation, and its time and space complexity.
Author Riya
1 upvote
Construct BST from the given Pre-Order Traversal
You are given a pre-order traversal of a BST. Construct the BST using this pre-order traversal array.
Construct a BST from given Postorder Traversal using Stack
This article discusses how to construct a BST from given postorder traversal using Stack.
Construct BST from its given level order traversal MEDIUM
In this blog, we will discuss an interesting DSA problem which involves two crucial topics - Binary Search Trees and Level Order Traversals.
Construct all possible BSTs for keys 1 to N HARD
Binary Search Tree is an important data structure from an interview perspective. In this article, we will learn to construct all possible BSTs for keys 1 to N.
Insertion in Binary Search Tree(BST) EASY
Find how to insert value in binary search tree (BST) in various methods i.e. iterative and recursive methods. Read insertion in binary search tree while inserting a node in bst.
Insert a node in Binary Search Tree Iteratively MEDIUM
In this article, we will discuss the iterative insertion technique of a node in a binary search tree with help of examples along with its implementation in C++.
Deletion in Binary Search Tree (BST) MEDIUM
In this blog, we are going to discuss an important concept i.e., deletion in Binary Search Tree and its implementation in java and c++.
Binary Search Tree | Iterative Delete MEDIUM
In this article, we will discuss the solution to delete a node iteratively in the binary search tree, along with its time complexity and space complexity.
Searching in BST MEDIUM
This article will discuss a coding problem related to binary search trees in which we have to search for key in our binary search tree. We will discuss the space and time complexities of the approach as well
Author Harsh
0 upvotes
Merge two balanced BSTs MEDIUM
This article will explain the coding problem in which we have to merge two balanced BSTs into one Balanced BST.
Author Harsh
0 upvotes
Convert a normal BST to a Balanced BST MEDIUM
This article will discuss a coding problem in which we will be given a normal BST and we have to convert this normal BST to a balanced BST.
Author Harsh
0 upvotes
Merge two BSTs with limited extra space MEDIUM
This blog will explain a coding problem related to BSTs in which we have to merge two BSTs with limited extra space
Author Harsh
0 upvotes
Binary Search Tree to greater sum tree MEDIUM
This blog discusses a Data Structures problem involving Binary Search Trees and reverse inorder traversal - two of the most popular topics in Data Structures and Algorithms.
Lowest Common Ancestor in a Binary Search Tree
This article will brief you on finding the Lowest Common Ancestor in a Binary Search Tree.
Finding Inorder Predecessor of a Node in a Binary Search Tree HARD
In this blog, we’ll see what an inorder predecessor of a node in a binary search tree is and how we can find it using a simple recursive approach.
Inorder Successor in BST (Binary Search Tree) MEDIUM
In this blog, we will learn what an inorder successor of a given key in Binary Search Tree is and how to code it in C++.
Find the second largest element in BST EASY
In this article, we will learn how to find the second largest element in binary search tree using reverse inorder traversal along with the algorithm and implementation.
Find the Largest Number in BST which is Less Than or Equal to N EASY
In this blog, we will find the largest number in BST which is less than or equal to N along with its code, algorithm and example.
Number of Binary Search Trees of Height H Consisting of H+1 Nodes
In this blog, we’ll see how maths can ease our work by solving an exciting problem, the Number of Binary Search Trees of height H consisting of H+1 nodes.
Range Sum of BST MEDIUM
This article discusses the range sum of BST (Binary search tree) with implementations with complexity analysis. Also, see the characteristics and input cases
Check if two BSTs contain the same set of elements or not EASY
In this article, we will see the solution to a problem name Check if two BSTs have the same set of elements or not.
Flatten a Binary Search Tree to Convert the Tree into a Wave List in Place Only
In this blog, we will discuss how we can solve the problem ‘Flatten a Binary Search Tree to convert the tree into a wave list in place only ’ in the most efficient way possible.
Flattening BST in Sorted List
A complete walkthrough of the problem - Flattening BST in Sorted List. This article will discuss the approaches to solve the problem along with the discussion for Space and Time Complexities.
BST into a Min-Heap Without Using Array MEDIUM
This article will discuss a method to convert BST into a min heap. We will use a linked list and level order traversal approach to do the said conversion.
Binary Tree to BST Using an STL Set MEDIUM
This article will discuss the conversion of binary tree to BST using STL set. We will use STL set to do insertion, searching and deletion operation, in order to convert the binary tree to BST.
Implementing Decrease key in Binary Search Tree MEDIUM
A binary tree is a tree data structure having at most 2 children. This article will discuss how to implement decrease key in the binary search tree.
Row with the Maximum Number of 1’s MEDIUM
This article covers different approaches and implementations of the problem row with the maximum number of 1’s in C++.
Author Spider
0 upvotes
Sum of all Nodes with Smaller Values at a Distance ‘K’ from the given Node in BST
In this blog, we will learn to solve a problem based on a Binary search tree.
Median of All Nodes from a Given Range in a BST
In this blog, we’ll be solving a tree traversal problem, the median of all nodes from a given range in a BST.
Print all the Even Nodes of a Binary Search Tree
This article covers the approach of printing all the even nodes of a Binary search tree and its code in C++.
Author Spider
0 upvotes
Check if the given sorted sub-sequence exists in BST MEDIUM
In this blog, we will check if the given sorted sub-sequence exists in BST.
Node with the Maximum Value in a Binary Search Tree
This article covers the implementation of finding the node with maximum value in a binary search tree with an explanation and its C++ code.
Author Spider
0 upvotes
Sum and the Product of Minimum and Maximum Elements of a Binary Search Tree
This article covers the approach and implementation of finding the sum and the product of a Binary search tree’s minimum and maximum elements with its C++ code.
Author Spider
0 upvotes
Find if a given Array can Represent Preorder Traversal of BST MEDIUM
This article incorporates information about how to find whether a given array can represent a preorder traversal of BST or not.
Find if the given array of size n can represent BST of n levels or not MEDIUM
In this article, we will solve a famous question on the BST: Find if the given array of size n can represent BST of n levels or not. This famous BST question has been asked in many interviews.
Find Closest Smaller Value For Every Element In Array MEDIUM
This article will discuss to find the closest smaller value for every element in the array and various ways to solve this problem along with the time and space complexity.
Find Closest Value For Every Element In Array MEDIUM
This article will discuss the find the closest value for every element in the array problem and various ways to solve this problem.
Find the Maximum Unique Element in Every Subarray of Size K HARD
This article discusses the problem of finding the maximum unique element in every subarray of size k, its solution approaches, its implementation, and time complexity.
Largest BST subtree in the given Binary Tree
This blog will cover the question of finding the Largest BST subtree in the given Binary Tree and optimizing the approach from O(N *N) to O(N).
Count BST Nodes that Lie in a given Range MEDIUM
This blog covers counting BST nodes that lie in a given range and covers the basic concepts, code and algorithm of binary search trees.
Count of Smaller Numbers After Self
This blog will discuss the problem named Count of Smaller Numbers After Self.
Convert a Binary Tree to BST by Left-Shifting digits of Node Values MEDIUM
We will discuss the problem “Convert a Binary Tree to BST by Left-Shifting digits of Node Values”,its solution, C++ implementation, and its complexities.
Print nodes of a Binary Search Tree in Top Level Order and Reversed Bottom Level Order Alternately
You are given a Binary Search Tree (BST) where you have to print the nodes from the 1st level, then Nth level (in reverse order), 2nd level, (N-1)th level, and so on.
Count Permutations of the given Array that Generates the Same Binary Search Tree (BST) MEDIUM
This article will discuss the solution to count permutations of the given array that generate the same Binary search tree, with it's time and space complexity.
Traverse a BST in a Min-Max Manner
You are given a Binary Search Tree (BST). You have to traverse the tree in a min-max manner, i.e., first, travel the minimum of the tree, then maximum and then 2nd minimum, 2nd maximum, and so on.
Count the Number of Binary Search Trees present in a Binary Tree MEDIUM
This blog will discuss the problem named Count the Number of Binary Search Trees present in a Binary Tree.
Check if a Triplet with given Sum Exists in BST MEDIUM
This article uses examples and explanations to check whether a triplet with the given sum exists in BST.
Check if each internal node of a BST has exactly one child MEDIUM
This article incorporates how to check if each internal node of a BST has exactly one child.
Minimum swap required to convert binary tree to binary search tree
In this article, we will discuss a very interesting problem: we have to calculate the minimum number of swaps required to convert the given binary tree into the binary search tree
Implementing a BST Where Every Node Stores the Maximum Number of Nodes in the Path till any Leaf
In this blog, we will discuss an interesting tree problem: Implementing a binary search tree where every node stores the maximum number of nodes in the path till any leaf. We will also discuss the time and space complexity of the approaches covered.
Find the Preorder Successor of all the Nodes in a BST
You are given a Binary Search Tree (BST), and you have to find the pre-order successor of all the nodes.
Check If the Two Binary Search Trees are Identical or Not
This article discusses the problem of checking Whether the Two Binary Search Trees are Identical or Not
Split a BST into two balanced BSTs based on a value V
This article will discuss the solution of the problem statement “Split a BST into two balanced BSTs based on a value V” along with solution this blog will also discuss the time and space complexity for the solution
Remove BST nodes having a value in the given range.
In this article, we will discuss the problem to remove BST nodes having a value in the given range.
K’th Smallest Element in BST HARD
In this blog, we have discussed a problem statement based on a binary search tree called K’th smallest element in BST.
Convert a Binary Search Tree into a Skewed tree in increasing or decreasing order
This blog will discuss a tree problem: “Convert a Binary Search Tree into a Skewed tree in increasing or decreasing order”. We will also analyse the time and space complexity of all the approaches discussed.
Check if two given key sequences construct the same BSTs MEDIUM
This article discusses the problem and the solution for checking if two given sequences contain the same binary search tree.
Check for Identical BSTs Without Building the Trees HARD
In this blog, we have discussed a problem statement based on a binary search tree called Check for identical BSTs without building the trees.
Number of BSTs
Learn to find the unique BSTs possible for a given number ‘N’. Learn the application of Catalan numbers.
Reverse a path in BST using queue
In this blog, we will discuss different approaches to reverse a path in a binary search tree using a queue. Then we will discuss their algorithms, implementations, and complexities analysis.
Node with minimum value in a BST MEDIUM
This blog will discuss a coding problem in which we have to find the node with the minimum value in BST. We will discuss the space and time complexities of the approach as well.
Author Harsh
0 upvotes
BST to a Tree with sum of all smaller keys MEDIUM
This article will discuss a coding problem in which we have to convert a given BST into a Tree under a condition.
Author Harsh
0 upvotes
Count the number of Nodes having Special Two-digit Numbers in BST HARD
In this article, we will discuss the code for finding the count of the nodes having special two-digit numbers in BST. We will be discussing the implementation in C++, Java and Python.
Calculate the Shortest Distance Between Two Nodes in BST MEDIUM
In this article, we will solve a famous question on the BST: Calculate the shortest distance between two nodes in BST. It is a famous interview question and has been asked in many interviews.
Remove BST Keys Outside the Given Range MEDIUM
We will solve the problem to remove BST keys outside the given range by using the divide and traverse technique.
Print BST Keys in the Given Valid Range MEDIUM
This article will discuss the problem to print BST keys in the given valid range. This article will discuss two approaches to solving this problem: inorder traversal and the Morris Traversal approach.
Replace every element with the least greater element on its right HARD
In this article, we will discuss binary search tree data structure in brief, and learn how to replace every element with the least greater element on its right with examples, approach, time, and space complexity.
Remove All Leaf Nodes from BST MEDIUM
In this blog, we will discuss the topic "Remove all leaf nodes from BST," including the sample examples, problem statement, approach, algorithm, implementation, and time and space complexity.
Find if there is a Triplet in a Balanced BST that Adds to 0 MEDIUM
This article will discuss the problem of "Find If There is a Triplet in a Balanced BST that Adds to 0. We will look at examples, algorithms, and implementation of problems.
Print the sum of k smallest elements in BST MEDIUM
In this blog, we will discuss the topic "Print the sum of k smallest elements in BST," including the examples, problem statement, approaches, algorithm, and implementation.
Count Pairs From Two BSTs Whose Sum is Equal to a Given Value MEDIUM
In this article, we will solve a famous question on the BST: Count pairs from two BSTs whose sum is equal to a given value. It is a famous interview question and has been asked in many interviews.
Pair with given sum in Balanced BST MEDIUM
In this article, we will discuss the problem pair with a given sum in Balanced Binary Search Tree. We will look at examples, algorithms, and implementation of problems.
Pair with given sum in BST MEDIUM
In this article, we will discuss the problem pair with a given sum in Binary Search Tree. We will look at examples, algorithms, and implementation of problems.
K-th smallest element in BST MEDIUM
Binary Search Tree is an extremely useful data structure in practical applications. In this article, we will find the K-th smallest element in the BST.
Floor and Ceil in a Binary Search Tree MEDIUM
In this article, we will briefly learn about binary search tree. We will also discuss how to find the floor and ceil in a binary search tree, in detail using examples.
Pairs with a given sum such that Pair Elements lie in different BSTs MEDIUM
In this article, we will discuss the problem pair with a given sum such that pair elements lie in different Binary Search Trees (BSTs). We will look at examples, algorithms, and implementation of problems.
Binary Search Tree Insertion with a Parent Pointer MEDIUM
We will solve the binary search tree insertion problem with a parent pointer using an in-order traversal and insertion approach.
Rank of an Element in a Stream EASY
We will find the rank of an element in a stream by using two approaches. The first is by linear traversal, and the second is by sorting and doing a binary search.
Given N Appointments, find all Conflicting Appointments MEDIUM
This article will discuss a coding problem in which we will be given a list of appointments and we have to find all of the conflicting appointments.
Author Harsh
0 upvotes
Common Nodes in Two Binary Search Trees MEDIUM
In this article, we will discuss a coding problem in which we have to find the common elements between two different Binary Search Trees
Handling duplicates in BST EASY
This article will discuss how to handle duplicates in a Binary search tree and will see its implementation in C++.
Author Harsh
0 upvotes

AVL Tree

An AVL tree is a self-balancing binary search tree. It is named after its inventors Adelson-Velsky and Landis who were the first to propose the concept of dynamically balanced trees. In an AVL tree, the heights of the left and right subtrees of any node differ by at most one. Rebalancing is done whenever the height-balanced property is violated. Since it is height-balanced, the time complexities of all the operations are search, insertion or deletion is O(log n) in both the average and worst cases.  
AVL Tree Data Structure EASY
This article discusses the introduction to AVL trees, their advantages, representation, properties and various operations performed on them.
Insertion in AVL Trees
This article discusses AVL trees as special cases of balanced binary search trees where insertion and deletion operations take place in O(log n) time.
Deletion in AVL Tree MEDIUM
Deletion in an AVL tree is a bit more complex than deletion in a regular binary search tree (BST) because the AVL tree must maintain its balance after every deletion. Here’s a detailed explanation of the steps involved in deleting a node from an AVL tree
How to Insert Strings into an AVL Tree EASY
This blog briefly discusses the concepts of AVL trees and explores in detail how to insert a string in an AVL tree.
Insertion, Searching, and Deletion in AVL trees containing a parent node pointer
This article discusses the method to do operations like insertion, searching and deletion in an AVL tree containing a parent node pointer.
Convert Sorted Array to Balanced BST
In this blog, we will learn how to build a binary search tree from a sorted array. Since the sorted array contains elements in sorted order, it becomes pretty easy to construct Balanced BST from it.
Find the closest greater value for every element in the array
This blog discussed finding the closest greater value for every element in the array. Read the blog to learn these methods in detail
AVL Tree using graphics in C++
In this article, we will learn how to implement AVL trees using graphics in C++.
AVL With Duplicate Keys
We will solve a question on a topic related to AVL duplicate key.
Count Inversions in An Array MEDIUM
In this article, we will solve a famous question on the array: count inversions in an array, which is asked in many interviews.

Heap and Priority Queue

They are the built-in form of a tree, which stores all the elements in a particular order. There are majorly two types of Heaps or priority queues that came into action: Min-Heap: Elements are stored in such a way that the minimum element will always be on the top. Max-Heap: Elements are stored in such a way that the maximum element will always be on the top. The time complexity of push and pop operations in heaps and priority queues is O(log(N)) and it requires O(N) space.
Priority Queue using Java EASY
In this blog, we will discuss the priority queue using java and will look at its implementation and its mechanisms.
Double Ended Priority Queue EASY
In this blog, we will implement a data structure “Double-ended priority queue” from scratch using multiset in C++.
Binary Heap EASY
This blog discusses the concept and implementation of the binary heap data structure. We will also see the applications of binary heaps in some well known algorithms and library implementations.
Tournament Tree (Winner Tree) and Binary Heap MEDIUM
In this blog post, we’ll see what Tournament Trees (Selection Trees) are and why we use these in data structures.
What is Java heap memory ? EASY
Understanding how the heap works can help you write more efficient Java programs and avoid common memory-related issues.
Binary Heap Implementation EASY
This article discusses binary heap implementation with its types i.e min heap and max heap, representations, operations, applications, and codes.
Binomial Heap HARD
A binomial heap is a data structure that implements a priority queue. It is made up of a collection of binomial trees, which are defined recursively
Fibonacci Heap EASY
The blog covers information about the Fibonacci heap. The blog also covers information about types of Heap.
Leftist Heap EASY
In this article, we will discuss what is a leftist heap. We will also see the C++ implementation and time complexity of its various operations.
N-ary Heap EASY
This article will discuss the n-ary heap in detail.
Priority Queue Implementation using Linked List EASY
Learn priority queue implementation with real-life examples and easy-to-understand code. Application of linked list and OOPS concepts are served as a side dish.
Introduction to Min-Heap EASY
In this blog, we will learn about the Introduction to Min-Heap. We will write code in different languages for better understanding.
Priority Queue Using Doubly Linked List MEDIUM
This article will discuss the implementation of a priority queue using a doubly-linked list and C++ code for implementing the priority queue and the functions related to it using a doubly-linked list.
Author Riya
0 upvotes
Priority queue in C++ EASY
Priority queue in C++ is a type of container adaptor that provides constant time access to the largest (or smallest) element, based on a comparison function.
Max Heap in C++ EASY
In this article, we'll discuss what max heaps are and how they work, as well as see examples of implementing them in C++.
Priority Queue Using a Linked List MEDIUM
This article discusses the concept of implementation of Priority Queue using a Linked List.
Converting a BST to Min Heap MEDIUM
In this blog, we’ll learn how to convert a given Binary Search Tree to a Min Heap.
Max Heap in Java MEDIUM
In this article, we will learn what a max heap in java is, how to implement it in Java, and why it’s useful.
N Max Pair Combinations MEDIUM
In this blog post, we’ll learn an interesting problem pair sum related to arrays and heaps.
Connect N Ropes MEDIUM
In this article, we will discuss the problem of Connect N Ropes along with its solution approach and implementation in C++.
Median of Stream of Integers Problem
In this problem, our objective would be to print the effective median of a stream of integers after every incoming element.
Find the K Closest Points to Origin using Priority Queue MEDIUM
In this article, we will discuss the problem find the K closest points to origin using priority queue.
Print All Nodes less than a value X in a Min-Heap MEDIUM
In this blog, we will discuss a coding problem that involves printing all the elements smaller than a given value in a given min-heap and the time and space complexities of the operation
Author coldz
0 upvotes
Check if a Given Array Represents a Binary Heap MEDIUM
In this blog, we will discuss a coding problem that requires checking if a given array represents a binary heap or not.
Author coldz
0 upvotes
Minimum Difference Between Maximum and Minimum Value of Array with Given Operations MEDIUM
This blog will discuss the problem to find the Minimum Difference Between the Maximum and Minimum Value of an Array with Given Operations and its implementation in C++, Java, and Python.
Trapping Rain Water in a Matrix
In this blog, we will understand the concept behind trapping rainwater in a matrix and solve this problem and ints implementation in Java
Heap Sort for Decreasing Order Using Min-Heap MEDIUM
In this blog, we will discuss a coding problem that involves sorting a given array in decreasing order using a min-heap
Author coldz
0 upvotes
Merge K Sorted Arrays MEDIUM
This blog will cover the brute force approach to solve the problem “Merge K sorted Arrays” and take you to the efficient method to solve this problem.
Merge Two Sorted Arrays Using a Priority Queue MEDIUM
In this article, we will discuss the problem merge two sorted arrays using a priority queue along with its implementation and complexities.
K-th Smallest Element in the Unsorted Array using a Priority Queue MEDIUM
This blog discusses the to find K-th smallest element in the unsorted array by using a Priority queue. Read the whole blog for the detailed solution.
Last Element Remaining by Deleting the Two Largest Elements and Replacing them with Their Absolute Difference If They are Unequal MEDIUM
In this blog, we will discuss a famous priority queue question, i.e., the last element remaining by deleting the two largest elements and replacing them with their absolute difference if they are unequal.
Reduce the Array to at Most one Element by the Given Operation
In this blog, we'll use sorting and a priority queue (max heap) to solve an interesting problem, reduce the array to at most one element by the given operation.
K Closest Points To Origin
In this article, we will learn how to solve the K Closest Points To Origin problem and an approach to its solution along with its implementation in C++
Rearranging String
This blog will cover the different approaches to the problem of rearranging strings with an explanation and its C++ code.
Author Spider
0 upvotes
Process Tasks Using Servers
In this blog, we will discuss one of the famous questions on Leetcode and an important question from the interview perspective, i.e., Process Tasks Using Servers.

HashMap

A HashMap is a data structure that can map specific keys to certain values. The keys and values could be anything. Hashmaps can retrieve data faster than arrays and linked lists. A hashmap can check the presence of a particular key in O(1) time.
Index Mapping
Index mapping is the most widely used hashing technique. This blog will discuss the concept of index mapping as well as its implementation.
Double Hashing MEDIUM
The following blog discusses double hashing along with its advantages and limitations of its implementation in C++.
Rehashing in Data Structure MEDIUM
Hashing is one of the favorite topics of interviewers when it comes to coding interviews, and in this blog, we will see the most frequently asked topic from hashing, i.e., load factor and rehashing.
Hash Table in C++ MEDIUM
In this article, we will discuss what hash tables are, how they work, some examples of hash functions, handling collisions, and analyzing the time and space complexity of hash table operations.
Java Hashmap getordefault() Method EASY
In this article, we will discuss its syntax, parameters, and return value, with examples.
Hashing in Data Structure
In this blog, we will discuss the fundamentals of hashing and how it helps make our operations fast.
Difference Between Static Hashing and Dynamic Hashing EASY
In this article, we'll look at different ways to do hashing, what they're good for, their advantages, and their disadvantages. We'll also compare how these methods differ from each other.
Cuckoo Hashing MEDIUM
In this blog, we will learn about Cuckoo Hashing which helps to achieve constant time worst-case complexity for lookups.
Hashing in Java EASY
In this article, we'll discuss the fundamentals of hashing in Java, its implementation using different classes & its benefits.
Difference between HashMap and HashTable EASY
In this article, we will discuss Difference Between HashMap and HashTable both data structures in Java for key-value pairs.
HashMap in Java EASY
Operator overloading in C# allows you to define or modify how operators like +, -, *, etc., behave for user-defined types (e.g., classes or structs).
Difference Between HashSet and TreeSet MEDIUM
A HashSet in Java implements the Set interface and is supported by a HashMap, whereas a TreeSet implements sorted sets and is backed by a TreeMap.
Difference between HashMap and LinkedHashMap in Java EASY
HashMap is a data structure that stores items using "key-value" pairs. LinkedHashMap inherits the functionality of the HashMap class since it is a subclass.
Author Shiva
0 upvotes
Separate Chaining and Open Addressing for Collision Handling
Learn about the various Collision Handling mechanisms used in hashing techniques with interesting explanations and fun examples.
Binary Subarrays with Sum MEDIUM
In this blog, we will discuss a Leetcode Medium problem namely, Binary subarrays with sum along with its implementation in C++ language.
LRU Cache Implementation EASY
An LRU (Least Recently Used) cache stores a fixed number of items and removes the least recently accessed item when the cache reaches capacity.
Asteroid Collision MEDIUM
In this blog, we will discuss an interview question called Asteroid Collision with its approach and algorithm in detail.
Set Interface in Java EASY
In this article, we will discuss the Set interface in Java, its methods, and how to create Set objects & perform various operations on them.
Reduce Array Size to The Half MEDIUM
The blog discusses in detail the Reduce Array Size to the Half Problem. We’ll discuss some approaches to solve the problem and the time and space complexity for each method.
Check if there is a subarray with 0 sum EASY
This article will help you solve the famous interview question ‘Check if there is a subarray with 0 sum’
Author akscrv
0 upvotes
Check for palindrome after every character replacement query EASY
This article will help you solve the famous interview question, "Check for palindrome after every character replacement query".
Author akscrv
0 upvotes
Sum of all Unique Sub-array Sum for a Given Array MEDIUM
In this blog, we will discuss the problem of finding sum of all unique sub-array sum for a given array.
Count of Subarrays with Equal Number of 1’s and 0’s MEDIUM
In this blog, we will learn a programming question based on hashing and subarray along with its time and space complexity.
Elements to be added such that all elements of a range are present in an array EASY
In this article, we will discuss the solution for the given problem which is Elements to be added so that all the elements of a range are present.
Longest Subarray Having Count of 1’s One More Than Count of 0’s MEDIUM
In this blog, we will learn a programming question based on hashing and subarray, along with its time and space complexity.
Subarrays with same Even and Odd elements
In this blog, we are going to discuss a coding problem in which we have to print the count of even-odd subarrays in an array.
Author Harsh
0 upvotes
Count all Subarrays having Sum Divisible by K
In this blog, we will be discussing a coding problem in which we have to print the total count of all the sub-arrays that have a sum divisible by K.
Author Harsh
0 upvotes
Minimum Index Sum for the Common Elements of Two Lists MEDIUM
In this article, we will discuss the Minimum Index Sum for Common Elements of Two Lists problem, including the algorithm and the implementation using hashmap in different languages.
The Maximum possible difference of the sum of two subsets of an array MEDIUM
In this blog, we have discussed a question based on subsets of arrays that includes an essential concept from the topic, which we will explore through the explanation and the solutions and algorithms.
Difference Between Concurrent Hashmap Vs Synchronized Hashmap MEDIUM
This article incorporates information about the difference between concurrent hashmap and synchronized hashmap.
Maximum Difference Between the First and Last Indexes of an Element in an Array MEDIUM
In this blog, we will learn a programming question based on hashing, along with its time and space complexity.
Maximum distance between two occurrences of same element in array EASY
In this article, we will see the solution Maximum distance between two occurrences of same element in array.
Maximum Consecutive Numbers present in an Array EASY
In this blog, we will discuss the approach using which we can find the count of maximum consecutive numbers present in an array.
Find number of pairs in an array such that their XOR is 0 EASY
In this article, we will find number of pairs in an array such that their XOR is 0.
Find the Highest Frequency of Non-Negative Powers that are the Same as Indices of Elements in the given Array MEDIUM
In this article, we will learn how to find the frequency of the power which occurs highest times if we write the number present at an index of an array as some power of that index.
Check if array contains contiguous integers with duplicates allowed
In this article, we will check if array contains contiguous integers with duplicates allowed.
Sum of f(a[i], a[j]) over all pairs in an array of n integers
In this article, we will find the sum of f(a[i], a[j]) over all pairs in an array of n integers.
Second most repeated word in a sequence MEDIUM
We will discuss the problem statement to find the second most repeated word in a sequence using the hashing method, including the algorithm, code, and complexities in this blog.
Distribute items such that a person cannot take more than two items of the same type
This article gives you an in-depth solution to the question Distribute items such that a person cannot take more than two items of the same type.
Distribute the Maximum Number of Chocolates Amongst X Students HARD
In this blog, we will learn how to solve the problem to distribute the maximum number of chocolates amongst X students via Hashing method.
Difference between highest and least frequencies in an array MEDIUM
In this blog, we have discussed a question based on tracking the counts of the frequencies of the different elements in an array that includes an essential concept from the topic, which we will explore through the explanation and the solutions and algorithms.
Count subsets having distinct even numbers
We will discuss how to solve a question related to subset and array.
The K Weakest Rows in a Matrix
The following article discusses the problem 'The K Weakest Rows in a Matrix' along with its solution and its implementation.
Length of the largest subarray with 0 sum
We will discuss how to solve a question related to the subarray sum.
Find All Pairs (a, b) In An Array Such That a % b = k MEDIUM
In this blog, we will discuss the problem statement to find all pairs (a, b) in an array such that a % b = k using hashing method, including the algorithm, code, and its complexities.
Convert an array to reduced form(using hashtable) EASY
This article incorporates the implementation of converting an array into a reduced form using the hashtable.
Longest Subarray not having more than K Distinct Elements MEDIUM
This article will discuss the problem of finding the longest subarray not having more than K Distinct Elements. We will also discuss the implementation and complexities of the solution to the problem.
Find four elements that sum to a given value MEDIUM
This article will help you solve the famous interview question, "Find four elements that sum to a given value".
Author akscrv
0 upvotes
Find all permuted rows of a given row in a matrix EASY
This article incorporates the implementation of finding all permuted rows of a given row in a matrix with the help of a hashset.
Most frequent element in an array EASY
This article discusses a program  to find the element that occurs the most frequently in the n-element size array Arry[].
Kth Distinct String in an Array EASY
In this blog, we will discuss one of the beginner-level problems asked on the topic of Hashmap, i.e., Kth Distinct String in an Array
Check if an Array can be Divided into Pairs Whose Sum is Divisible by K MEDIUM
In this blog, we discuss how to check if an array can be divided into pairs whose sum is divisible by k, its algorithm, and implementation using a hashmap.
Check if a given array contains duplicate elements within k distance from each other EASY
In this article, we will see the solution to an array problem that Check if a given array contains duplicate elements within k distance from each other.
Find Three Element from Different Three Arrays such that A + B + C = Sum MEDIUM
In this blog, we discuss how to find three elements from different three arrays such that a + b + c = sum, its algorithm and implementation using a hashmap.
Find Pairs of Positive and Negative Values Present in a Given Array MEDIUM
In this article, we will solve a very common problem to find pairs of positive and negative values present in a given array.
Find pair with greatest product in array MEDIUM
This article incorporates the implementation of the problem Find Pair with greatest product in array using hashing.
Author Alisha
0 upvotes
First element occurring k times in an array EASY
This article incorporates the implementation of finding the first element that occurs k times in an array with the help of a hashmap
Non-overlapping sum of two sets EASY
We will discuss how to solve a question related to the hashing, called the non-overlapping sum of two sets.
Author Shiva
0 upvotes
Numbers with prime frequencies greater than or equal to k EASY
In this article we will see how to solve ”Numbers with Prime frequencies greater than or equal to k.” with the help of its example, algorithm, explanation, code implementation and complexity analysis.
Minimum Number of Distinct Elements after Removing M items MEDIUM
In this blog, we will discuss the hashmap approach using which we can print the minimum number of distinct elements after removing m items.
Check If Two Given Sets Are Disjoint EASY
We will discuss one of the basic questions related to the DSU, which is How to check if two given sets are disjoint.
Author Shiva
0 upvotes
Check if Two Arrays are Equal or Not EASY
This blog will cover the problem statement to check if two arrays are equal or not. We will be discussing the algorithm, implementation and time and space complexity.
Count maximum points on same line HARD
In this article, we will see the solution to an array problem Count maximum points on same line.
Count pairs with given sum EASY
This article incorporates how to count pairs with a given sum.
Count pairs whose products exist in array EASY
This article incorporates how to count pairs whose products exist in an array.
Count Items Common to Both the Lists But With Different Prices EASY
Meta Description: This article incorporates a detailed discussion on the problem Count items common to both the lists but with different prices along with implementation in different languages.
Author Alisha
0 upvotes
Find All Duplicates in an Array
This article will brief you on the problem of finding all duplicates in an array
Find Number of Employees Under Every Manager HARD
This blog is about “ find number of employees under every manager” problem, which can be solved using hashing techniques. In this article we will learn about how to solve this question with their examples and algorithms. We will also see the implementation of the algorithm.
Find duplicates in a given array when elements are not limited to a range MEDIUM
This blog discusses unordered_map for hashing methods to find duplicates in a given array when elements are not limited to a range.
Find Missing Elements of a Range EASY
In this blog, we will discuss the different methods to solve the problem of finding missing elements of a range, using both the native approach of sorting an array and the optimal approach of Hashing.
Find The Top Three Repeated Elements In An Array MEDIUM
In this blog, we will discuss the top three elements in an array problem including the algorithm and the implementation using hashmap in different languages.
Find top k numbers in a stream
This article incorporates how to find top k numbers in a stream.
Find elements which are present in one array but not in other MEDIUM
In this blog, we will discuss the different approaches to find the elements which are present in one array but not in another array.
Longest Consecutive Sequence MEDIUM
A "Longest Consecutive Sequence" refers to a consecutive sequence of numbers within a given set where each number follows the previous one without any gaps.
Group words with same set of characters MEDIUM
We will go through the problem statement to group words with same set of characters using hashing method, including the algorithm, code, and its complexities in this blog.
Print All Distinct Elements Of A Given Integer Array EASY
In this article, we will solve a very famous problem, i.e., Print All Distinct Elements Of A Given Integer Array.
Remove the Minimum Number of Elements Such that No Common Element Exist in both Array EASY
In this article, we will look into an important coding question, Remove the Minimum Number of Elements Such that No Common Element Exist in both Array.
Change the Array into a Permutation of Numbers from 1 to n MEDIUM
In this article, we will look into an important coding question, Change the Array into a Permutation of Numbers from 1 to n.
Custom Sort String
In this blog, we will discuss one of the famous and important questions from the interview perspective, i.e., Custom Sort String.
Fair Candy Swap
In this blog, we will discuss the problem of swapping candies and see the various implementations of this problem.

Graph

A graph is a type of non-linear data structure. A graph is defined as a group of vertices, and edges are used to connect these vertices. There are many different types of graphs, such as directed, undirected, weighted, unweighted, cyclic, acyclic, etc. There are many real-life applications of the graph. They are used in maps, social media, path optimization algorithms, etc.
Introduction to Graphs EASY
Graphs in data structures and algorithms are an essential part of problem-solving. This article gives an introduction to the graph data structure.
Graph Theory
Graph data structures are among the most important and exciting topics to learn in computer science. This article will throw light on various concepts of graph theory.
Graph Representation
A graph can be defined as a network of different vertices and nodes. In this blog, we'll look at the various types of graph representation.
Properties of Graph
This article deals with the properties of graphs which are used to characterise different types of graphs like eccentricity of a vertex etc.
Implementation of Graph in Java
This article discusses about implementation of graph in Java using Adjacency Matrix and using Adjacency List with algorithms and implementations.
Implementation of Graph in Python MEDIUM
Understand how to work with graphs in Python. This Python graph implementation tutorial provides a clear approach with example codes for developers.
Representing a Graph using Set and Hash MEDIUM
In this article, we will implement graph representation using set and hash.
Construct a Graph from the size of components of each node
This article explains the problem of constructing a graph from the size of components of each node.
Difference Between Graph And Tree EASY
Understand the difference between Graphs and Trees in this comprehensive guide. Both Trees and Graphs are types of non−linear data structures but they differ in structure and properties.
Mother vertex in a Graph MEDIUM
In this article, we will find the mother vertex in a graph.
Pendant Vertices, Non-Pendant vertices, Pendant Edges, and Non-Pendant Edges of the Graph.
In this article, we will discuss what are Pendant Vertices, Non-Pendant vertices, Pendant Edges, and Non-Pendant Edges of the Graph. Let say G, for any vertice to be a pendant vertex, the degree of the vertex should be 1.
Hamiltonian Graph MEDIUM
In this article, we will learn about Hamiltonian Graph's problem statement, its cycle using backtracking algorithm code in multiple programming languages.
Print All Mother Vertices In The Graph EASY
In this article, we will discuss the problem of finding all mothers of the graph, we will discuss the naive as well as an efficient approach for finding the mother vertices.
Dynamic Connectivity Problem MEDIUM
This blog guides you regarding the Dynamic Connectivity Problem, Basic operations that are required to solve this problem and their implementation in Java.
Graph Traversal Techniques in DFS BFS MEDIUM
In this blog, we will discuss Graph Traversal Techniques in DFS & BFS.
Breadth-First Search
The blog discusses "Breadth-First Search Traversal of the Graph." We'll discuss an interesting approach to solve the problem and its time and space complexity too.
Best First Search or Informed Search MEDIUM
In this article, we will discuss Best First Search or Informed Search with proper examples and Implementation.
BFS in Disconnected Graph MEDIUM
This article discusses the concept of performing Breadth-First-Search(BFS) in a disconnected graph.
BFS Using Vectors & Queue as per the Algorithm of CLRS MEDIUM
This article discusses the concept of performing Breadth-First-Search(BFS) using vectors & queues as per the algorithm mentioned in the CLRS book.
Breadth-First Traversal Applications MEDIUM
In this blog, we will learn about the Breath-First Search application and its implementation.
Minimum length paths between 1 to N including each node
This article discusses how to calculate the minimum length paths between node 1 to N including each.
Check if the given permutation is a valid BFS of a given tree MEDIUM
This blog will discuss the famous problem, check if the given permutation is a valid BFS of a given tree.
Depth First Search (DFS) Traversal of a Graph MEDIUM
DFS (Depth-First Search) is a graph traversal algorithm used to explore nodes and edges of a graph systematically.
DFS for an n-ary Tree(Acyclic Graph) Represented as an Adjacency List EASY
Read this article to learn about an n-ary tree, the acyclic graph represented as an Adjacency list. You will learn about DFS applied on the n-ary tree.
Implementation of DFS using Adjacency Matrix
This article will discuss the implementation of DFS using an adjacency matrix and how to approach this problem.
Check if there are at least T continuous blocks of 0s or not in a Binary Matrix MEDIUM
In this blog, we will learn to check if there are at least T continuous blocks of 0s or not in a Binary Matrix.
Find Regions with Most Common Region Size in a Given Boolean Matrix
In this article, we will try to solve a graph theory problem that can be asked in the interviews.
Euler and Hamiltonian Paths
This article will introduce Euler and Hamiltonian paths and discuss approaches to use them in different data structure problems.
Clone of an undirected graph MEDIUM
This article contains information on how to clone an undirected graph using DFS approach.
Clone a Directed Acyclic Graph EASY
This article will discuss the problem to clone a directed acyclic graph.
Word Ladder
In this article, we will solve a programming problem: Given a dictionary of words, find the length of the shortest chain to reach a target word from a given start word.
Accounts Merge
In this blog, we will discuss the problem of Accounts Merge using Depth First Search and discuss its time and space complexity.
Dijkstra Algorithm Java EASY
In this article, we will discuss Dijkstra's algorithm in detail. We understand its working implementation in Java, analyze its time and space complexity, and finally discuss its limitations and applications.
All-Pairs Shortest Paths MEDIUM
All Pair Shortest Path problem is an extension of finding the shortest path between a node and all other nodes in a graph. In this problem, we compute the shortest paths between all pairs of nodes in a graph.
Dijkstra's Algorithm EASY
In this article, we will discuss Dijkstra’s Algorithm with various examples and explanations.
Bellman Ford Algorithm MEDIUM
In this article we discuss one of the popular Graph Algorithms - Bellman-Ford along with it's Java implementation and its complexity.
Floyd Warshall Algorithm MEDIUM
Floyd Warshall Algorithm is an important Graph algorithm, and this article provides a crisp explanation of it along with code in Java.
Ford-Fulkerson Algorithm for Maximum Flow MEDIUM
In this article, We will discuss Ford-Fulkerson Algorithm for Maximum Flow.
Dijkstra’s Algorithm vs Floyd–Warshall’s Algorithm MEDIUM
In this blog, we have discussed Dijkstra’s Algorithm vs Floyd–Warshall’s Algorithm, and the key differences between them.
Author Shiva
0 upvotes
Assign Directions to Edges so that the Directed Graph remains Acyclic MEDIUM
In this blog, we'll be solving a problem on a graph, i.e., Assign Directions to Edges so that the Directed Graph remains Acyclic.
Introduction to Push Relabel Algorithm
This article will discuss the Push Relabel algorithm.
Implementation of Push Relabel Algorithm
We will discuss the Implementation of the Push Relabel Algorithm and an example.
Transitive closure of a Graph MEDIUM
In this article, We'll briefly introduce the transitive closure of graph.
Author akscrv
0 upvotes
Transitive Closure Of a Graph Using Recursion MEDIUM
This article will discuss all the points associated with the transitive closure of a graph. We will also look at an algorithm to solve the transitive closure of a graph.
Topological Sorting in a Graph MEDIUM
After learning basic terms, we will look at the code for the problem and analyze the time and space complexities of topological sorting in a graph in this blog.
Single Source Shortest Path EASY
In this article, we will learn the fundamentals of SSSP, look into different scenarios, and present practical code examples.
Topological Sort of a Graph Using Departure Time of Vertex EASY
This blog covers a graph problem in which we have to find the topological sort of a graph using the departure time of the vertex.
All Topological Sorts of a Directed Acyclic Graph HARD
We will discuss all the topological sorts of a directed acyclic graph.
Find Maximum Shortest Distance in Each Component of a Graph
This blog will cover the question to find the maximum shortest distance in each component of a Graph.
Why does Dijkstra’s algorithm fail on negative weights?
In this article, we will find out why Dijkstra's algorithm fails on negative edge weights.
Johnson’s Algorithm for All-Pairs Shortest Paths
In this article, we will discuss Jhonson's Algorithm for the all-pairs shortest path and try to understand its time complexity.
Difference between the shortest and second shortest path in an Unweighted Bidirectional Graph
In this article, we will try to solve a graph theory problem Difference between the shortest and second shortest path in an Unweighted Bidirectional Graph that can be asked in the interviews.
Number of Islands
This article covers the approach and Implementation of the problem Number of Islands in java.
Author Alisha
3 upvotes
Find the number of islands
This article discusses finding the number of islands in a given 2D matrix using DFS.
Find Number of Islands MEDIUM
In this article, we will discuss the problem of finding the number of islands.
Count Cycles of Length n in an Undirected and Connected Graph MEDIUM
In this article, we will solve the problem of counting cycles of the length of n in an undirected connected graph. Also, will see the implementation of the problem in various languages.
Check if there is a Cycle with Odd Weight Sum in an Undirected Graph. MEDIUM
In this article, we will discuss the problem statement. Then two examples. We will focus on making the graph and visualizing it. Then the Algorithms. Finally, code for the problem.
Max Flow Problem HARD
This article will discuss all the points associated with the max flow problem. We will also look at an algorithm to solve the max flow problem.
Weakly Connected Components in a Directed Graph MEDIUM
Weakly connected components in a directed graph are subsets of the graph where each node is reachable from every other node by ignoring the direction of the edges.
Implementations and Applications of Karger’s Algorithm for Minimum Cut HARD
In this article, we will discuss the implementations and applications of Karger’s algorithm for a minimum cut along with its time and space complexity.
Karp’s Minimum Mean (or Average) Weight Cycle Algorithm HARD
This article will discuss the algorithm and implementation of Karp’s Minimum Mean (or Average) Weight Cycle Algorithm.
Detect cycle in a directed graph using colors MEDIUM
This article will discuss how to detect cycles in a directed graph using colors with some examples in detail.
Check if a Graph has a Cycle of Odd Length MEDIUM
The blog discusses cycles in a graph and the concept of a bipartite graph. Finally, it shows how to find if the graph has a cycle of odd length
Maximum Bipartite Matching in Graph MEDIUM
In this article, we will discuss graph data structure, bipartite matching, the bipartite graph in brief, examples, approach, and how to solve maximum bipartite matching in graph problem, with time, and space complexity.
Bidirectional Search in Graph HARD
In this article, we will learn in brief about Graphs and their two traversal techniques, Breadth First Search (BFS) and Depth First Search (DFS). We will also discuss how bidirectional search works in a graph data structure.
Introduction and Properties of Minimum Spanning Tree
This article introduces a minimum spanning tree and discusses some of its essential properties.
Properties of Minimum Spanning Tree (MST)
In this article, we will read about the Minimum Spanning Tree( MST) and its properties, including multiplicity, cut property, cycle property, and uniqueness of MST.
Kruskal's Algorithm MEDIUM
The following article discusses the popular Kruskal's Algorithm used to find the Minimum Spanning Tree along with its implementation and time and space complexity.
Kruskal’s Minimum Spanning Tree MEDIUM
In this article, we will discuss Kruskal’s Minimum Spanning Tree Algorithm. We will also implement Kruskal's algorithm in various languages.
Prim’s Algorithm in Java MEDIUM
This article is all about the Prims Algorithm- Minimum Spanning Tree including the implementation in C++ and Java.
Prim’s Minimum Spanning Tree MEDIUM
In this article, we will be discussing Prim’s Minimum Spanning Tree Algorithm. We will also implement Prim’s algorithm in various languages.
Minimum Product Spanning Tree MEDIUM
In this article, we will be solving the problem of the minimum product spanning tree.
Total Number of Spanning Trees in a Graph MEDIUM
This article will discuss the spanning tree. We will learn how to find the total number of spanning trees in a graph.
Minimum Cost to Connect all Cities MEDIUM
This article discusses one of the famous graph problems - Minimum Cost to Connect all cities along with an approach and implementation to solve it.
Commutable Island MEDIUM
In this blog, we will solve the problem of Commutable Islands and discuss the time and space complexity of some approaches.
Steiner Tree Problem
This blog offers a detailed guide to help understand the Steiner Tree Problem. It also briefly describes the Steiner tree, the approach, the algorithm, and the solution to the problem. To know more about it, read on!
Applications of Graph Data Structure
Applications of Graph Data Structure.. Computer Science, Social Networks, Transportation, Computer Vision, and Natural Language Processing.
Important graph problems for Interviews (Basic Problems) EASY
This article discusses some of the most important graph problems, emphasising easier problems.
Important graph problems for Interviews (Advanced Problems) EASY
This article discusses some of the most important graph problems, emphasising advanced problems.
Check whether given degrees of vertices represent a Graph or Tree MEDIUM
In this article, we will check whether given degrees of vertices represent a Graph or Tree.
Author akscrv
0 upvotes
Check if there is a Path between Two Vertices in a Directed Graph EASY
This blog will discuss Common interview questions; check if there is a path between two vertices in a directed graph.
Parallel Courses III
Learn to find the minimum number of months required to complete all the parallel courses given as a graph.
Waterflow Problem EASY
This blog offers a detailed guide on the Waterflow Problem and explains its approach in detail. To know more about it, read on!
Water Connection Problem
This article will discuss the water connection problem.
Construct a graph from the given degrees of all vertices EASY
This article will discuss constructing a graph from the given degrees of all vertices.
Find All Possible Words in a Board of Characters EASY
In this blog, we will find all possible words in a board of characters along with its code, algorithm and example.
Find Minimum Weight Cycle in an Undirected Graph EASY
In this blog, we will learn how to find the minimum weight cycle in an undirected graph.
Find the Shortest Path in a Weighted Graph where the Weight of an Edge is 1 or 2 MEDIUM
In this blog, we will solve a Data Structure and Algorithm related problem of Finding the Shortest Path in a Weighted Graph where the Weight of an Edge is 1 or 2 from the topic Graph.i
Minimum Cost Path in a Directed Graph via a Given Set of Necessary Nodes MEDIUM
This article will discuss finding a Minimum Cost Path in a directed graph via a given set of intermediate nodes. The blog also focuses on time and space complexity for the solution.
Eulerian Path and Circuit MEDIUM
This blog will discuss Common interview questions, Eulerian path, and circuit.
Printing Eulerian Path using Fleury's Algorithm EASY
In this article, we will see the Eulerian path and Fleury's algorithm and how one is used for the other.
Print all Paths from a Given Source to a Destination MEDIUM
This article discusses how to find a path that exists between any two given nodes in a graph briefly touching on the concepts of DFS and its implementation.
Print the Longest Path Between Any Pair of Vertices MEDIUM
This blog covers a graph problem in which we have to find the longest path between any pair of vertices.
Paths in Dijkstra’s Shortest Path Algorithm MEDIUM
This blog will look into Paths in Dijkstra's Shortest Path Algorithm, including program and time and space complexity.
k’th Heaviest Adjacent Node in a Graph where Each Vertex has Weight MEDIUM
This article will discuss how to find k’th heaviest Adjacent node in a Graph where each vertex has a weight, with an example.
How to check if an array of strings can form a circle or not?
In this blog, we learned about how to check if a given array of strings can form a circle or not. Read more to learn the detailed solution.
Number of distinct Shortest Paths from Node 1 to N in a Weighted and Directed Graph
n this article, we will try to solve a graph theory problem that can be asked in the interviews.
Find all Reachable Nodes from Every Node Present in a Given Set MEDIUM
This article will design an algorithm to find all reachable nodes from every node present in a given set.
Calculate the number of sink nodes in a graph MEDIUM
In this article, we will be discussing the approaches to calculate the number of sink nodes in a graph.
Maximize the shortest path between given vertices by adding a single edge
This article will discuss the solution of the problem “Maximize the shortest path between given vertices by adding a single edge”
Minimum Cost using Dijkstra by reducing the cost of an Edge
This blog will discuss the problem of minimum cost using Dijkstra by reducing the cost of an edge.
Minimum Number of Swaps Required to Sort an Array MEDIUM
This article revolves around the minimum number of swaps to sort an array. It will focus on various swaps required and the algorithmic approach to use them in C++ programming language.
Minimum Edges to Reverse to Make the Path from a Source to a Destination MEDIUM
In this article, We will discuss a question of Minimum edges to reverse to make path from a source to a destination.
Author akscrv
0 upvotes
Minimum cost path with left, right, bottom, and up moves allowed MEDIUM
In this article, we will find the minimum cost path from one grid position to another position using left, right, bottom, and up moves.
Shortest distance from a guard in a bank MEDIUM
In this article, we will see the question Find Shortest Distance from a Guard in a Bank
Check whether the given graph is a tree or not EASY
In this blog, we will discuss the approach to check whether the given graph is a tree or not.
Check if a Cycle Exists Between Nodes S and T in an Undirected Graph with only S and T Repeating EASY
In this blog, we will discuss the DFS traversal of an undirected graph. We will also see the application of DFS in cycle detection.
Check If Removing a Given Edge Disconnects a Graph MEDIUM
This article will discuss a scenario related to the bridge. To check if removing a given edge disconnects a graph.
Move weighting scale alternate under given constraints
In this blog, we will discuss moving weighting scale alternate under given constraints., sample example, its algorithm, its implementations in other languages like C++ and Java, and the complexity analysis of the approach.
Count the minimum number of edges between two vertices of a Graph
In this blog, we will discuss how to count the number of edges between 2 given vertices, sample examples, its algorithm, its implementations in other languages like C++ and Java, and the complexity analysis of the approach.
Count the nodes within K-distance from all nodes in a set
In this blog, we will discuss how to count the nodes with k- distance from all nodes in a set, sample examples, its algorithm, its implementations in other languages like C++ and Java, and the complexity analysis of the approach.
Count of Simple Cycles in a Connected Undirected Graph Having N Vertices MEDIUM
This blog will discuss the problem named count of simple cycles in a connected undirected graph having N vertices with an example and implementation.
Count Number of Edges in an Undirected Graph MEDIUM
In this article, we will count the number of edges in an undirected graph.
Count the Number of Trees in a Forest MEDIUM
This article will provide you with the implementation of the problem, Counting the number of Trees in a Forest.
Check if an Array of Strings can be Chained to Form a Circle MEDIUM
In this blog, we have discussed a problem statement based on an array of strings called check if an array of strings can be chained to form a circle.
Check if a Graph is Strongly Connected
This blog helps you clear your understanding of Kosaraju's algorithm and dry run with various examples to have a clear idea.
Biconnected Graph HARD
In this blog, we will look into biconnected Graphs and try to understand the topic with the program better along with the time and space complexities.
Bridges in a Graph HARD
This article will explain what bridges are in a graph and implement the code to find the bridges in the graph.
Peterson Graph Problem
In this blog, we will discuss the Peterson graph problem, sample example, its algorithm, its implementations in other languages like C++ and Java, and the complexity analysis of the approach.
Smallest Binary Digit Multiple of given Number HARD
In this blog, we will find the smallest binary digit multiple of a given number along with an example and will also look at its time and space complexity.
Minimum Cut on a Graph Using a Maximum Flow Algorithm
This blog will cover how to calculate the Minimum Cut on a Graph Using a Maximum Flow Algorithm.
Find Length of the Largest Region in the Boolean Matrix MEDIUM
This article will design the solution for finding the length of the largest region in the Boolean matrix.
Find the minimum steps required to reach the end of the array under constraints MEDIUM
In this article, we will see the solution to a problem name Find the minimum steps required to reach the end of the array under constraints.
Find the Height of a Generic Tree from Parent Array MEDIUM
This article incorporates information about how to find the height of a generic tree from a parent array with implementation.
Find Node Having Maximum Number of Common Nodes with a Given Node K
In this blog, we will discuss the BFS traversal of an undirected graph. We will also see the concept of levels used in BFS.
Find minimum S-T cut in a flow network
In this article, we will study how to find a minimum S-T cut in a flow network using Ford-Fulkerson’s algorithm. We will also see its implementation and complexity.
Find k-cores of an Undirected Graph HARD
This article will provide information about graphs and then implement code to find the k-cores of an Undirected Graph.
Maximum element in the connected component of the given node for Q queries
In this article, we will discuss the approach to finding the maximum element in the connected component of a given node for multiple queries. We will also focus on our approach’s time and space complexity.
Find the number of connected grids of a given size in a 2D-Matrix
This article will find the number of connected grids of a given size in a 2D matrix for multiple queries.
Minimum nodes to be colored in a graph such that every node has a colored neighbor
In this blog, We'll use the BFS traversal method to tackle the problem ‘Minimum nodes to color, so every node has a colored neighbor.’
Graph Coloring MEDIUM
This blog will cover the theory and applications of the Graph Coloring problems.
DSatur Algorithm for Graph Coloring
The following blog discusses the popular DSatur Algorithm used for solving problems based on graph coloring along with its implementation and analysis.
Minimum Operations to Convert Number
This blog will discuss the problem of Minimum Operations to Convert Number using BFS.
Check if a Given Graph is Strongly Connected ( Kosaraju's BFS )🥷🏻 HARD
In this article, we will solve a famous question on the topic graph: Check if a given graph is strongly connected ( Kosaraju's BFS ). It is a famous interview question and has been asked in many interviews.
Check if the Graph can be Divided into Two Cliques HARD
We will discuss how to check if the graph can be divided into two cliques. We will check this condition by determining whether the given graph's complement is Bipartite or not.
Maximum number of edge-disjoint paths between two vertices HARD
This blog will discuss a graph theory problem in which we have to find the maximum number of edge-disjoint paths between two vertices.
Author Harsh
0 upvotes
Erdos RenyI Model for generating random graphs HARD
This blog will discuss a model from graph theory that is used to generate random graphs. We will talk about the model in brief then we will see the implementation.
Author Harsh
0 upvotes
Multistage Graph(Shortest Path) MEDIUM
A multistage graph falls under the class of a directed and weighted graph. Here the vertices are divided into stages (single vertex and ending vertex).
Minimize the Number of Weakly Connected Nodes MEDIUM
We will discuss the problem to minimize the number of weakly connected nodes by using the weakly connected component algorithm approach.
Minimum Edges Required to Make Euler Circuit HARD
In this, we will learn the concept of the eulerian circuit and the minimum number of edges required to add to make it.
Biconnected Components in Graph HARD
This blog will teach you how to find biconnected components in graphs. You will go through an in-depth discussion about components, articulation points and DFS in graphs.
The Seven Bridges of Königsberg HARD
In this blog, we will discuss the problem of The Seven Bridges of Königsberg and its implementation code in C++ and Java.
Find the level of each node in a tree from the source node using BFS MEDIUM
In this article, we will discuss the problem of finding the level of each node from the source node in a tree using BFS. We will look at examples, algorithms, and implementation of problems.
Find the largest subset of Graph Vertices with Edges of 2 or more colors HARD
In this article, we will discuss the problem of finding the largest subset of Graph Vertices with Edges of 2 or more colors. We will look at examples, algorithms, and implementation of problems.
Hopcroft–Karp Algorithm for Maximum Matching MEDIUM
In this article, we will discuss the Hopcroft-Karp Algorithm for Maximum Matching. We will look at examples, algorithms, and implementation of problems.
Construct Binary Palindrome by Repeated Appending and Trimming MEDIUM
In this article, we will learn in brief about the properties of Depth First Search (DFS). Using those properties, we will construct a palindrome of a given size using binary numbers added as input.
Count the Number of Triangles in an Undirected Graph HARD
This article will discuss a graph-related DSA Problem. Using two approaches, we will count the number of triangles in an undirected graph.
Vertex Cover Problem MEDIUM
This blog will discuss the NP-Complete problem known as the Vertex cover problem. We will be solving the problem using an approximation method to get the near-optimal solution.
Author Harsh
0 upvotes
Find the Number of Nodes between two vertices in an Acyclic Graph using the Disjoint Union Method
This blog offers a detailed guide to help understand the problem: find the number of nodes between two vertices in an acrylic graph using the disjoint union method. It also briefly describes the approach, algorithm, and solution in various programming languages. To know more about it, read on!
Find the Path in a Rectangle with Circles
This blog offers a detailed guide to help understand the problem: Find the path in a rectangle with circles. It also briefly describes the approach, algorithm, and solution in various programming languages. To know more about it, read on!
Maximum Number of Edges that can be added to a tree so that it stays a Bipartite graph
This blog offers a detailed guide to help understand the Maximum Number of Edges that can be added to a tree so that it remains a Bipartite graph problem. It also briefly describes the approach, algorithm, and solution in various programming languages. To know more about it, read on!
Minimum number of moves needed to move from one cell of the matrix to another
This article discusses how we can find the Minimum number of moves needed to move from one matrix cell to another.
Count the number of magical Indices in an array MEDIUM
This blog explains the detailed solution of the problem: Count the number of magical indices in an array along with its implementation in different programming languages.
Number of non-reachable nodes MEDIUM
This blog offers a detailed guide to help understand the Number of non-reachable nodes problem. It also briefly describes the approach, algorithm, and solution in various programming languages. To know more about it, read on!
Number of Connected Components in an Undirected Graph MEDIUM
This blog offers a detailed guide to help understand the Number of Connected Components in an Undirected Graph problem. It also briefly describes the approach, algorithm, and solution in various programming languages. To know more about it, read on!
Transpose Graph EASY
This blog offers a detailed guide to help understand the Transpose Graph Problem. It also briefly describes what a transpose graph is, the approach, the algorithm, and how to find it. To know more about it, read on!
Count single node isolated sub-graphs in a disconnected graph MEDIUM
In this blog, you will learn about the problem of counting single node isolated sub-graphs in a disconnected graph.
Dinic’s algorithm for Maximum Flow HARD
In this article, the reader will learn about Dinic’s algorithm for Maximum Flow and describe an example using a diagram. And we will also implement this problem in different languages and discuss the time Complexities.
Identify Same Contacts in a List of Contacts HARD
we will discuss the solution to the problem “Identify the same contacts in a list of contacts”.
Number of loops of size k starting from a specific node EASY
This blog discusses how to find the number of loops of size k starting from a specific node in a completely connected undirected graph.
Reverse Delete Algorithm MEDIUM
You'll learn about Reverse Delete Algorithm in this article, and the implementation with proper output.
Flood Fill Algorithm in Computer Graphics MEDIUM
In this blog, we will learn about the concepts of the Flood Fill Algorithm in detail.
Bi-connectivity in Un-directed Graphs MEDIUM
This article demonstrates Bi-connectivity in Un-directed Graphs.
Floyd Warshall Algorithm At a Glance MEDIUM
In this blog, we will learn about the Floyd Warshall Algorithm at a glance along with code and benefits.
Hierholzer’s Algorithm for directed Eulerian Graph MEDIUM
This article will explain the coding problem in which we have to print the Euler circuit in a directed graph using Hierholzer’s Algorithm.
Check if Graph is Bipartite MEDIUM
This article will explain the coding problem in which we have to check if a graph is bipartite, using its property based on graph type.
Chinese Postman or Route Inspection Problem MEDIUM
This article will explain the Chinese Postman or Route Inspection Problem in which we have to find the shortest path that visits every edge of the graph at least once.
Prim’s MST for Adjacency List Representation MEDIUM
This article is about the implementation of Prim’s MST for Adjacency List Representation.
Author Manshi
0 upvotes

Trie

Trie has the following properties for a set of strings: 1. The root node always represents the null node. 2. Every node's child is arranged alphabetically. 3. Each node can have a maximum of 26 children (A to Z). 4. Except for the root, each node can store one letter of the alphabet.
Trie Data Structure MEDIUM
Learn trie data structure with its properties, representation, advantages, and disadvantages. Understand operations of trie data structure with its implementation.
Advantages of Trie Data Structure
In this blog, we will look into the advantages of Trie data structure and time and space complexity.
Suffix Tree-Ukkonen's Algorithm HARD
In this article, we will see the suffix tree- Ukkonen’s Algorithm and how it works in the coding to ensure their job.
Author akscrv
0 upvotes
Substring Check Using Suffix Tree HARD
In this blog, we will check whether a string 'pattern' is contained in another string 'text' or not using a suffix tree.
Delete nodes from trie
This blog covers deleting nodes from trie and covers the basic concepts of trie, code and algorithm of trie operations.
Dictionaries using Tries
This blog introduces you to one of the fascinating data structures, Tries. We will learn how to implement dictionaries using tries.
Pattern Searching using Trie
Implement pattern searching using a trie. Create a suffix tree using all possible suffixes of a given string.
Longest word in dictionary
Learn to find the longest word in a dictionary with all the prefixes present as words in the dictionary.
Implement Forward DNS Look Up Cache
This article is based on DNS caching and how to implement forward DNS look up cache using the Trie data structure.
Implement Reverse DNS Look Up Cache
This article is based on DNS caching and how to implement reverse DNS look up cache using the Trie data structure.
Longest Common Prefix Matching
In this blog, we will learn how we can solve an all-time classic interview problem, “Longest common prefix matching”, using a very interesting data structure, i.e., Tries.
Implement a Dictionary using Trie
This article will cover the approach and the implementation of building a dictionary of words with their meanings using Trie.
Container With Most Water MEDIUM
This blog discusses the container with the most water problem and various approaches to solving this problem.
Longest Common Prefix Using Trie
This article will discuss how to find the longest common prefix using trie, its C++ implementation, and its time and space complexity.
Author Riya
1 upvote
Aho-corasick Algorithm EASY
This article discusses the Aho-Corasick Algorithm, one of the most famous string pattern matching algorithms.

Searching and Sorting Algorithms

Searching and Sorting Algorithms are one of the most important topics that a programmer covers in his journey, Searching algorithms are used to retrieve elements from any data structure, and Sorting algorithms are used to rearrange and reorganize elements in a data structure as per specified order. Various algorithms are covered in this section and have different uses as the need arises, this section will teach you the best searching and sorting algorithms and how they'll be used as the need arises.
Binary Search Algorithm EASY
In this article, we will explore the Binary Search Algorithm. We will also discuss the recursive and iterative ways to implement the binary search algorithm, its applications etc.
Interpolation Search MEDIUM
This article will teach us about Interpolation Search. We will learn their internal working, algorithms, complexities, implementation and applications.
Difference Between Searching and Sorting EASY
This article covers the concepts of Searching and Sorting along with some frequently asked questions
Binary Search Vs Ternary Search EASY
In this article, we’ll learn the difference between binary search and ternary search in terms of their time complexities.
Breadth First Search In Python MEDIUM
In this article, we'll learn about the BFS algorithm, understand how it works, implement it in Python, analyze its complexity, and discuss its applications.
Recursive Binary Search EASY
In this blog, we will look into Recursive Binary Search in three languages(C, Java, and Python) with their time and space complexity.
Binary Search in C++ EASY
Explore binary search in C++ with clear examples. Learn how it works and get code implementations for both recursive and iterative approaches of binary search program in C++.
Linear Search in C++ EASY
Linear Search is a simple searching algorithm used in C++ (and other programming languages) to find a specific element in a list or array.
Heap Sort Program in C MEDIUM
Heap Sort Program in C is a comparison-based sorting technique based on a binary heap data structure. It's similar to selection sort where we first find the maximum element and place the maximum element at the end.
Radix Sort in C EASY
In this article, we will learn what radix sort is, how it works with examples, and its time & space complexity. We will also see how to code radix sort in the C programming language from scratch.
Sorting Array in C EASY
In this article, we will discuss the concept of sorting an array in C and especially focus on two popular sorting algorithms: selection sort and bubble sort. 
Radix Sort EASY
This article will illustrate the Radix Sort technique while explaining its uses, working, the algorithm, code and the time and space complexity for the algorithm.
Selection Sort in Python EASY
This article will help you understand how selection sort works, with it’s implementation in Python. We will also discuss it’s time complexity to see it’s efficiency.
Quick Sort in C MEDIUM
In this blog, we will learn about Quick Sort Program in C. We will understand its core concepts, its usage, and much more for better understanding.
Selection Sort In Java EASY
In this blog, we will learn about Selection sorting in Java. We will understand its time complexity, space complexity and much more for better understanding.
Selection Sort in C EASY
In this article, we will discuss the algorithm, implementation, & analysis of selection sort in C programming language. We will cover the step-by-step process, with code examples, & discuss the advantages & disadvantages and various applications also.
Quick Sort vs Merge Sort EASY
In this article, we will discuss the concepts of quick sort & merge sort, understand their algorithms, provide step-by-step explanations, & compare their characteristics.
Merge Sort in Java EASY
In this article, we will discuss the workings of merge sort, illustrate its steps, implement it in Java, analyze its complexity, and discuss its applications, advantages, and disadvantages.
Selection Sort in C++ EASY
In this article, we'll explain how selection sort functions, with every possible step and how to code it in C++ with its space and time complexity.
Bubble Sort in Python MEDIUM
Despite its simplicity, Bubble Sort is not very efficient for large datasets, but it is a great algorithm for beginners to learn and understand the basics of sorting.
Merge Sort in C++ MEDIUM
Merge sort is a popular sorting algorithm that follows the divide-and-conquer approach. It divides the input array into smaller subarrays, sorts them recursively, & then merges the sorted subarrays to produce the final sorted array.
Quick Sort in C++ EASY
QuickSort sorts elements by selecting a 'pivot' element from the array and partitioning the other elements into two categories: those less than the pivot and those greater than it. This process is called partitioning. After partitioning, QuickSort recursively applies the same logic to the smaller sub-arrays.
Bucket Sort MEDIUM
This article will illustrate the Bucket Sort technique and explain its working with the help of a code snippet and algorithm for the chosen example.
Merge Sort in C EASY
In this article, we will discuss the concept of merge sort, understand its working principle, implement it using the C programming language, analyze its time & space complexity, and its advantages and disadvantages.
Bubble Sort Algorithm EASY
Bubble sort is a sorting algorithm that compares the adjacent elements repeatedly and swaps them if they are out of order until the entire array is sorted.
Insertion Sort in Java EASY
In this article, we will discuss the principle of the insertion sort algorithm, its implementation and analyze its time and space complexities.
Heap Sort in Data Structure MEDIUM
This blog covers the working and implementation of heap sort in C++, a discussion around its time and space complexity, and the advantages of heap sort.
Counting Sort EASY
In this blog, we will discuss the counting sort algorithm implementation, its examples, complexities, and procedures.
Binary Insertion Sort EASY
This article will discuss the binary insertion sort along with the application example, algorithm, and implementation of the binary insertion sort.
What is Selection Sort? MEDIUM
Learn about Selection Sort in C, C++, Java, Python, C#, its working, implementation, and the selection sort time complexity and space complexity in different languages.
Java Program for QuickSort EASY
QuickSort in Java is an efficient sorting algorithm using a pivot, recursively dividing and sorting arrays, implemented with partitioning and recursion.
Sorting Algorithms MEDIUM
In this article, we will cover 6 Sorting Algorithms, Features & Functions.
Insertion Sort Algorithm EASY
Insertion Sort is a simple and intuitive sorting algorithm that builds the sorted array one element at a time. It is efficient for small data sets or nearly sorted data.
Searching and Sorting in Rotated Sorted Array | Part-1
This blog discusses the solution of a problem in which we have to search a given element in a rotated sorted array of distinct elements.

Greedy Algorithms

As the name implies, a greedy technique always chooses the option that appears to be the best at the time. This means it will make a locally optimal decision to arrive at a globally optimal solution. For example, if you want to travel from point A to point B, there are numerous options, such as walking, cycling, car, air, etc. However, if you need to arrive in the shortest amount of time, you'll estimate the time from all possible options and then choose wisely which will be the most efficient. You must compare the current option with the previous option to select the optimal solution. This is referred to as the greedy technique. In computer science, we frequently employ greedy techniques. This category revolves around greedy techniques and uses them in solving optimization problems.
Activity Selection problem and Greedy Algorithm
This blog discusses the solution to the activity selection problem using a greedy algorithm. Read to learn different cases of the problem and the solution.
Job scheduling algorithm MEDIUM
In this article, we discuss one of the common problems involving Job Scheduling and its solution - Job Scheduling Algorithm along with its implementation in C++.
Boruvka's Algorithm MEDIUM
This blog helps you clear your understanding of Boruvka's Algorithm and dry run with various examples to have a clear idea.
Minimum Number of Platforms Required for a Railway/Bus Station
This article will brief you on finding the Minimum Number of Platforms Required for a Railway/Bus Station.
Shortest Unsorted Continuous Subarray
This blog will discuss three different approaches to find the length of the shortest unsorted continuous subarray.
Queue Reconstruction by Height
Learn to reconstruct a queue with given position preferences for each element of the queue.
Find Maximum Meetings in One Room MEDIUM
Find the maximum number of meetings in one room using greedy approach. This article explains the greedy approach to solve the n meeting in one room problem and provides C++, Java, and Python implementations.
Finding Kth Largest Number in a Given Array of Large Numbers
In this blog, we will learn to solve a problem based on sorting. We will discuss the approach based on the overloading of the comparator function.
Find the smallest range containing at least 1 element from given N ranges.
This article will brief you on how to Find the smallest range containing at least 1 element from given N ranges.
Find a minimum number of bins to place N items(using the best-fit algorithm) EASY
In this article, we will discuss the problem of finding a minimum number of bins to place N items(using the best-fit algorithm).
Minimize the sum of minimum and second minimum elements from all possible triplets
This article covers the approach to minimize the sum of minimum and second minimum elements from all possible triplets with its C++ code.
Author Spider
0 upvotes
Minimize the Sum of Minimum and Second Minimum Elements from All Possible Triplets
In this blog, we will discuss a classical problem of the greedy Algorithm and a famous interview question, i.e., minimize the sum of minimum and second minimum elements from all possible triplets.
Minimize Deletions from Either End to Remove Minimum and Maximum from Array
The task is to find the minimum number of deletions from start or end to remove minimum and maximum elements of the array.
Greedy Algorithm in Graph Theory EASY
In this article, we will discuss greedy algorithm in detail.
Maximize cost obtained by removal of substrings “pr” or “rp” from a given String
This article discusses maximizing the by removing the substring "pr" or "rp" from a given string.
Minimize insertions or deletions to make the frequency of each array element equal to its value
This blog discusses a coding challenge based on greedy algorithms. Greedy algorithms are one of the most asked topics in technical interviews and programming contests.
Maximize score by rearranging Array such that absolute difference of first and last element is minimum
In this blog, we will discuss a coding challenge that involves the use of sorting and greedy algorithms. Greedy algorithms are well known for their simplicity and ease to understand.
Minimize Swaps to Make Remainder Equal When an Element and its Index is Divided by K
The task is to find minimum swaps required to make every element’s remainder with k equal to its index remainder with k.
Minimize Flips to Make the Binary String as all 1s by Flipping Characters in a Substring of size K Repeatedly MEDIUM
In this blog, we will take up a coding problem based on strings. We will learn to use a greedy approach to solve the challenge.
Dial's Algorithm HARD
This blog explains what Dial's algorithm is and in which cases it is useful. We also see its logic, working and implementation in code.

Dynamic Programming

Dynamic Programming is a technique of doing an optimization over recursion. We store the answer for the overlapping subproblems and use that result if we need the answer for the same problem in the future. Hence, we save the time of re-computing the answer for the same problem. It is a great technique that helps us to reduce the exponential time complexity to polynomial time complexity.
How To Ace Dynamic Programming in Competitions
Dynamic programming – the one thing that makes every participant in competitive programming scratch their heads. In general, most programming competit...
Author
0 upvotes
Getting Started with Dynamic Programming - Part 1
we have discussed dynamic programming, what kind of problems can be solved by dynamic programming, the difference between DP and Recursion, and finally, variations of problems in Dynamic Programming.
How to solve a dynamic programming problem?
This article covers dynamic programming; how we can approach it, a discussion around its time and space complexity, and finally has gone through a hands-on example.
Tabulation vs Memoization EASY
This article discusses the difference between tabulation and memorization. Check out the algorithms and code implementations.
Overlapping substructure vs overlapping sub problems
This blog will cover the Optimal substructure and Overlapping subproblems.
Basics of DP with Trees MEDIUM
Dynamic Programming (DP) is a problem-solving approach that breaks down complex problems into smaller
Objective of The Knapsack Problem
This article will discuss various types of knapsack problems along with their properties, objectives, methodologies and variations.
Subsets
This article is based on the Subset problem asked in various coding competitions.
Coin Change: Minimum Number Of Coins MEDIUM
This article discusses different approaches to solve the coin change problem, which is to find the minimum number of coins needed to make a given amount
Longest Common Subsequence (LCS) MEDIUM
Longest Common Subsequence (LCS): learn more about the LCS algorithm with time complexity using different approaches i.e. recursion and dynamic programming with its implementation.
Longest Common Substring MEDIUM
Longest Common Substring: Explore longest common substring recursive recursive, simple and dynamic programming approaches with detailed algorithms and implementations and time complexities.
Longest Repeating Subsequence MEDIUM
The term "Longest Repeating Subsequence refers to a subsequence within a string that occurs more than once. Read on to learn more!
Author Riya
1 upvote
LCS of 3 strings
In this blog, we will discuss the extension of LCS of two strings and will see how we can calculate LCS of 3 strings.
Shortest Common Supersequence
In this blog, we will be discussing the problem shortest Common Supersequence. We will be starting from brute force and will be optimizing it using dynamic programming.
Finding the Longest Common Subsequence (LCS) in given K permutations
The blog aims to find the Longest Common Subsequence in given K permutations.
Edit Distance
In this blog, we will discuss a problem based on dynamic programming. Dynamic programming is a well-known topic asked in programming contests and coding interviews.
Maximum Area of the Square Submatrix
In this article, we discuss the problem of the maximum area of the square submatrix on a given binary matrix.
Greatest Sum Divisible by Three
This blog finds the maximum sum from the array such that the sum is divisible by three
Maximal Square
This article covers the maximal square with problem statements. Read dynamic programming, approach, pseudocode, and implementation.
Author Alisha
2 upvotes
Longest Valid Parentheses MEDIUM
A sequence of parentheses is called balanced if, for every opening bracket, there is a unique closing bracket.
Minimum Sum Path in a Matrix MEDIUM
In this article, we discuss one of the famous matrix problems - Minimum Sum Path in a Matrix and some of the approaches and implementations to solve it in C++, Java, and Python.
Longest Increasing Subsequence | Part 1 EASY
This is a two-part article based on: Longest Increasing Subsequence. In this part, we shall discuss the iterative and semi-optimized DP solutions.
Largest Sum of Averages
In this blog, we will discuss a Leetcode medium problem, namely, the largest sum of averages. It has been asked by Facebook, Microsoft, and Amazon.
Interleaving Strings
In this blog, we will discuss the problem, Interleaving strings, a primitive problem of Dynamic Programming, and its time and space complexity.
Super Ugly Numbers
This blog will discuss a variation of the famous problem, Ugly Numbers, and shed some light on its time and space constraints.
Make all Array Elements Equal by Replacing Consecutive occurrences of a Number Repeatedly
This article will discuss the problem "Make all array elements equal by replacing consecutive occurrences of a number repeatedly," the solution approach to this problem, its C++ implementation, and its time and space complexity.
Author Riya
1 upvote
Smallest Subarray With All Occurrences of the Most Frequent Element MEDIUM
This article gives you an in-depth solution to the question solution of the Smallest Subarray With All Occurrences of the Most Frequent Element.
Author Shiva
0 upvotes
Distinct Subsequences HARD
The following article explores the popular Distinct Subsequences problem in which we determine the number of distinct subsequences present in the string along with their frequency.
Matrix Chain Multiplication Algorithm EASY
In this blog, we will discuss an important dynamic programming question, matrix chain multiplication. It is a foundational problem to solve different problems of the same types.
Evaluate expression to true
In this blog, we will discuss one of the classical problems asked in dynamic programming and an all-time favorite problem for coding interviews, i.e., evaluate expression to true.
Cherry Pickup HARD
In this blog, we'll build a dynamic programming solution to the classic cherry pickup problem step by step, starting with brute force.
Box Stacking MEDIUM
This article will discuss the box stacking problem and various ways to solve this problem, starting from the brute force approach to the efficient approach.
Egg dropping problem EASY
Learn to find the minimum number of egg drops required in the worst case for the given number of eggs and floors.
Mobile Numeric Keypad Problem
In this blog, we will learn about an interesting problem, the Mobile numeric keypad problem.
Find the minimum cost to reach the destination using a train MEDIUM
In this blog, we have discussed a problem statement based on dynamic programming called Find the minimum cost to reach the destination using a train
Author Shiva
0 upvotes
Palindromic Partitioning II
Learn to find the minimum number of string partitions required to make all the substrings of a string a palindrome.
Introduction to Digit DP
In this article, we will discuss the basics of Digit DP and try to solve an example problem.
Introduction to digit DP MEDIUM
Digit DP is a dynamic programming technique used to solve problems involving digit manipulation. It optimizes calculations and reduces redundancy, improving time and space complexity.
Longest Increasing Subsequence Size
This article will discuss the O(n logn) approach to find the longest increasing subsequence size.
Matchsticks to Square MEDIUM
In this article, we will discuss the problem of Matchsticks to Square.This problem is solved with method of recursion
Path Requiring a Minimum Number of Jumps to Reach the End of the Array
In this blog, we will solve the problem of finding the Paths requiring a minimum number of jumps to reach the end of array.
Filling Bookcase Shelves
In this blog, we'll be discussing the brute force and dynamic programming approach to the problem 'Filling Bookcase Shelves.'
Check if an Original String Exists Given Two Encoded Strings
In‌ ‌this‌ ‌blog,‌ ‌we’ll‌ ‌solve‌ ‌an‌ ‌advanced‌ ‌DP‌ ‌problem,‌ ‌Check‌ ‌if‌ ‌an‌ ‌Original‌ ‌ String‌ ‌Exists‌ ‌given‌ ‌two‌ ‌Encoded‌ ‌Strings.‌
Palindrome Partitioning MEDIUM
This blog discusses the palindrome partitioning problem. It is a variation of the Matrix Chain Multiplication problem. It can be easily solved using dynamic programming.
Palindrome Partitioning
This blog discusses the palindrome partitioning problem. It is a variation of the Matrix Chain Multiplication problem. It can be easily solved using Dynamic programming.
Scramble String MEDIUM
In this blog, we will discuss the problem of Scramble String and solve it using recursion and dynamic programming, analyzing the time and space complexity in both cases.
Burst Baloon MEDIUM
This blog discusses the popular problem Burst Baloon along with its solution ranging from the most intuitive to most optimal one.
Maximum Product of Two Non-intersecting Paths in a Tree HARD
This article incorporates how you find the maximum product of two non-intersecting paths in a tree.
Minimum Count of Prefixes and Suffixes of a String Required to Form Given String
In this blog, we will see how we can solve the famous problem ‘minimum count of prefixes and suffixes of a string required to form given string’.
Finding the Minimum Cost to Reduce the Array by Merging the Adjacent Elements Repetitively MEDIUM
This article will discuss the problem of finding the minimum cost to reduce the array by merging the adjacent elements repetitively along with its solution approach and implementation in C++ language.
Maximum size of rectangle in a binary matrix
Learn to find the area of the largest rectangle possible in a binary matrix with all 1s.
Count of sequence of length K in the range [1, N] where every element is a multiple of its previous one
In this blog, we are going to discuss an interesting problem: Count of sequence of length K in the range [1, N] where every element is a multiple of its previous one. We are also going to discuss the space and time complexity of the approaches discussed.
Russian Doll Envelopes
In this blog, we will discuss an exciting problem named Russian Doll Envelopes. It is a variation of the Longest Increasing Subsequence (LIS) problem. It is a 2D version of LIS.
Numbers with Repeated Digits
In this blog, we discuss an exciting problem, namely, Numbers with repeated digits. We will discuss a construction to solve this problem efficiently.

Other Algorithms

So far we have discussed various Data Structures and Algorithms in this category and covered almost every topic that'll help you understand the depth of this subject and will guide you in your journey of becoming a ninja coder. Now we'll go one step ahead and look into various algorithms that are often asked in interviews and how to analyze these algorithms, happy learning !!
Types of Algorithms EASY
The knowledge of data structure and types of algorithms can be beneficial to test the efficiency of both the freshers’ and the professionals.
Sorting Algorithms In Data Structures MEDIUM
Sorting is the process of arranging items in a specific order or sequence. It is a common algorithmic problem in computer science and is used in various applications.
Aho Corasick Algorithm
In this blog, we will discuss the Aho Corasick Algorithm.
Bitwise Algorithms
This article explains all about how bitwise algorithms are used to perform operations at the bit level.
Zhu-Takaoka String Matching Algorithm
In this blog, we will learn about Zhu-Takaoka String Matching Algorithm. We will understand what it means, its basics, how it works, and how to implement this algorithm.
Hyperlink Induced Topic Search (HITS) Algorithm EASY
In this article, we will discuss what the HITS algorithm is, how it works, & its advantages. Finally, we will see the code implementation in python.
Lamport's Algorithm in Distributed System MEDIUM
In this article, we'll understand the workings of Lamport's Algorithm in Distributed System, its advantages & disadvantages.
Mutation in Genetic Algorithm MEDIUM
In this article, we will discuss different mutation in genetic algorithms like bit flip mutation, random resetting mutation, swap mutation, scramble mutation, & inversion mutation.
Sweep Line Algorithm MEDIUM
In this article, we will discuss the concept of the sweep line algorithm and its applications in different problems.
Randomized Algorithms EASY
Randomized algorithms are a class of algorithms in computer science that use randomness or randomness in combination with deterministic steps to solve computational problems.
Expectation-Maximization Algorithm EASY
This article will mainly give an overview of Expectation-Maximization, how it works, and why it is going to be used in different applications. We will also discuss the math included in it.
Hamiltonian Path MEDIUM
In this article, we will learn about the definitions of Hamiltonian paths & cycles, see illustrations of them, implement an algorithm to find Hamiltonian cycles using backtracking and analyze the time & space complexity.
Raft Consensus Algorithm MEDIUM
In this article, we will discuss the main concepts of the Raft consensus algorithm, like leader election, log replication, and safety. We will also discuss its advantages, alternatives, and limitations.
Partition Algorithm in Data Mining EASY
In this article, we will discuss the Partition Algorithm in Data Mining, their key characteristics, and some common methods used in data mining.
Flajolet Martin Algorithm EASY
In this article, we'll learn how the Flajolet-Martin algorithm works, look at the steps involved, & see how to implement it in Python. We'll also discuss the advantages & limitations of this algorithm.
SHA-1 Algorithm MEDIUM
In this article, we will discuss how SHA-1 algorithm works, its components & process flow, and provide code examples in different languages.
Priority Scheduling Program in C EASY
Priority scheduling is a method used by operating systems to manage how processes are handled based on their importance.
Branch and Bound Algorithm MEDIUM
This article will go Branch and Bound Algorithm with an example and advantages and disadvantages.
Author akscrv
0 upvotes
Cyrus Beck Line Clipping Algorithm EASY
In this article, we'll discuss the background of the algorithm, its working principle, different cases, pseudocode, & implementation of this algorithm in different languages
0-1 Knapsack
This article will discuss the 0-1 Knapsack problem and various ways to solve this problem.
Unbounded Knapsack MEDIUM
This article will explain the various knapsack problems and especially illustrate the Unbounded Knapsack while explaining its working with the help of a code snippet and algorithm. The blog will further discuss time and space complexity for Unbounded Knapsack.