Data Structures19 sections · 729 units
Open in Course

Types of Persistence

Partial vs full vs confluent

Partial persistence: Query any past version, but only update the latest.

Full persistence: Query and update any version, creating new branches.

Confluent persistence: Combine two versions into one (like merging git branches).

Most competitive programming problems need partial persistence: you update sequentially and query any past state.

Full persistence allows "time travel" updates: modify version 5 to create version 10, then modify version 3 to create version 11. You'll focus on partial persistence first, then discuss full persistence.