This is a task list focused on Data Structure topics for OpenGenus IQ and Cosmos
See this guide to understand how to use this task list.
Message @aditya if you need any help. You may work on uncompleted tasks, improve existing work and add questions for a completed task. See published posts here
Following is a small collection of scopes you may contribute to:
Basic data structures
- Array (assigned to @InfiniteVerma)
- Linked List
- Singly Linked List
- Doubly Linked List (done by @la27)
- Stack
- Stack (assigned to @shreyagupta30)
- Stack using queue (assigned to @Vaibhav)
- Queue
- Queue (done by @GP1999)
- Circular queue (done by @karna98)
- Deque
- Priority queue (assigned to @saddhu1005)
- Queue using stack (done by @Robotjelly123)
- Queue using Linked List (done by @code_stromer)
- Binary Tree
- Hash Map (assigned to @cat)
Intermediate data structures
- Binary Search tree (assigned to @Vaibhav)
- Heap
- Min/ Max Heap (assigned to @yugander-krish)
- Binomial Heap (assigned to @saddhu1005)
- Fibonacci Heap (assigned at @rkrohitkmr93)
- Leftist Heap
- Soft Heap
- Pairing Heap
- Shadow Heap
- Self balancing binary tree:
- Bitmask
- Adjacency matrix
- Adjacency list
- Lowest Common Ancestor in a Binary Tree (assigned to @Meds)
- Union Find (assigned to @saddhu1005)
- Trie
- Range minimum query
- Square Root Decomposition
- Sparse tree
- Binary lifting in Lowest Common Ancestor
- Fractional cascading (binary search)
- Longest Common Prefix array (LCP)
- Prefix Sum Array
Advanced data structures
- XOR Linked list (done by @la27)
- XOR Linked list in Java
- Using XOR Linked list to implement backward and forward navigation of visited web pages
- Using XOR Linked list to implement Most Recently Used list
- Radix tree (assigned to @FR4NKESTI3N)
- K dimensional tree (assigned to @FR4NKESTI3N)
- Implicit K D tree
- KDB tree
- R tree
- M tree
- Range tree
- Interval tree
- Ternary Search Tree
- Cartesian Tree
- Palindromic Tree
- Segment tree
- Segment Tree
- 2D Segment Tree
- Lazy propogation in Segment tree
- Persistent segment tree
- Heavy light decomposition in Segment tree
- Li Chao tree
- Fenwick Tree / Binary Index Tree (BIT)
- Octree (assigned)
- Quad Trees (assigned)
- Quad edge
- Winged edge
- Anagram Trees
- X fast tries
- Y fast tries
- Van Emde Boas Trees
- Sqrt Tree
- Suffix array
- Suffix tree
- Ukkonen’s Suffix Tree algorithm
- ScapeGoat Tree
- Burkhard Keller Tree
- Rainbow table
- Finger tree
- Wavelet tree
Probabilistic data structures
- Bloom filter
- Count Min sketch
- Skip list (assigned to @Robotjelly123)
- Treap
- Quotient filter
- Rapidly-exploring Random Tree (RRT)
Kinetic data structure
- Kinetic heap
- Kinetic sorted list
- Kinetic minimum spanning tree
- Kinetic tournament/ priority queue
Problems / Applications of above data structures
- Infix to postfix using Stack (assigned to @piyush26c)
- Count inversions in an array using Fenwick Tree