Uvod v matrike v strukturi podatkov

Array je vrsta podatkovne strukture, ki se uporablja za shranjevanje homogenih podatkov v sosednjih pomnilniških mestih. To uresničuje idejo, da različne predmete shrani tako, da jih je mogoče naenkrat pridobiti ali dostopati do njih.

Tu se indeks nanaša na lokacijo elementa v matriki. Predstavljajmo si, če je P (L) ime matrike, kjer je 'P' ime spremenljivke in 'L' dolžina matrike, torej število elementov, prisotnih v matriki. Potem P (i) predstavlja element na tem 'i + 1' na položaju v nizu.

Primer:

P (6) = 72 pomeni element na 6 + 1. lokaciji matrike.

Need of Array: Pomaga predstavljati veliko število elementov z eno samo spremenljivko. Prav tako omogoča lažji dostop do elementa za shranjevanje v pomnilniški lokaciji s pomočjo indeksa matrike, ki predstavlja lokacijo elementa v matriki.

Kako matriki delujejo v strukturi podatkov?

Array shrani spremenljivke na sosednje lokacije in jim dodeli določen indeks. Ko želi nekdo pridobiti podatke, oseba uporabi ta indeks. V zgoraj podanem nizu 'P' recite osnovni naslov za matriko = 100, potem so elementi shranjeni kot spodaj:


Pomnilnik, dodeljen matriki, se lahko izračuna kot:

  • En dimenzijski niz: Skupni pomnilnik dodeljen matriki = Število elementov * velikost enega elementa. Primer: V zgornjem primeru je pomnilnik = 7 * (velikost int)
  • Vrstni vrstni red: Skupni pomnilnik dodeljen 2D matriki = Število elementov * velikost enega elementa
    = Število vrstic * Število stolpcev * Velikost enega elementa
  • Glavni stolpec stolpca: Skupni pomnilnik dodeljen 2D matriki = Število elementov * velikost enega elementa
    = Število vrstic * Število stolpcev * Velikost enega elementa

Kako določiti matrike?

Tako je Array mogoče definirati kot izpeljano strukturo podatkov za shranjevanje homogenih podatkov primitivnega podatkovnega tipa na sosednjih pomnilniških mestih. Spodaj so operacije, ki jih je mogoče izvesti na nizih:

1. Vstavljanje: To se nanaša na vstavljanje elementa v matriko v določenem indeksu. To je mogoče izvesti s kompleksnostjo O (n).

2. Brisanje: to se nanaša na brisanje predmeta v določenem indeksu. Ta operacija zahteva premik elementov po brisanju, zato prevzame kompleksnost O (n).

3. Iskanje: To se nanaša na dostop do predmeta v določenem indeksu matrike.

4. Pomikanje: nanaša se na tiskanje vseh elementov matrike drug za drugim.

Lastnosti nizov v strukturi podatkov

Spodaj so lastnosti nizov v strukturi podatkov:

  • Je izpeljan podatkovni tip, ki je sestavljen iz zbirke različnih primitivnih vrst podatkov, kot so int, char, float itd.
  • Elementi matrike so shranjeni v sosednjih blokih v primarnem pomnilniku.
  • Ime matrike shrani osnovni naslov matrike. Deluje kot kazalec na pomnilniški blok, kjer je bil shranjen prvi element.
  • Indeksi matrike se začnejo od 0 do N-1 v primeru matrike z eno dimenzijo, kjer n predstavlja število elementov v matriki.
  • Elemente matrike lahko sestavljajo samo konstante in dobesedne vrednosti.

Kako ustvariti matrike?

Arrays lahko ustvarimo s spodnjo sintakso:

1. Dimenzijski niz: var = (c1, c2, c3, …… .cn)

Tu se var nanaša na spremenljivko matrike, ki shranjuje osnovno lokacijo matrike. In c1, c2… so elementi matrike.

Primer: int a = (4, 6, 7, 8, 9)

Dolžina matrike = n

2. Večdimenzionalni niz: var = ((r 01, … r 0n ), (r 10, … ..r 1n )… .. (r m0 … .r mn ))

Tu se var nanaša na ime matrike m vrstic in n stolpcev.

Kako dostopati do elementa matrike?

Indeksi matrike se začnejo od 0 do -1.0, kar pomeni prvi element matrike, -1 pa zadnji element matrike. Podobno -2 označuje zadnji, vendar en element matrike. Recimo, obstaja niz 'A', ki vsebuje 10 elementov. Nato tukaj spremenljivka shrani referenco prve spremenljivke matrike in to se imenuje 'Osnovni naslov' matrike. Po tem, če želi nekdo dostopati do elementa matrike, se naslov tega elementa izračuna s spodnjo formulo.

Naslov elementa ith = Osnovni naslov + velikost vsakega elementa

Tu se velikost posameznega elementa nanaša na pomnilnik različnih primitivnih vrst podatkov, ki jih ima matrika. Na primer, int zavzame 2 bajta prostora, flot pa 4 bajta prostora v C.

Dostop do večdimenzionalnega niza

Recimo, da je A (r l, …… .., r u ) (c u, ……, c l ) večdimenzionalni niz in rl, r u, c u, c l so spodnji in zgornji rob vrstic in stolpcev. Od števila vrstic v A recimo NR = r u - r l +1 in Število stolpcev v A, recimo NC = c l - c u +1.

Zdaj za iskanje naslova elementa v matriki obstajata 2 načina:

  1. Glavni vrstnik: Kjer prečkamo vrsto za vrstico.

Naslov A (i) (j) = Osnovni naslov + ((i - r l ) * NC + (j-c l )) * velikost vsakega elementa.

  1. Glavni stolpec: kjer prehajamo stolpec za stolpcem.

Naslov A (i) (j) = Osnovni naslov + ((i - r l ) + (j-c l ) * NR) * velikost vsakega elementa.

Kompleksnost: Dostop do katerega koli elementa v matriki je veliko lažji in ga je mogoče storiti v kompleksnosti O (1).

Zaključek

Nizi so zelo edinstven način za strukturiranje shranjenih podatkov tako, da je do njih enostavno dostopati in poizvedovati, da lahko s pomočjo indeksne vrednosti pridobijo vrednost na določenem številu. Čeprav vstavljanje elementa v matriko traja veliko časa, saj potrebuje popolno preureditev in premik obstoječih elementov matrike. Kljub temu se uporablja za izvajanje različnih drugih zapletenih struktur podatkov, kot so drevo, čakalna vrsta ali zlaganje, uporablja pa se tudi v različnih algoritmih.

Priporočeni članek

To je vodnik za Niz v strukturi podatkov. Tukaj razpravljamo o tem, kako ustvariti in dostopati do matričnih elementov v strukturi podatkov skupaj z lastnostmi. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Kako ustvariti matrike v PHP?
  2. Nizi v programiranju Java Prednosti in slabosti
  3. Nizi v programiranju C (primeri)
  4. Top 10 vprašanja o intervjuju s strukturo podatkov