파이썬(Python) 자료구조와 알고리즘(Algorithms): 리스트(List)부터 그래프(Graph)까지
PYTHONIntermediate

Python Data Structures and Algorithms: From Lists to Graphs

Build a Social Network Analyzer while mastering the data structures that power real software

D
Dr. James Park· Python Engineer & Educator
10 lessons8.5h0 students70 views
Start Learning
Share

About this course

Every Python developer hits the same wall. Your code works, but it crawls on real data. You reach for a list when you need a set. You write a nested loop when a hash map would finish in microseconds. You have no idea why your colleague's solution is 100x faster. This course exists because I have watched this pattern play out hundreds of times, at Google, at startups, in code reviews that made me want to close my laptop and take a long walk. This is not a theory-heavy algorithms textbook ported to video. Every lesson starts with a real problem, a slow query, a memory spike, a bug in production, and we work backward to the data structure that solves it. You will profile code with timeit and sys.getsizeof. You will intentionally break linked lists and fix them under pressure. You will run controlled experiments comparing sorting algorithms on real datasets. The approach is hands-on and opinionated: I will tell you when a data structure is the wrong choice, not just how it works. This course is built for intermediate Python developers who can write functions, classes, and use standard library modules, but who want to understand why certain approaches outperform others. If you have completed a beginner Python course or have 6+ months of writing Python, you are ready. If you already implement red-black trees for fun, this is not for you. By the end, you will have built NetProbe, a fully functional social network analysis CLI that uses every major data structure covered in the course. More importantly, you will have the instinct to choose the right data structure for the job, the ability to reason about time and space complexity without memorizing formulas, and a portfolio project that demonstrates real algorithmic thinking to any hiring manager.

Learning Outcomes

  • Analyze the time and space complexity of Python built-in operations using Big-O notation and empirical profiling
  • Implement and apply hash tables, linked lists, stacks, queues, trees, heaps, and graphs to solve practical programming problems
  • Evaluate trade-offs between competing data structures for a given problem and justify the optimal choice
  • Debug faulty data structure implementations by tracing pointer logic, identifying off-by-one errors, and validating edge cases
  • Design graph-based models for real-world relationship data and apply BFS, DFS, and Dijkstra's algorithm to extract insights
  • Construct a complete CLI application that integrates multiple data structures into a cohesive, performant system
  • Apply recursive problem decomposition with memoization to avoid redundant computation in tree and graph traversals
#data structures#algorithms#Big-O#graphs#python#problem solving#software engineering#CLI tools#computer science fundamentals

Reviews

Related Courses