Halda

Halda je datová struktura tvořená „uzly“, které obsahují hodnoty. Typická halda má nahoře uzel kořene, pod kterým mohou být přímo umístěny dva nebo více potomků. Každý uzel může mít dva nebo více potomků, takže halda se s každým dalším potomkem rozšiřuje. Při vizuálním zobrazení vypadá halda jako strom obrácený vzhůru nohama a její celkový tvar připomíná haldu.

Ačkoli každý uzel v haldě může mít dva nebo více potomků (také nazývaných „děti“), většina hald omezuje každý uzel na dva potomky. Tyto typy hald se také nazývají binární haldy a mohou se používat k ukládání seřazených dat. Například „binární halda maxima“ ukládá nejvyšší hodnotu do kořenového uzlu. Druhá a třetí nejvyšší hodnota jsou uloženy v potomcích kořenového uzlu. V celém stromu má každý uzel vyšší hodnotu než kterýkoli z jeho potomků. „Binární halda minima“ funguje opačně: kořenový uzel ukládá nejnižší hodnotu a každý uzel má nižší hodnotu než jeho potomci.

V informatice se haldy často znázorňují jako jednoduché diagramy. Ve skutečnosti je však ukládání dat do haldy složitější. K vytvoření haldy musí programátoři napsat jednotlivé algoritmy pro vkládání a mazání dat. Hodnoty vložené do haldy se obvykle ukládají do pole, na které může odkazovat program. Protože data v haldě jsou již seřazená, poskytuje halda efektivní způsob vyhledávání konkrétních hodnot.

NOTE: „Halda“ je také programátorský termín, který může označovat dynamicky přidělovanou paměť. K tomuto bloku paměti mohou přistupovat aktivní aplikace. Protože se paměť v haldě přiděluje dynamicky, může se zvětšovat nebo zmenšovat podle toho, kolik paměti se používá.

Aktualizováno August 2, 2012 od Per C.

quizOtestujte své znalosti

The way text is represented in binary codes is also known as what?

A
Character setting
0%
B
Character encoding
0%
C
String mapping
0%
D
String compiling
0%
Correct! Incorrect!     View the Character Encoding definition.
More Quizzes →

Počítačový slovník Tech Terms

Definice Halda na této stránce je originální definice napsaná autory TechTerms.com. Pokud chcete na tuto stránku odkazovat nebo tuto definici citovat, použijte prosím zelený citační pruh přímo pod definicí.

Naším cílem je vysvětlovat počítačovou terminologii srozumitelným způsobem. U každé zveřejněné definice usilujeme o přesnost a jednoduchost. Pokud máte zpětnou vazbu nebo chcete navrhnout nový technický pojem, kontaktujte nás.

Newsletter Tech Terms

Rozšiřte své technické znalosti s naším denním nebo týdenním newsletterem! Přihlaste se ještě dnes a dostávejte nové pojmy a kvízy přímo do schránky.

Přihlaste se k bezplatnému newsletteru TechTerms

Jak často chcete dostávat e-mail?

Odhlásit se nebo změnit frekvenci můžete kdykoli pomocí odkazů v každém e-mailu. Dotazy? Prosím kontaktujte nás.

Poznámka: Newsletter je zasílán v angličtině.