Open DSA A curated list of Data Structres and Algorithms, with their Time Complexities, Applications, Implementation and much more! Data Structures Arrays Linked List Singly Linked List Doubly Linked List Stacks Array Implementation Dynamic Stack using Array and Template Linked List Implementation Queues Array Implementation Linked List Implementation Trees AVL Tree Algorithms Searching Linear Search Binary Search Sorting Selection Sort Bubble Sort Insertion Sort Merge Sort Quick Sort Union of two sorted arrays Intersection of two sorted arrays Arrays Left Shift Right Shift Frequency of occurence Heaps kth largest element Dynamic Programming Knapsack Subset Sum Unbounded Knapsack Rod Cut Longest Common Subsequence Shortest Common Subsequence Longest Repeating Subsequence Longest Common Substring Matrix Chain Multiplication Maximum Product Subarray Longest Arithmetic Subsequence Longest Palindromic Substring Equal Sum Partition