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 Triplets with given Sum Given an array, we need to find if there is a triplet in the array whose sum is equal to a given value. If such a triplet is present, we need to print it and return true. Else, return false.

Algorithms Counting derangements Given any integer N, we need to find out the number of Derangements for a set of N elements.

Algorithms Dice Throw Problem (Dynamic Programming) There are d dice each having f faces. We need to find the number of ways in which we can get sum s from the faces when the dice are rolled. We have explored a Dynamic Programming solution to Dice Throw problem.

Algorithms Longest Common Decreasing Subsequence In this problem (Longest Common Decreasing Subsequence), we are given 2 arrays and we need to find out the longest common decreasing subsequence from those two arrays. This can be solved using Dynamic Programming.

Algorithms Maximum Sum Increasing Subsequence In this problem (Maximum Sum Increasing Subsequence), we are given an array and we need to find out the maximum sum increasing subsequence from that array. This can be solved using Dynamic Programming.

Algorithms Diameter of N-ary tree using Dynamic Programming We are given input as the reference to the root of an N-ary tree. We need to calculate the diameter of the tree that is the longest path between any two nodes using Dynamic Programming.

Problems on Binary Tree Diameter of a Binary Tree In this problem, we are given input as the reference to the root of a binary tree. We need to find the diameter of the tree. We find the diameter using recursion and Depth First Search (DFS).

Algorithms Algorithm to detect and remove loop in a Linked List Given a Linked list, find out whether it contains a loop or not. If it does, then remove the loop and make the last node point to NULL.

Software Engineering Typecasting in C We have explored Typecasting in the C language. The definition, categories of Typecasting, Why it is used and How, along with many examples so that it will be easy to understand.