Algorithms Why O(1) time complexity does not exist? + Memory Model We have taken an in-depth look at the operations or algorithms that have a constant time in terms of asymptotic notation of time complexities. Is O(1) really a practical way of representing the time complexity of certain algorithms/ operations?
Algorithms Reversal Algorithm to rotate an array We have discussed Reversal algorithm. It is widely used for rotating arrays. This algorithm is specifically useful for rotating array by any number of places because it efficiently does the operation in O(N) time and O(1) auxiliary space.
Algorithms Deleting Duplicate Characters of String We have explored the problem of Deleting Duplicate Characters of String such that the resulting string is lexicographically the smallest among all possibilities.
Algorithms k-th Largest Element in a stream In this article, we will discuss the problem Kth largest Element in a stream, and understand the different methods that can be used to solve the problem efficiently.
Algorithms Shuffle an array [2 approaches] We have explored two approaches to shuffle an array. The first approach uses an auxiliary array while the second approach is in-place and is known as Fisher Yates Algorithm.
Data Structures Array Interview Questions [MCQ with answers] This is the list of Interview Questions based on Array Data Structure. You must practice these Multiple Choice Questions. This will help you master Array Coding Questions for Interviews at companies like Google and Microsoft.
Algorithms Brian Kernighan's Algorithm In this article, we will learn what are set bits and how to count them. And we will also learn about Brian Kernighan's algorithm a famous algorithm to find the number of set bits in a number.
Algorithms Number of sub-strings with each character occurring even times This article discusses different algorithmic approach which we can use to find number of sub-strings with each character in it occurring even number times for a given string.
Algorithms Boyer Moore majority vote algorithm [Majority Element] Boyer Moore voting algorithm is used to find the majority element among the given sequence of elements which occurs more than N/2 times, in linear time complexity and constant space complexity.
Algorithms Division using Bitwise Operations We will see how to divide a number using the bitwise operator >> rather than using the regular division operator / or the multiplication operator * or the modulo operator %.
Algorithms Recursive Backtracking Backtracking is one of the many algorithmic techniques that can be used to solve various problems. In this article, we will exploring the idea of backtracking with the help of recursion (Recursive Backtracking) along with examples as well.
Algorithms Comparison using bitwise operations We have explored the idea of making comparisons (equal, larger, smaller) through bitwise operations along with the basic idea of bitwise operations and their examples.
Algorithms Number of distinct substrings of length K We have explained the approach to find the Number of distinct substrings of length K using Rolling hash technique, hash table and brute force approach.
Algorithms Number of rectangles from a given set of points We have discussed how to find the number of rectangles (parallel to the axes) possible from a given set of coordinate points.
Software Engineering Introduction to OpenGL We have introduced and explored the world of OpenGL and some topics that are related to it like what is OpenGL?, What is GLEW?, What is GLFW?, Shaders in OpenGL, Rendering Pipeline, Stages of Rendering Pipeline and Advantages of OpenGL.
Algorithms Subtraction using bitwise operations We are going to take a look at how can we subtract two numbers without using arithmetic operation. We will only use bitwise operations to perform subtraction.
Algorithms Shortest Path using Topological Sort We have explained the algorithm to find the shortest path in a Directed Acyclic Graph using Topological Sort.
Approximation Algorithm Probabilistic / Approximate Counting [Complete Overview] We have introduced and explored the idea of Probabilistic algorithms in depth with the different algorithms like Morris Algorithm, HyperLogLog, LogLog and others in this domain.
Algorithms Arithmetic Expression Evaluation using Stack We have explained how an Arithmetic Expression (like 2 * 3 + 4) is evaluated using Stack. We have presented the algorithms and time/ space complexity.
Algorithms Boundary Fill Algorithm Boundary Fill algorithm is used to fill a inside of closed polygon having boundary of same color with a desired color. It is mainly used with interactive-painting packages. We have explained Boundary Fill algorithm in depth.
Algorithms Addition using Bitwise Operations In this article, we will see how to add any two positive numbers using the bitwise operators like and, xor, and left shift operators rather than using the normal addition operator (+).
Algorithms Time Complexity Bound for comparison based sorting We have explained the mathematical analysis of time complexity bound for comparison based sorting algorithm. The time complexity bound is O(N logN) but for non-comparison based sorting, the bound is O(N).
Algorithms Karp's Minimum Mean Cycle Algorithm We have presented Karp's Minimum Mean Cycle Algorithm along with C++ Implementation. Karp's theorem and Complexity Analysis.
Algorithms Bubble Sort using Two Stacks We have explored the algorithm to perform Bubble Sorting Algorithm using Two Stacks and sort a given array.
Algorithms Approximate algorithms for NP problems We have covered Idea of Approximate algorithms for NP problems. NP problems are tough but Approximate algorithms are considered to be a good approach as we get a answer close to the real answer in reasonable time. We have covered the basics with examples of problems like Bin Packing.