Úvod do polí ve struktuře dat

Pole je typ datové struktury, který se používá k ukládání homogenních dat na sousedních paměťových místech. To implementuje myšlenku ukládat různé položky tak, aby bylo možné je získat nebo získat najednou.

Index zde označuje umístění prvku v poli. Představme si, že P (L) je název pole, kde 'P' je název proměnné a 'L' je délka pole, tj. Počet prvků přítomných v poli. Pak P (i) představuje prvek v této poloze „i + 1“ v poli.

Například:

P (6) = 72 znamená prvek na 6 + 1 místě pole.

Potřeba pole: Pomáhá reprezentovat velké množství prvků pomocí jediné proměnné. Rovněž usnadňuje přístup k prvku rychleji k uložení do paměti pomocí indexu pole, které představuje umístění prvku v poli.

Jak pole fungují ve struktuře dat?

Pole ukládá proměnné na sousedních místech a dává jim zvláštní index. Pokud chce někdo data načíst, použije tento index. Ve výše uvedeném poli „P“ řekněme základní adresu pro pole = 100, potom se prvky ukládají takto:


Paměť přidělená matici lze vypočítat jako:

  • One Dimensional Array: Celková paměť přidělená Array = Počet prvků * velikost jednoho prvku.Například: Ve výše uvedeném případě paměť = 7 * (velikost int)
  • Řádek Hlavní objednávka: Celková paměť přidělená 2D poli = Počet prvků * velikost jednoho prvku
    = Počet řádků * Počet sloupců * Velikost jednoho prvku
  • Hlavní sloupec: Celková paměť přidělená 2D poli = Počet prvků * velikost jednoho prvku
    = Počet řádků * Počet sloupců * Velikost jednoho prvku

Jak definovat pole?

Pole lze tedy definovat jako odvozenou datovou strukturu pro ukládání homogenních dat primitivního datového typu na sousedních paměťových místech. Níže jsou uvedeny operace, které lze provádět na polích:

1. Vložení: Jedná se o vložení prvku do pole v určitém indexu. To lze provést s O (n) složitostí.

2. Vymazání: Jedná se o odstranění položky u konkrétního indexu. Tato operace vyžaduje posunutí prvků po deleci, čímž se získá složitost O (n).

3. Hledání: Jedná se o přístup k položce v určitém indexu pole.

4. Procházení: Jedná se o tisk všech prvků pole jeden po druhém.

Vlastnosti polí ve struktuře dat

Níže jsou uvedeny vlastnosti polí ve struktuře dat:

  • Jedná se o odvozený datový typ, skládající se z kolekce různých primitivních datových typů, jako je int, char, float atd.
  • Prvky pole jsou uloženy v souvislých blocích v primární paměti.
  • Název pole ukládá základní adresu pole. Působí jako ukazatel na paměťový blok, kde byl uložen první prvek.
  • Indexy polí začínají od 0 do N-1 v případě jednorozměrného pole, kde n představuje počet prvků v poli.
  • Prvky pole mohou být složeny pouze z konstant a doslovných hodnot.

Jak vytvořit pole?

Můžeme vytvořit pole pomocí níže uvedené syntaxe:

1. Dimenzionální pole: var = (c1, c2, c3, …… .cn)

Zde var odkazuje na proměnnou na pole, která ukládá základní umístění pole. A c1, c2 … jsou prvky pole.

Příklad: int a = (4, 6, 7, 8, 9)

Délka pole = n

2. Vícerozměrné pole: var = ((r 01, … r 0n ), (r 10, … ..r 1n ) … .. (r m0 … .r mn ))

Zde var odkazuje na název pole m řádků a sloupců n.

Jak získat přístup k prvku pole?

Indexy pole začínají od 0 do -1, 0, což označuje první prvek pole a -1 označuje poslední prvek pole. Podobně -2 označuje poslední, ale jeden prvek pole. Řekněme, že existuje pole „A“ s 10 prvky. Pak zde proměnná ukládá odkaz na první proměnnou pole, která se nazývá „základní adresa“ pole. Poté, pokud někdo chce získat přístup k prvku pole, pak se adresa tohoto prvku vypočítá pomocí následujícího vzorce.

Adresa ith elementu = Base Address + i * velikost každého elementu

Velikost každého prvku se zde týká paměti přijaté různými primitivními datovými typy, které pole drží. Například int má 2 bajty prostoru a float 4 bajty prostoru v C.

Přístup k vícerozměrnému poli

Řekněme, že A (r l, …… .., r u ) (c u, ……, c l ) je vícerozměrné pole a rl, r u, c u, c l jsou dolní a horní hranice pro řádky a sloupce. Než počet řádků v A, řekněme NR = r u - r l +1 a počet sloupců v A, řekněme NC = c l - c u +1.

Nyní k nalezení adresy prvku v poli existují 2 metody:

  1. Row Major: Kam procházíme řádek po řádku.

Adresa A (i) (j) = Základní adresa + ((i - r l ) * NC + (j-c l )) * velikost každého prvku.

  1. Sloupec Major: Kam procházíme sloupec po sloupci.

Adresa A (i) (j) = Základní adresa + ((i - r l ) + (j-c l ) * NR) * velikost každého prvku.

Složitost: Přístup k jakémukoli prvku v poli je mnohem jednodušší a lze jej provést ve složitosti O (1).

Závěr

Pole jsou velmi jedinečný způsob, jak strukturovat uložená data tak, že k nim lze snadno přistupovat a lze je dotazovat, aby bylo možné načíst hodnotu na konkrétní číslo pomocí hodnoty indexu. Přestože vložení prvku do pole vyžaduje hodně času, vyžaduje úplné uspořádání a přesun existujících prvků pole. Přesto se používá k implementaci různých dalších složitých datových struktur, jako je strom, fronta nebo zásobník, a také se používá v různých algoritmech.

Doporučený článek

Toto je průvodce poli v datové struktuře. Zde diskutujeme o tom, jak vytvořit a získat přístup k elementům pole ve struktuře dat spolu s vlastnostmi. Další informace naleznete také v dalších souvisejících článcích -

  1. Jak vytvořit pole v PHP?
  2. Pole v Java Programming Výhody a nevýhody
  3. Pole v programování C (příklady)
  4. 10 hlavních otázek rozhovoru o datové struktuře

Kategorie: