Algorithms Implementing Priority Queue using Linked List We demonstrated the approach to Implement a Priority Queue using Linked List and support all operations like push and pop efficiently.
Software Engineering Bit header file in C++20 Bit header was included in the C++20. This header provides components such as types and functions to access, manipulate and process individual bits and bit sequences.
System Design System design of an URL Shortener (TinyURL or Bit.ly) We have explained the ideas involved to design a system for URL shortening service which is scalable in the real environment.
System Design Design of Rate Limiting System We have explained how to Design a Rate Limiting System in a scalable way and explored various algorithms that are used in practice.
Software Engineering Introduction to Cocoa Pods Learn about Cocoa Pods and how to use them in your projects to speed up the development time
Software Engineering Email Password Authentication using FireBase in iOS App Learn how to add email, password authentication to your iOS apps without building any dedicated backend service
Software Engineering TreeSet in Java TreeSet is created using the implementations of the SortedSet interface in Java and it uses Tree for storage.
Problems on Binary Tree Level order traversal of a Binary Tree In this article, we have explored Level order traversal of a Binary Tree in depth using two approaches: recursive approach and queue.
Algorithms Coin Change Problem Coin change problem is very similar to unbounded knapsack problem which can be solved easily and efficiently by using Dynamic Programming. General task is to find maximum number of ways to add the coins from the array for given amount.
Software Engineering Deleted function in C++ C++11 introduced a new use of the delete keyword to make a function non-callable.
Software Engineering Default functions in C++11 C++11 introduced a new use of the default keyword as a way to explicitly tell the compiler that a special member function will use the default implementation.
Algorithms Maximal Rectangle problem (using Monotonic queue) We have solved the maximal rectangle problem using Monotonic queue. In this problem we are given a matrix consisting of only 0's and 1's, we need to find the largest rectangle consisting of only 1's and return its area.
Algorithms Monotonic Queue (with Daily Temperatures & Largest Rectangle in Histogram) Monotonic queue is a data structure where the data is entirely in non-decreasing order or entirely in non-increasing order. It is generally used for optimizing dynamic programming techniques.
Algorithms Reverse a Stack The objective of this article is to explore various approaches that can be used to reverse the given stack (stack is a linear data structure where insertion and deletion are made at the same end).
Machine Learning (ML) Stacking in Machine Learning Stacking (a.k.a Stack Generalization) is an ensemble technique that uses meta-learning for generating predictions. We have explained stacking in Machine Learning (ML) in depth.
Software Engineering Control Flow statements in Ruby Control flow statements are used for the controlled logical and conditional execution of a statement. We have explored Control Flow statements in Ruby in depth.
Algorithms Zig Zag Traversal of Binary Tree In this article, we present 4 different approaches for Zig Zag Traversal of Binary Tree using stack, deque, recursion and an iterative approach.
Algorithms Check if 2 Binary Trees are isomorphic Two Binary Trees are known as isomorphic if one of them can be obtained from the other one by series of flipping of nodes, swapping the children both left and right of number of nodes.
Algorithms Convert Binary Tree to Circular Doubly Linked list To convert binary tree to circular doubly linked list, we will take left node as previous pointer and right node as next pointer. The order of nodes in Doubly Linked List must be same as in inorder of the given binary tree.
Algorithms Succinct (0-1) Encoding of Binary Tree Succinct (0-1) Encoding of Binary Tree is an approach to encode a Binary Tree to the lowest possible space and maintain the structural information.
Algorithms LCA in Binary Tree using Euler tour and Range Minimum Query In this problem, we will find the Lowest Common Ancestor of a Binary Tree using Euler tour and Range Minimum Query. We can solve the LCA problem by reducing it to a RMQ problem.
Algorithms Lowest Common Ancestor in a Binary Tree In binary trees, for given two nodes a and b, the lowest common ancestor is the node of which both a and b are descendants. We explored the algorithm to find Lowest Common Ancestor in a Binary Tree.
Problems on Binary Tree Operations in Threaded Binary Tree There are three main operations which can be done on a threaded binary tree Insert, Search and Delete operation which we have explained in depth.
Problems on Binary Tree Threaded Binary Tree Threaded binary tree is a simple binary tree but they have a speciality that null pointers of leaf node of the binary tree is set to inorder predecessor or inorder successor.
Algorithms Boolean Parenthesization Problem We will solve Boolean Parenthesization Problem using Dynamic Programming and understand the algorithm with a step by step explanation. The time complexity to solve this problem is O(N^3) with a space complexity of O(N^2).