Amortized Complexity of Data Structures