Culture OpenGenus Visual Documentation In this article, we give a detailed documentation of the development of OpenGenus Visual project which is an open-source Visualization tool for Algorithms and Data Structures.

Algorithms Data Structure for Spreadsheet / Excel In this article, we have explored several Data Structures that are used in Spreadsheet / Excel Sheet. These involve ideas like Sparse Matrix, AVL Tree and much more.

Time Complexity Time and Space Complexity of Circular Linked List In this article, we have explored Time and Space Complexity of Circular Linked List. We have covered different cases like Worst Case, Average Case and Best Case.

Time Complexity Time and Space Complexity of Red Black Tree In this article, we will look at the Time and Space Complexity analysis of various Red-Black Tree operations including searching, inserting, and deleting for worst, best, and average cases.

Data Structures Array Data Structure In this article, we have explored Array Data Structure in depth. We explore key ideas in Array and how we develop our own custom implementation of Array along with different Array operations.

Time Complexity Time and Space Complexity of Queue This article is about the analysis of time and space complexity of queue operations. With this, we will also learn what the time and space complexity are and how we can calculate the time and space complexity of an algorithm.

Time Complexity Time and Space Complexity of Stack In this article, we will explore about various operations on Stack Data Structure and the Time and Space Complexity of each operation for various cases like Best case, Average case and Worst case.

Data Structures Li Chao Segment Tree In this article, we discuss the Li Chao tree, a segment tree which can be persistent and is faster in practice compared to the convex hull trick.

Time Complexity Time and Space complexity of Trie In this article, we will understand the Complexity analysis of various Trie operations. We have covered Time and Space Complexity of Trie for various cases like Best case, Average Case and Worst Case.

Data Structures Persistent Trie In this article, we discuss the Trie data structure and how to make it persistent to solve various problems optimally.

Algorithms Average Height of Random Binary Search Tree In this post, we discuss the average height of a Random Binary Search Tree (BST) (that is 4.31107 ln(N) - 1.9531 lnln(N) + O(1)) by discussing various lemmas and their proofs. We omit full proofs and discuss the essential key points for easier understanding.

Algorithms Create a Heap from Array of N integers In this post, we discuss the heap data structure and how to create a min and max heap from N given integers in form of an Array. Similarly, inserting elements one by one take O(N logN) time but the optimal approach takes O(N) time.

Time Complexity Time & Space Complexity of AVL Tree operations In this article, we will dive into the Time & Space Complexity and Complexity analysis of various AVL Tree operations like searching, inserting and deleting for different cases like Worst, Best and Average Case.

Algorithms Distributed Hash Table In this article, we discuss hash tables and their implementations on a larger scale while maintaining its computational complexity that is Distributed Hash Table.

Data Structures All O`one Data Structure In this post, we will design a Data Structure that returns the string occurring maximum and minimum times in constant time O(1). This will use a hashmap and a doubly linked list utilizing the advantages of each to solve the problem.

Rust Programming Trie Data Structure in Rust In this article, we have presented the approach to implement Trie Data Structure in Rust Programming Language.

Algorithms Adjacency Matrices Explained: A Representation of Graphs In this article, we have explained the idea of Adjacency Matrix which is good Graph Representation. We have presented it for different cases like Weighted, undirected graph along with implementation and comparison with Adjacency List.

Data Structures Scapegoat tree In this article, we will explore in detail about Scapegoat tree which is a Self Balancing Binary Tree without requiring any extra space which puts Scapegoat Tree at an unique advantage.

Data Structures Data Structure with insert and product of last K elements operations We have presented 2 designs for Data Structure with insert and product of last K elements operations. Both operations can be done in constant time O(1).

Data Structures Design data structure that support insert, delete and get random operations We will understand in depth the designing of a data structure that supports "insert value", "delete value" and "get random" operations where these tasks are performed in constant time O(1).

Data Structures "Design a Data Structure" problems We have present some must practice "Design a Data Structure" problems. These are important problems for Coding Interviews at Google and other companies. You need to modify standard data structure to form new data structures to solve this problem efficiently.

Algorithms List of 50+ Binary Tree Problems for Coding Interviews We have listed important Problems on Binary Tree which you must practice for Coding Interviews and listed introductory and background topics on Binary Tree as well. You must bookmark this page and practice all problems listed.

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.

Data Structures Basics of R Tree R-tree is an advanced height-balanced Tree Data Structure that is widely used in production for spatial problems (like geographical map operations). We have presented the need for R Tree along with the basics of R Tree

Algorithms Array vs Linked List [Differences Explained] This article explain the differences between Array and Linked List (Array vs Linked List) in depth along with key points that will help you in deciding which one to use for a specific problem.