Lekce 4 - Optimalizace fronty v jazyce C
V minulé lekci, Implementace fronty v jazyce C, jsme implementovali jednoduchou frontu v jazyce C.
Naše implementace fronty je málo výkonná. Funkce add()
a
peek_tail()
jsou v pořádku, protože pracují s hlavou fronty, na
kterou máme uložený ukazatel. Ale ve funkcích take()
a
peek_head()
musíme procházet celou frontu od začátku do konce.
To při tisících položek může trvat dost dlouho. Proto naši implementaci
vylepšíme. Zaveďme i druhý ukazatel na ocas fronty.
Úprava struktur
Prvně provedeme změnu ve strukturách, které kolekci představují.
Struktura QUEUE
Protože teď si tedy budeme držet 2 ukazatele, udělejme si na ně strukturu, která bude frontu nyní reprezentovat:
struct QUEUE { struct ITEM* first; struct ITEM* last; };
Struktura ITEM
Abychom se od ocasu dostali na předchozí prvky, musíme je
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu optimalizujeme naši implementaci fronty v jazyce C pomocí obousměrných spojů a vytvořením další struktury.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.