Hlavní navigace

Názor k článku Datové kolekce v programovacím jazyku Rust od ebik - A u deque a vectoru je potřeba vědět...

  • Článek je starý, nové názory již nelze přidávat.
  • 18. 3. 2017 12:53

    ebik

    A u deque a vectoru je potřeba vědět jak probíhá realokace v případě překročení kapacity. Jestli se používá klasický exponenciální růst, tak to znamená, že takový kontejner má nejvýše dvojnásobnou kapacitu (pokud se z něho nemazalo) protože se při překročení zvýší kapacita na dvojnásobek. To má výhodu, že každý prvek se v průměru bude přesouvat z důvodu realokace jen dvakrát, tedy amortizovaná složitost push() je O(1). Jen se musí počítat s tím, že jednou za "n" kroků může být ta složitost "n".