Skip to content

DSA Progress Tracker #1596

@aryasree-ar

Description

@aryasree-ar

📌 Progress Tracker

Complete Git & GitHub Course

  • Complete Git & GitHub Course

Introduction to Programming

  • Introduction to Programming
    • Types of languages
    • Memory management
    • Flow of the program
    • Flowcharts
    • Pseudocode

Introduction to Java

  • Introduction to Java
    • Introduction
    • How it works
    • Setup Installation
    • Input and Output in Java
    • Conditionals & Loops in Java
      • if-else
      • loops
      • Switch statements
    • Data-types
    • Coding best practices

Functions

  • Functions
    • Introduction
    • Scoping in Java
    • Shadowing
    • Variable Length Arguments
    • Overloading

Arrays

  • Arrays
    • Introduction
    • Memory management
    • Input and Output
    • ArrayList Introduction
    • Searching
      • Linear Search
      • Binary Search
      • Modified Binary Search
      • Binary Search on 2D Arrays
    • Sorting
      • Insertion Sort
      • Selection Sort
      • Bubble Sort
      • Cyclic Sort
      • Count Sort
      • Radix Sort
    • Pattern questions

Strings

  • Strings
    • Introduction
    • How Strings work
    • Comparison of methods
    • Operations in Strings
    • StringBuilder in Java
    • StringBuffer

Maths for DSA

  • Maths for DSA
    • Introduction
    • Complete Bitwise Operators
    • Range of numbers
    • Prime numbers
    • Sieve of Eratosthenes
    • Newton's Square Root Method
    • Factors
    • Modulo properties
    • Number Theory
    • HCF / LCM
    • Euclidean algorithm
    • BigInteger & BigDecimal

Recursion

  • Recursion
    • Introduction
    • Flow of recursive programs - stacks
    • Why recursion?
    • Tree building of function calls
    • Tail recursion
    • Sorting
      • Merge Sort
      • Quick Sort
    • Backtracking
      • N-Queens
      • N-Knights
      • Sudoku Solver
      • Maze problems
    • Recursion String Problems
    • Recursion Google, Amazon Questions
    • Recursion Array Problems
    • Recursion Pattern Problems
    • Subset Questions

Space and Time Complexity Analysis

  • Space and Time Complexity Analysis
    • Introduction
    • Comparisons of various cases
    • Solving Linear Recurrence Relations
    • Solving Divide and Conquer Recurrence Relations
    • Big-O, Big-Omega, Big-Theta
    • Little Notations
    • Get equation of any relation
    • Complexity discussion of problems
    • Space Complexity
    • NP-Completeness Introduction

Object Oriented Programming

  • Object Oriented Programming
    • Introduction
    • Classes & instances
    • this keyword
    • Properties
    • Inheritance
    • Abstraction
    • Polymorphism
    • Encapsulation
    • Overloading & Overriding
    • Static & Non-Static
    • Packages
    • Access Control
    • Interfaces
    • Abstract Classes
    • Annotations
    • Singleton Class
    • final, finalize, finally
    • Object Cloning
    • Object Class
    • Generics
    • Exception Handling
    • Collections Framework
    • Vector Class
    • Lambda Expression
    • Enums

Linked List

  • Linked List
    • Introduction
    • Singly + Doubly + Circular
    • Fast and slow pointer
    • Cycle Detection
    • Reversal of LinkedList
    • Linked List + Recursion

Stacks & Queues

  • Stacks & Queues
    • Introduction
    • Push efficient
    • Pop efficient
    • Queue using Stack / Stack using Queue
    • Circular Queue
    • Interview problems

File handling

  • File handling

Trees

  • Trees
    • Introduction
    • Binary Trees
    • Binary Search Trees
    • Interview questions
    • DFS
    • BFS
    • AVL Trees
    • Segment Tree
    • Fenwick Tree / BIT

Heaps

  • Heaps
    • Introduction
    • Theory
    • Priority Queue
    • Heapsort
    • Two Heaps Method
    • k-way merge
    • Top k elements
    • Interval problems

HashMap

  • HashMap
    • Introduction
    • Theory & comparisons
    • Limitations
    • Chaining
    • Probing
    • Huffman Coding
    • Karp-Rabin String Matching
    • Subarray Problems (Sliding Window, Two Pointer, Kadane)

Graphs

  • Graphs
    • Introduction
    • BFS
    • DFS
    • Components
    • MST
    • Kruskal
    • Prims
    • Dijkstra
    • Topological Sort
    • Bellman Ford
    • A* Pathfinding

Dynamic Programming

  • Dynamic Programming
    • Introduction
    • Recursion → DP → Iteration → Space optimized
    • 0/1 Knapsack
    • Subset Problems
    • Unbounded Knapsack
    • Subsequence Problems
    • String DP

Greedy Algorithms

  • Greedy Algorithms

Tries

  • Tries

Advanced Concepts

  • Advanced Concepts
    • Bitwise + DP
    • Extended Euclidean Algorithm
    • Modulo Multiplicative Inverse
    • Linear Diophantine Equations
    • Matrix Exponentiation
    • Mathematical Expectation
    • Catalan Numbers
    • Fermat’s Theorem
    • Wilson's Theorem
    • Euler's Theorem
    • Lucas Theorem
    • Chinese Remainder Theorem
    • Euler Totient
    • NP-Completeness

Multithreading

  • Multithreading

Square Root Decomposition

  • Square Root Decomposition

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions