I'm studying algorithms. What is the difference among amortized cost, average cost, and expected cost?