References: Algorithms and Data Structures¶
-
Wikipedia: Algorithm — https://en.wikipedia.org/wiki/Algorithm A foundational overview of what algorithms are, how they work, and why they matter. Covers algorithm design, correctness, and complexity — directly relevant to this chapter's core theme.
-
Wikipedia: Data Structure — https://en.wikipedia.org/wiki/Data_structure Explains how stacks, queues, graphs, and other data structures organize information in memory. Provides essential context for understanding why choosing the right structure matters for a given problem.
-
Wikipedia: Breadth-First Search — https://en.wikipedia.org/wiki/Breadth-first_search Describes the BFS graph-traversal algorithm with diagrams and pseudocode. Essential background for students learning how BFS and DFS explore nodes in a graph using queues versus stacks.
-
Python Crash Course by Eric Matthes (No Starch Press) Introduces Python data structures and control flow with clear, project-driven examples. The chapters on lists and dictionaries build the foundation students need to implement stacks, queues, and adjacency lists in Python.
-
Think Python by Allen B. Downey (O'Reilly, free online at greenteapress.com/thinkpython) A rigorous yet readable introduction to computational thinking, algorithm design, and recursion. Directly covers sorting, searching, and complexity analysis at a depth appropriate for students moving beyond block-based coding.
-
Python Docs —
collectionsmodule — https://docs.python.org/3/library/collections.html Official reference fordeque, a built-in Python structure ideal for implementing stacks and queues efficiently. Shows concrete examples of how to push, pop, and peek using standard library tools. -
Real Python: Introduction to Stacks and Queues — https://realpython.com/queue-in-python/ A hands-on tutorial walking through Python implementations of queues using lists,
deque, and thequeuemodule. Includes visualizations and worked examples that reinforce this chapter's stack and queue concepts. -
Programiz: BFS and DFS in Python — https://www.programiz.com/dsa/graph-bfs Step-by-step explanation of breadth-first search with animated diagrams and complete Python code. Helps beginners see exactly how BFS traverses a graph level by level using a queue.
-
GeeksforGeeks: Sorting Algorithms in Python — https://www.geeksforgeeks.org/sorting-algorithms-in-python/ Covers bubble sort, selection sort, merge sort, and more with Python implementations and complexity comparisons. A useful reference for students exploring why different sorting algorithms have different speeds on large data sets.
-
W3Schools: Python Binary Search — https://www.w3schools.com/python/python_binarysearch.asp A beginner-friendly explanation of binary search with interactive code examples. Shows students how searching a sorted list in halves is dramatically faster than scanning every element one by one.