Pole v informatice je datový typ, který ukládá uspořádanou sadu prvků stejného typu. Pole se nacházejí ve většině programovacích jazyků a jsou potřeba pro pohodlné ukládání více hodnot a rychlou práci s nimi.
Osvojte si profesi „datového vědce“
Strukturu dat lze přirovnat k sadě číslovaných polí, z nichž každé obsahuje položku. Tato položka je prvkem pole a číslo na krabici je index prvku, pořadové číslo, podle kterého jej lze nalézt.
V některých programovacích jazycích mají pole alternativní názvy, například řádek, matice nebo vektor. Struktura dat je skutečně podobná těmto matematickým konceptům: také představují souvislou sadu prvků s jasně pevnou pozicí.
Profese / 24 měsíců
Datový vědec
Datoví vědci řeší skutečně ambiciózní problémy. Naučte se vytvářet umělou inteligenci, trénovat neuronové sítě, měnit svět a zároveň vydělávat dobré peníze. Program je určen pro začátečníky a plynule vás seznámí s Data Science.
Kdo potřebuje pole a proč?
Téměř všichni programátoři používají pole. Jsou potřebné v situacích, kdy je nutné pracovat se stejným typem dat, například s posloupností čísel, objektů nebo řetězců.
- uložit několik hodnot stejného typu do jedné proměnné;
- strukturovat a organizovat informace;
- Snadný přístup ke každému prvku;
- rychle aplikovat stejné akce na všechny prvky pole;
- šetřit paměť a udržovat vysokou rychlost akcí.
Navíc je to jednoduše pohodlnější než „vkládat“ několik podobných prvků do různých proměnných. Pole jsou jednou ze základních struktur v programování a bez nich by bylo psaní kódu mnohem obtížnější.
Jak je pole strukturováno
Technicky je pole proměnná, která obsahuje několik hodnot, druh kontejneru. Prvky pole mají obvykle stejný typ, například jsou to všechna čísla nebo řetězce. Prvky jsou umístěny v sousedních paměťových buňkách, takže vyjmenování prvků nebo jiné akce s nimi probíhají celkem rychle. Přístupová doba ke každému prvku je pevná a získat odkaz na kterýkoli z nich je díky indexům snadné.
Klasické statické pole má pevnou délku, tedy počet prvků. Nastavuje se při vytváření proměnné: vývojář hned zapíše do popisu pole, kolik prvků bude ukládat. Pokud překročíte tento rozsah a pokusíte se například přiřadit hodnotu šestému prvku pětiprvkového pole, dojde k chybě.
Indexy ve standardním poli mohou být pouze celá čísla, která jdou v pořadí: 0, 1, 2 atd. Ve většině programovacích jazyků začíná indexování od nuly.
Co můžete dělat s prvky pole?
Jednou z výhod použití pole je flexibilita a snadná práce s daty. Prvky mohou mít různé hodnoty a poté je změnit nebo resetovat. K prvkům můžete přistupovat pomocí indexu. Například pole[5] odkazuje na pátý prvek pole s názvem pole.
S prvky jednotlivě můžete dělat totéž, co s běžnými proměnnými: provádět různé operace, zobrazovat je na obrazovce nebo v souboru, používat je ve vzorcích a podobně. Většina jazyků má také operace a metody, které se vztahují na všechny prvky pole, takže můžete napsat jeden řádek a upravit celé pole.
Kurz pro začátečníky „IT specialista“
od nuly“ – zjistíme, která profese je pro vás ta pravá, a pomůžeme vám ji zvládnout
Existují i další speciální funkce. Například v některých jazycích můžete převést řetězec nebo jiný typ proměnné na pole. Existují samostatné příkazy pro přístup k prvnímu a poslednímu prvku pole, pro jejich odstranění nebo úpravu, pro získání délky pole a tak dále.
Konkrétní implementace a sada funkcí závisí na programovacím jazyku. Práce s poli se může v různých jazycích lišit, ale podstata datové struktury zůstává stejná.
Co jsou pole?
Jednorozměrné a vícerozměrné. Klasické pole je jednorozměrné, to znamená, že vypadá jako řada prvků. Pole ale může být i vícerozměrné, nejčastěji dvourozměrné: pak se skládá z několika řádků umístěných pod sebou. Dvourozměrné pole má dva indexy: jeden definuje řádek, druhý definuje pozici prvku v tomto řádku. Je podobný matematické matici nebo dvourozměrnému souřadnicovému systému.
Někdy jsou dvourozměrná pole implementována jako „pole v poli“, v jiných případech existuje samostatný způsob jejich popisu – vše závisí na jazyku, frameworku a dalších použitých technologiích.
Trojrozměrná pole a struktury s vyššími rozměry se používají extrémně zřídka.
Statické a dynamické. Statické pole je klasickou implementací této datové struktury. Má pevně stanovený počet prvků, který je specifikován při tvorbě a zůstává po celou dobu své existence nezměněn. To ale není vždy výhodné, a proto existují i dynamická pole.
Dynamická pole mají „flexibilní“ délku, která se automaticky zvětšuje nebo zmenšuje, když je prvek přidán nebo odebrán z datové struktury. To je pro vývojáře pohodlnější a šetří to paměť: není třeba ukládat mnoho „prázdných“ prvků, jako ve statickém poli, které nemá celou délku.
Interně jsou dynamická pole nejčastěji strukturována jako statická, která se při změně délky znovu vytvoří. V tomto případě není „krokem“ znovuvytvoření jeden prvek, ale více, to znamená, že délka se okamžitě zvětší, řekněme, o pět prvků, a ne o jeden. To je nutné, aby nedošlo k přetížení programu neustálým znovuvytvářením pole.
Homogenní a heterogenní. Klasické pole je opět homogenní, to znamená, že obsahuje prvky pouze jednoho typu. Některé jazyky však podporují heterogenní pole, kde mohou být uloženy prvky různých typů: například číslo, pak řetězec a pak objekt.
Tato funkce může být pohodlná, ale je třeba s ní být opatrní, protože teoreticky zvyšuje riziko chyby na straně programátora. Například se pokusí přidat prvky jako čísla a jedním z nich bude řetězec. Dojde k chybě nebo se program začne chovat nepředvídatelně.
Asociativní. Asociativní pole jsou speciálním podtypem datové struktury, ve které indexy nemusí být nutně uspořádaná celá čísla. Jedná se o sadu dat ve formátu „klíč-hodnota“, kde klíč je analogem indexu a hodnota je analogem prvku.
Asociativní pole lze nazývat mnoha různými jmény: například v Pythonu se nazývá slovník. Struktura dat je opravdu jako slovník, kde klíčem je slovo a hodnotou jeho popis. Druhým jasným příkladem je telefonní seznam, kde jsou informace uváděny ve formátu „celé jméno – telefonní číslo“.
Asociativní pole jsou často heterogenní a dynamická, ale to opět závisí na programovacím jazyce.
Datové struktury podobné poli
Pole není jedinou datovou strukturou, která ukládá více prvků. Existují také tzv. haldy a množiny, kde se informace nečíslují, zásobníky, kde je možný přístup pouze k prvnímu prvku, a fronty, kde lze přistupovat pouze k poslednímu prvku. Existují také propojené seznamy, grafy a stromy – v těchto datových strukturách jsou prvky propojeny zvláštním způsobem pomocí odkazů.
Jakou strukturu zvolit pro uložení konkrétní sady hodnot, závisí na úkolu. Důležitá je rychlost přístupu, snadnost použití a další kritéria.
Více o ukládání dat se můžete dozvědět v kurzech programování – získejte novou profesi a staňte se vyhledávaným IT specialistou.
Datoví vědci řeší skutečně ambiciózní problémy. Naučte se vytvářet umělou inteligenci, trénovat neuronové sítě, měnit svět a zároveň vydělávat dobré peníze. Program je určen pro začátečníky a plynule vás seznámí s Data Science.