Junior — Middle
Jak je v paměti implementována datová struktura Seznam a jaké mechanismy stojí na jejím základě?
sobes.tech AI
Odpověď od AI
V C# je struktura dat List<T> implementována jako dynamické pole. V paměti ukládá prvky v souvislém bloku, což zajišťuje rychlý přístup podle indexu.
Hlavní mechanismy fungování:
- Dynamické rozšíření: když počet prvků překročí aktuální kapacitu pole, vytvoří se nové větší pole (obvykle dvojnásobné) a všechny prvky se do něj zkopírují.
- Rychlý přístup podle indexu: díky souvislému uložení prvků je přístup k prvku podle indexu v konstantním čase O(1).
- Přidávání prvků: pokud je místo, prvek se jednoduše přidá na konec; pokud ne, dojde k rozšíření pole.
Příklad:
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
int first = numbers[0]; // Rychlý přístup
Tímto způsobem List<T> kombinuje pohodlí dynamické velikosti s efektivitou pole.