Deck · IOI — Competitive Programming

Fundamental Data Structures

Core data structures for competitive programming: arrays, dynamic arrays, linked lists, stacks, queues, deques, monotonic stacks/queues, hash tables, binary heaps, sets and maps, strings, and bit manipulation, with emphasis on operation complexities.

78 cards · audited · SM-2 spaced repetition

or go All-Access →

Included with the full IOI — Competitive Programming program — 14 decks, 964 cards.

Sample cards

1

What is the time complexity of random access (indexing) into an array?

2

Why is inserting or deleting in the middle of a fixed array O(n)?

3

What is a dynamic array and how does it grow?

4

What is the amortized time complexity of push_back on a dynamic array?

5

Why must dynamic arrays grow geometrically rather than by a constant amount?

Showing 5 of 78 cards. Unlock the program to study them all.

More in IOI — Competitive Programming

Master fundamental data structures — and the rest of IOI — Competitive Programming.

One program. 964 audited cards across 14 decks.

or go All-Access →

See the full program →