Я пытаюсь перечислить временные сложности операций с общими структурами данных, такими как массивы, двоичное дерево поиска, куча, связанный список и т. Д., И особенно я имею в виду Java. Они очень распространены, но я думаю, что некоторые из нас не уверены на 100% в точном ответе. Любая помощь, особенно ссылки, приветствуется.
Например, для односвязного списка: изменение внутреннего элемента - O (1). Как это сделать? Вы ДОЛЖНЫ выполнить поиск элемента перед его изменением. Кроме того, для вектора добавление внутреннего элемента задается как O (n). Но почему мы не можем сделать это за амортизированное постоянное время, используя индекс? Пожалуйста, поправьте меня, если я что-то упускаю.
Я публикую свои выводы / догадки в качестве первого ответа.