Пусть maxItem будет числом с плавающей запятой с начальным значением 0, а list будет дважды связанным списком чисел с плавающей запятой, которые поддерживают следующие операции:
Вставить ( listIter ):
добавить новый элемент со значением 1 в список после listIter iterator;
, если maxItem <1, установить <em>maxItem : = 1
Увеличение ( listIter ):
увеличить значение элемента на listIter на 2;
, если list [listIter] > maxItem , установить maxItem : = list [listIter]
RemoveLargeElements ():
threshold = [len(list)/3]
if maxItem > threshold:
maxItem = 0
for all listIter in list:
if list[listIter] > threshold:
remove the element at listIter
else if list[listIter] > maxItem:
maxItem = list[listIter]
Оценить временную сложность всех операций в худшем случае и их амортизированную стоимость.
Если я правильно понимаю, временная сложность в худшем случаерегистр O (1), O (1) и O (n) соответственно.И поэтому амортизируется стоимость первых двух функций, если O (1).Но у меня есть трудности с амортизированной стоимостью последней функции, как мне найти ее, используя метод учета?