Brief explanation for some useful terms.


  • Amortized time A way to express time complexity for a given algorithm which has very bad time complexity rarely besides the time complexity that happens most of time.


  • Immutable An immutable type is a class or struct written so that it cannot be changed once it's created.
  • Invariant A function, quantity, or property which remains unchanged when a specified transformation is applied.