3 min read

    Python for DSA — Syllabus

    PythonDSASyllabusRoadmap

    Goal: Learn Python only as needed for Data Structures & Algorithms.


    1. Basics 🔗 Notes

    • What is Python? Installation & Running code
    • Variables & Data Types (int, float, str, bool)
    • Input / Output (print(), input())
    • Basic Operators (+, -, *, /, //, %, **, ==, !=, <, >, and, or, not)

    2. Strings 🔗 Notes

    • Creating & Indexing
    • Slicing ([::-1], [start:end:step])
    • Useful methods (.lower(), .upper(), .split(), .join(), .strip(), .replace(), in operator)
    • f-strings for formatting

    3. Lists 🔗 Notes

    • Creating, Indexing, Slicing
    • Methods (.append(), .pop(), .insert(), .remove(), .sort(), .reverse(), .copy())
    • List comprehension ([x for x in ...])
    • Nested lists (matrices)

    4. Tuples & Sets 🔗 Notes

    • Tuple — immutable, when to use
    • Set — unique elements, O(1) lookups
    • Set operations (union, intersection, difference)

    5. Dictionaries 🔗 Notes

    • Key-Value pairs, O(1) lookups
    • Methods (.get(), .keys(), .values(), .items(), .pop())
    • Dictionary comprehension
    • Using dicts for counting / frequency (Counter pattern)

    6. Conditionals & Loops 🔗 Notes

    • if / elif / else
    • for loop (for x in iterable)
    • while loop
    • range(), enumerate(), zip()
    • break / continue

    7. Functions 🔗 Notes

    • Defining (def), Parameters, Return values
    • Default & Keyword arguments
    • lambda functions (for sorting / callbacks)
    • Recursion (intro — needed for DSA)

    8. Built-in Functions & Modules 🔗 Notes

    • len(), sum(), min(), max(), sorted(), reversed()
    • map(), filter() (when to use vs comprehension)
    • zip(), enumerate()
    • abs(), ord(), chr()
    • Importing (import, from ... import)

    9. List & Dict Utilities for DSA 🔗 Notes

    • Sorting with custom key (sorted(arr, key=lambda x: ...))
    • defaultdict, Counter (from collections)
    • deque (for queues / BFS)
    • heapq (for heaps / priority queues — as needed)

    10. Time & Space Complexity 🔗 Notes

    • Why O(1) lookups in dict/set
    • Cost of slicing, append, insert in lists
    • Choosing the right data structure

    🚫 What's intentionally excluded Classes/OOP, file I/O, exception handling, generators, decorators, context managers, *args/**kwargs, threading, async, packages beyond collections & heapq, matplotlib, numpy, etc. These aren't needed for DSA problem-solving.