Featured Resource One-line Algorithms questions & facts Random algorithm facts for quick interview revision when you only have a minute to spare.
Book DSA Cheatsheet A Cheatsheet for data structures and algorithms practice, coding interview and problem-solving intuition.
Featured Resource One AI Systems Question Practice AI and ML systems prompts across P/D disaggregation, inference, training, RAG, platform engineering and reliability.
Algorithms Delete Middle Node from Linked List In this problem, we will delete the Middle Node from a given Linked List. We have covered the algorithm (along with implementation) to delete the middle node from a Singly Linked List and Doubly Linked List.
Problems on Binary Tree Checking if a Binary Tree is foldable A binary tree is foldable if the left subtree and right subtree are mirror images of each other. An empty tree is also foldable. We have presented two algorithms to check if Binary Tree is foldable.
Problems on Binary Tree Serialization and Deserialization of Binary Tree We have presented the process of Serialization and Deserialization of Binary Tree where we convert a Binary Tree into a compress form which can be saved in a file and retrieved back.
Problems on Binary Tree Convert a Binary Tree to a Skewed Binary Tree We have presented the algorithm to Change a Binary Tree to a Skewed Binary Tree (both Increasing Skewed Binary Tree and Decreasing Skewed Binary Tree).
Problems on Binary Tree Check if a Binary Tree is skewed or not We have presented the algorithm to check if a given Binary Tree is skewed or not (can be left or right skewed Binary Tree).
Problems on Binary Tree Introduction to Skewed Binary Tree A binary tree can be called a skewed binary tree if all nodes have one child or no child at all. There are two types: left and right skewed.
Software Engineering Basics of Unordered multiset in C++ An unordered multiset is an unordered set (a set in which a key can be stored in any random order) that allows different elements to have equivalent values (allows duplicate items).
Software Engineering Basic commands for using VIM editor like a Pro In this guide, we have presented all basic commands that you will need to use VIM editor for doing all tasks efficiently. You will learn how to search for a word, how to replace the word, select, copy, paste, using various special features of VIM and much more.
Algorithms Munchausen Number A number that is equal to the sum of its digits each raised to the power equal to its digit is a Munchausen Number or perfect digit-to-digit invariant(PDDI).
Culture Bram Moolenaar: Man behind VIM has several failed projects Bram Moolenaar is an iconic Software Programmer from Netherlands who developed VIM editor, the alternative to VI editor on UNIX systems. He is the most prominent Open Source Software Developer from Netherlands.
Culture Riku Kawasaki Riku Kawasaki is a Competitive Programmer from Japan and is notable from reaching the World Rank 2 on CodeForces (as on March 2021) and being an Algorithmic Finalist at Topcoder Open 2019.
Software Engineering Create a custom UITableView in iOS using Swift Create an iOS app which has a custom table view (UITableView) using MVC pattern using Swift.
Problems on Binary Tree Find ancestors of a given node in a binary tree (Recursive + Iterative) Understand how to find ancestors of a given node in a binary tree recursively and iteratively in linear time O(N).
Problems on Binary Tree Find nodes which are at a distance k from root in a Binary Tree We are given the root of a tree, and an integer k. We need to print all the nodes which are a distance k from the root.
Problems on Binary Tree Find ancestors of a node in Binary tree (Recursive) In this problem, we are given a binary tree and a key k. We need to find out all the ancestors of node k. We have used a recursive approach.
Algorithms Fractional Cascading in Binary search Fractional Cascading is an optimization over Binary Search to perform Binary Search on K sorted lists to improve the time complexity from O(K logN) to O(logN + K). In this article, fractional cascading in binary search will be covered.
Software Engineering C++ Likely and Unlikely attributes C++ likely and unlikely attributes came into existence with the release of C++ 20. In our C++ code if we know which lines of code would most probably be executed during our code execution then we can use likely and unlikely attributes.
Software Engineering Vector::pop_back() in C++ We have learnt about pop_back() method of Vector class included in std::vector library in C++. Vectors can be considered as dynamic arrays on the basis of its usage.
Software Engineering Introduction to iOS development We presented an introduction to iOS development and how to build a basic iOS app using Swift and UIKit in the process by setting up our environment.
Culture Inspiring Competitive Programmer from India Meet this Inspiring Competitive Programmer from India (Udit Sanghi). He started Competitive Programming at the age of 13 and today, at the age of 18, he has achieved a lot through his consistency.
Machine Learning (ML) SAME and VALID padding SAME and VALID padding are two common types of padding using in CNN (Convolution Neural Network) models. SAME padding is equal to kernel size while VALID padding is equal to 0.
Software Engineering Create and Delete Folder in C++ This article covers the process of creating and delete a directory (folder) in C++. We have provided the complete C++ implementation.
Software Engineering MongoDB CRUD operations with Python We have covered MongoDB CRUD operations with Python, Object Document Mapper, implemented an API using Flask and used it using Postman. We used pymongo module to demonstrate this.
Machine Learning (ML) Xception: Deep Learning with Depth-wise Separable Convolutions Xception is a deep convolutional neural network architecture that involves Depthwise Separable Convolutions. This network was introduced Francois Chollet who works at Google, Inc.
Algorithms Knight’s Tour Problem The Knight's Tour Problem is one of the famous problem in which we have the knight on a chessboard. The knight is supposed to visit every square exactly once. We have explored Backtracking and Warnsdorff's algorithm.