1. Welcome
  2. Introduction
  3. Getting Started with Data Structures, Algorithms, and Complexity
    1. What is DSA?
    2. What is an Algorithms?
    3. What is pseudocode?
    4. Why Learn DSA?
    5. Applications of DSA(Where It’s Used)
    6. Impact of Using vs. Not Using DSA
    7. Introduction to Big-O Notation
    8. Common Big-O Complexities
    9. What is Complexity?
    10. Common Algorithmic Complexities with Examples
  4. Introduction to Recursion
    1. Factorial Example
    2. Recursion vs Iteration
    3. Tail Recursion
  5. Data Structures
    1. Array
      1. 2D Array
      2. Jagged Array
    2. Strings
      1. Mutable Strings
    3. Stacks
    4. Queues
      1. Priority Queue
    5. Linked Lists
      1. Doubly Linked Lists
      2. Circular Linked Lists
    6. Hashing
    7. Trees
    8. Graphs
  6. Sorting Algorithms
    1. Bubble Sort
    2. Selection Sort
    3. Insertion Sort
    4. Merge Sort
  7. Searching Algorithms
    1. Linear Search
    2. Binary Search
  8. Recursion Problem Solving with DSA
    1. BinarySearchRecursion
    2. FactorialWithMemoization
    3. RecursiveArraySum
    4. ReverseStringRecursively
    5. TowerOfHanoi
    6. FibonacciOptimization
    7. LinkedListTraversal
    8. PowerFunction
    9. RecursiveVsIterativeSum
    10. ReverseStringComparison
    11. FactorialConversion
    12. ReverseStringTailRecursion
    13. TailRecursiveListLength
    14. TailRecursivePower
    15. TailRecursiveSum
  9. Array Problem Solving with DSA
    1. ArrayReversal
    2. ArrayRotation
    3. ArraySorting
    4. DuplicateFinder
    5. MaximumElement
    6. 3DArraySummation
    7. DiagonalElements
    8. MatrixMultiplication
    9. TransposeMatrix
    10. WaveTraversal
    11. AdjacencyListRepresentation
    12. DynamicRowAddition
    13. JaggedArrayTranspose
    14. RowSorting
    15. SparseMatrixSum
  10. Strings Problem Solving with DSA
    1. PalindromeChecker
    2. ReverseString
    3. StringCompression
    4. StringPoolExperiment
    5. SubstringFrequency
    6. DynamicTextBuilder
    7. InsertAndDeleteSimulation
    8. StringBuilderCapacityManagement
    9. StringReversal
    10. ThreadSafeConcatenation
  11. Stacks Problem Solving with DSA
    1. BrowserBackButtonSimulation
    2. InfixToPostfixConversion
    3. ParenthesesChecker
    4. StackMinFunction
    5. StringBuilderCapacityManagement
  12. Queues Problem Solving with DSA
    1. CircularQueueTest
    2. PrintJobSimulator
    3. QueueBasedBFS
    4. QueueReversal
    5. TicketCounterSimulation
    6. DijkstrasAlgorithm
    7. KthLargestElement
    8. MergeKSortedLists
    9. MinHeapToMaxHeap
    10. TaskScheduler
  13. Linked Lists Problem Solving with DSA
    1. CycleDetection
    2. MergeTwoSortedLists
    3. MiddleElementFinder
    4. PlaylistManager
    5. ReverseLinkedList
    6. BidirectionalTraversal
    7. BrowserHistorySimulator
    8. DequeImplementation
    9. InsertAfterValue
    10. ReverseDoublyLinkedList
    11. InsertAfterValueCircular
    12. JosephusProblem
    13. RotateCircularLinkedList
    14. RoundRobinScheduler
    15. SplitCircularLinkedList
  14. Hashing Problem Solving with DSA
    1. CollisionAnalysis
    2. CustomHashFunction
    3. PhoneBookApplication
    4. TwoSumProblem
    5. WordFrequencyCounter
  15. Trees Problem Solving with DSA
    1. BSTValidator
    2. HeightOfBST
    3. LowestCommonAncestor
    4. PreorderPostorderTraversals
    5. RangeSumQuery
  16. Graphs Problem Solving with DSA
    1. CycleDetection
    2. GraphConnectivity
    3. ShortestPathUnweighted
    4. SocialNetworkSimulation
    5. WeightedGraphExtension
  17. Sorting Algorithms Problem Solving with DSA
    1. BasicBubbleSort
    2. BubbleSortEdgeCaseHandling
    3. BubbleSortFlagOptimization
    4. BubbleSortPerformanceAnalysis
    5. DescendingBubbleSort
    6. BasicSelectionSort
    7. DescendingSelectionSort
    8. SelectionSortMinimumSwapCount
    9. SelectionSortPerformanceAnalysis
    10. SelectionSortStringArray
    11. BasicInsertionSort
    12. DescendingInsertionSort
    13. InsertionSortNearlySortedArrays
    14. InsertionSortObjectSorting
    15. InsertionSortPerformanceAnalysis
    16. BasicMergeSort
    17. DescendingMergeSort
    18. MergeSortObjectSorting
    19. MergeSortPerformanceAnalysis
    20. MergeSortSpaceOptimization
  18. Searching Algorithms
    1. BasicLinearSearch
    2. LinearSearchLastOccurrence
    3. LinearSearchMultipleTargets
    4. LinearSearchObjectSearch
    5. LinearSearchPerformanceAnalysis
    6. BasicBinarySearch
    7. BinarySearchFirstLastOccurrence
    8. BinarySearchObjectSearch
    9. BinarySearchPerformanceAnalysis
    10. BinarySearchRecursiveImplementation
  19. Appendix-Glossary of Terms
  20. Appendix-Pseudocode Symbols
  21. Appendix-Java Code Templates