05_opakovani_iteratory_ADT
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
• přístupný pouze z jedné strany
• lze realizovat jednosměrně vázaným seznamem
Fronta (queue)
• FIFO – First In First Out
• enqueue – vložení prvku
• dequeue – vybrání prvku
• přístupný pouze z jedné strany
• lze realizovat
• posuvným registrem
• kruhovým bufferem
Fronta prioritní
• fronta, ke každé hodnotě navíc přiřazena priorita
• prvky s vyšší prioritou řazeny dopředu k
přednostnímu zpracování
• insert (insert_with_priority) – pro vložení
• pull (pull_highest_priority) – vyjme prvek podle
priority (a pořadí)
• peek/top – vrátí prvek, ale nezmění frontu
• přístupný pouze z jedné strany
• lze realizovat
• posuvným registrem
• kruhovým bufferem
Fronta obousměrná (DEQUE)
• Double Ended QUEue – DEQUE
• push_back; push_front – vložení prvku
• pop_back; pop_front – vybrání prvku
• back; front – zpřístupnění prvku
• přístupný z obou stran
• možná i varianta s prioritou
Seznam (list, sequence)
• konečný počet uspořádaných prvků
• možné opakování prvků
• operace:
• vložení na začátek
• vložení na konec
• vyjmutí prvního prvku
• vrácení prvku na dané pozici
Množina (set)
• seznam s podmínkami
• skládá se s unikátních prvků
• nezáleží na pořadí prvků
• operace
• union (sjednocení) – všechny prvky
• intersection (průnik) – společné prvky
• difference – rozdílné prvky
• subset – test zde je podmnožinou
Multimnožina (multiset)
• může obsahovat více stejných prvků
• při porovnávání může nebo nemusí záležet na
pořadí a počtu – podle filozofie návrhu
• realizace
• samostatné hodnoty
• hodnota + počet
• operace
• union (sjednocení) – všechny prvky
• intersection (průnik) – společné prvky
• difference – rozdílné prvky
• subset – test zde je podmnožinou
Asociativní pole
(associative array, dictionary, map)