Czy to O (1) lub O (logN), ale o mniejszym współczynniku?Jaka jest złożoność mapy/zestawu :: wstawić, jeśli podałeś poprawną wskazówkę iteratora?
Jeśli nie jest to określone, chciałbym przynajmniej znać odpowiedź na podstawie rozsądnego przypuszczenia, że mapa/zestaw jest zaimplementowana przy użyciu drzewa czerwono-czarnego lub AVL. Ogólny algorytm, aby wstawić element, myślę, że jest coś takiego:
- znaleźć odpowiednie miejsce - O (logn)
- zrobić rzeczywiste wprowadzenie -
- przywrócić równowagę drzewa w razie potrzeby -?
Jeśli teraz dostarczyć właściwą wskazówkę iteracyjnej, następnie pierwszy etap staje O (1). Czy inne kroki są również O (1) lub O (logN)?
Pomyśl o tym. Jakie czynności zrobiłbyś, gdybyś pisał metodę wstawiania? Jakie czynności zrobiłbyś, gdybyś ponownie zbalansował drzewo? Czy kroki są zależne od liczby węzłów? –
Oto kilka odpowiedzi, które mogą być pomocne: [stl-map-performance] (http://stackoverflow.com/questions/10165708/stl-map-performance), [why-is-stdmap-applied-as-red -black-tree] (http://stackoverflow.com/questions/5288320/why-is-stdmap-implemented-as-red-black-tree), [różnica między czerwonymi-czarnymi-drzewami-i-avl- drzewa] (http: // stackoverflow.com/questions/16257761/difference-between-red-black-trees-and-avl-trees) – nouney