Blog

Your dream job? Lets Git IT.
Interactive technical interview preparation platform designed for modern developers.

XGitHub

Platform

  • Categories

Resources

  • Blog
  • About the app
  • FAQ
  • Feedback

Legal

  • Privacy Policy
  • Terms of Service

© 2025 LetsGit.IT. All rights reserved.

LetsGit.IT/Categories/Data Structures
Data Structureshard

Why is append to a dynamic array amortized O(1)?

Tags
#dynamic-array#amortized#resizing#big-o
Back to categoryPractice quiz

Answer

Most appends write into free capacity in O(1). Occasionally the array resizes and copies O(n) elements; spread over many appends, the average cost per append stays O(1) (amortized).

let capacity = 4;
let size = 0;

function append(x: number) {
  if (size === capacity) {
    capacity *= 2; // resize + copy O(n)
  }
  size++;
}

Related questions

Data Structures
What is a segment tree and what complexity does it give for range queries and updates?
#segment-tree#range-query#updates
Data Structures
Building a heap from an array: why can it be O(n), not O(n log n)?
#heap#heapify#complexity
Data Structures
Why can a hash table resize cause latency spikes, and how can you mitigate it?
#hash-table#rehash#latency
Data Structures
What is a sparse table and what problems is it good for?
#sparse-table#rmq#preprocessing
Data Structures
What is a segment tree and what is it good for?
#segment-tree#range-query#big-o
Data Structures
What is the heap property in a binary heap?
#heap#binary-heap#priority-queue