Data Structures and Algorithms - CS 201

Covers arrays, linked lists, stacks, queues, trees, hash tables, sorting, searching, recursion, and Big-O analysis.

Study Tools

All

Study guides

9

5 Stacks and Queues

A practical guide to stacks, queues, deques, their implementations, complexity trade-offs, and common algorithmic applications.
Study guide · Updated

8 Searching Algorithms

A practical guide to choosing, analyzing, and implementing linear and binary search while accounting for ordering, data structures, duplicates, correctness, and preprocessing costs.
Study guide · Updated

9 Sorting Algorithms

A structured guide to comparison-based sorting algorithms, their complexity, stability, memory use, and practical selection criteria.
Study guide · Updated

3 Arrays and Dynamic Arrays

A progressive guide to array storage, indexing, traversal, updates, dynamic resizing, amortized analysis, and practical data-structure trade-offs.
Study guide · Updated

6 Trees and Binary Search Trees

Learn how trees are structured, traversed, analyzed recursively, and used as binary search trees for efficient searching, insertion, and deletion.
Study guide · Updated

4 Linked Lists

A practical guide to how linked lists store data, support traversal and updates, compare with arrays, and guide data-structure choices.
Study guide · Updated

2 Recursion

A progressive guide to designing, tracing, analyzing, proving, and improving recursive algorithms, with examples involving factorials, arrays, trees, divide-and-conquer methods, and backtracking.
Study guide · Updated

7 Hash Tables

Learn how hash tables map keys to storage locations, resolve collisions, manage load, resize efficiently, and achieve fast expected performance.
Study guide · Updated

1 Algorithm Analysis and Big-O Notation

A progressive guide to measuring algorithm efficiency, simplifying asymptotic expressions, analyzing recursion, and comparing data-structure operations under explicit assumptions.
Study guide · Updated

Quizzes

9

8 Searching Algorithms

A medium-difficulty quiz on searching algorithms, including algorithm selection, prerequisites, complexity, data structures, boundary handling, correctness, and preprocessing trade-offs.
Quiz · Updated

1 Algorithm Analysis and Big-O Notation

A 14-question quiz on algorithmic thinking, data structures, runtime and space complexity, asymptotic notation, recurrences, and practical Big-O analysis. Questions progress from foundational applications to more involved analysis.
Quiz · Updated

3 Arrays and Dynamic Arrays

A medium-difficulty quiz on arrays and dynamic arrays, covering indexing, memory layout, traversal, insertion and deletion costs, dynamic-array capacity management, resizing, amortized analysis, and practical trade-offs.
Quiz · Updated

9 Sorting Algorithms

A medium-difficulty quiz on comparison-based sorting algorithms, their behavior, complexity, stability, memory use, and practical selection. The questions progress from foundational interpretation to applied analysis.
Quiz · Updated

4 Linked Lists

A medium-difficulty quiz on linked-list structure, traversal, updates, complexity, searching, and design trade-offs. Questions progress from foundational applications to more integrated reasoning.
Quiz · Updated

7 Hash Tables

A medium-difficulty quiz on hash tables covering hashing, equality, collision resolution, load factor, probing, deletion, resizing, performance, and data-structure selection.
Quiz · Updated

5 Stacks and Queues

A medium-difficulty quiz on stacks, queues, deques, implementations, complexity, and applications. Questions progress from direct application of the access rules to implementation analysis and algorithmic reasoning.
Quiz · Updated

2 Recursion

A 14-question quiz on recursion covering recursive function structure, base cases, call stacks, recurrence analysis, recursive patterns, correctness, and practical trade-offs.
Quiz · Updated

6 Trees and Binary Search Trees

A 14-question quiz on trees, binary trees, traversals, recursive algorithms, and binary search trees. The questions progress from foundational concepts to applied reasoning about structure, complexity, and BST operations.
Quiz · Updated

Flashcards

9

9 Sorting Algorithms

Learn how comparison-based sorting algorithms work, how their time, space, and stability properties differ, and when to choose each one.
Flashcards · Updated

7 Hash Tables

Learn how hash tables map keys to locations, resolve collisions, manage load, resize efficiently, and achieve expected constant-time operations.
Flashcards · Updated

3 Arrays and Dynamic Arrays

A focused study tool covering array layout, indexing, traversal, updates, dynamic resizing, capacity management, and operation complexity.
Flashcards · Updated

2 Recursion

Review the principles, design patterns, correctness techniques, call-stack behavior, and time and space analysis of recursive algorithms.
Flashcards · Updated

8 Searching Algorithms

A focused review of linear search, binary search, correctness, complexity, data-structure requirements, duplicate handling, and algorithm selection.
Flashcards · Updated

1 Algorithm Analysis and Big-O Notation

A focused review of algorithmic thinking, runtime and space complexity, asymptotic notation, recurrence relations, growth rates, and data-structure performance.
Flashcards · Updated

6 Trees and Binary Search Trees

A focused review of tree terminology, binary-tree traversals, recursive algorithms, and binary search tree operations and complexity.
Flashcards · Updated

4 Linked Lists

Review linked-list structure, traversal, updates, complexity, variants, and trade-offs with arrays.
Flashcards · Updated

5 Stacks and Queues

A focused review of stack, queue, deque, implementation, complexity, and algorithmic application concepts.
Flashcards · Updated