Asociativní pole

Kategorie: Nezařazeno (celkem: 23174 referátů a seminárek)

Informace o referátu:

Příbuzná témata



Asociativní pole

Asociativní pole (nebo také hash podle nejčastější implementace) je pole jehož prvky nejsou indexovány pomocí posloupnosti celých čísel, ale pomocí klíčů. Klíčem může být číslo (v nesekvenční posloupnosti), textový řetězec a jiné. Mnohdy dovolují některé programovací jazyky použít kombinaci sekvenčního indexování (jako u klasického pole) a asociativního indexování pole.

Význam asociativního pole je v jednodušším zápisu programu, kde odpadají konstrukce pro vyhledávání prvku v poli.

Obsah

Implementace

Protože přímo z klíče nelze spočítat index (nebo adresu) prvku v poli, je zapotřebí prvek podle klíče vyhledat. Nejpoužívanější metodou je mechanismus zvaný hašovací funkce (angl. hash function).

Příklad

Jazyk Perl

%foo = (a=>"1", b=>"10", c=>"100");
print $foo{c}, $foo{b}, $foo{a};

vypíše 100101

Jazyk PHP

$foo = array("a"=>"1", "b"=>"10", "c"=>"100");
echo $foo["c"].$foo["b"].$foo["a"];

vypíše 100101

Jazyk JavaScript

foo = { "a":"1", "b":"10", "c":"100" };
alert( foo["c"]+foo["b"]+foo["a"] );

vypíše 100101 (pozor složené závorky!, jinak kulaté nebo hranaté)

Programovací jazyky

Známé programovací jazyky, které mají asociativní pole implementováno jako abstraktní datový typ:

Některé programovací jazyky, které nemají přímo implementovanou podporu asociativního pole, ale obsahují implementaci tohoto typu pomocí sady funkcí nebo metod třídy v knihovnách:

  • C++ – STL třída map
  • Java – The Collections Framework, třídy implemetující rozhraní Map (HashMap, TreeMap,…)

Související články




Nový příspěvek


Ochrana proti spamu. Kolik je 2x4?



Na-mobil.cz

Spřátelené weby

Přidat stránku k oblíbeným

Nejnovější v diskusi

Diskusní fórum »

TIP: Chcete zkrátit dlouho chvíli sobě nebo blízkému?
Klikněte na Puzzle-prodej.cz a vyberte si z 5000 motivů skladem!
TIP: Hračky a hry za dobré ceny?
Klikněte na Hračky obchod.cz a vyberte si z tisícovky hraček skladem!