Uvod u nizove u strukturi podataka

Niz je vrsta strukture podataka koja se koristi za pohranjivanje homogenih podataka u susjednim memorijskim mjestima. Time se realizira ideja pohranjivanja različitih predmeta tako da im se odjednom može pristupiti ili im se pristupiti.

Ovdje se indeks odnosi na mjesto elementa u nizu. Zamislimo da li je P (L) naziv matrice gdje je 'P' naziv varijable, a 'L' duljina polja, tj. Broj elemenata prisutnih u nizu. Tada P (i) predstavlja element na tom 'i + 1' položaju u nizu.

Na primjer:

P (6) = 72 znači element na 6 + 1. mjestu matrice.

Potreba za nizom: pomaže u predstavljanju velikog broja elemenata koristeći jednu varijablu. Također omogućuje brži pristup elementu za pohranjivanje u memorijsku lokaciju koristeći indeks matrice koji predstavlja lokaciju elementa u nizu.

Kako nizovi rade u strukturi podataka?

Array pohranjuje varijable na neprekidne lokacije i daje im određeni indeks. Kad netko želi dohvatiti podatke, osoba koristi ovaj indeks. U gore navedenom nizu 'P', recite osnovnu adresu za niz = 100, tada su elementi pohranjeni kao dolje:


Memorija dodijeljena nizu može se izračunati kao:

  • Jednodimenzionalni niz: Ukupna memorija dodijeljena nizu = Broj elemenata * veličina jednog elementa. Na primjer: U gornjem slučaju, memorija = 7 * (veličina int)
  • Redovni redoslijed reda: Ukupna memorija dodijeljena 2D nizu = Broj elemenata * veličina jednog elementa
    = Broj redaka * Broj stupaca * Veličina jednog elementa
  • Glavni redoslijed stupca: Ukupna memorija dodijeljena 2D matrizi = Broj elemenata * veličina jednog elementa
    = Broj redaka * Broj stupaca * Veličina jednog elementa

Kako definirati nizove?

Stoga se Array može definirati kao izvedena struktura podataka za pohranjivanje homogenih podataka primitivnog tipa podataka u susednim memorijskim mjestima. Ispod su operacije koje se mogu izvoditi na nizovima:

1. Umetanje: odnosi se na umetanje elementa u niz u određenom indeksu. To se može izvesti s O (n) složenošću.

2. Brisanje: odnosi se na brisanje stavke u određenom indeksu. Ova operacija zahtijeva pomicanje elemenata nakon brisanja i time složenost O (n).

3. Pretraživanje: odnosi se na pristup stavci u određenom indeksu niza.

4. Pomicanje: odnosi se na ispis svih elemenata niza jedan za drugim.

Svojstva nizova u strukturi podataka

Ispod su svojstva nizova u strukturi podataka:

  • To je izvedeni tip podataka, sastavljen od zbirke različitih primitivnih vrsta podataka kao što su int, char, float itd.
  • Elementi matrice pohranjuju se u neprekidne blokove u primarnoj memoriji.
  • Naziv matrice pohranjuje baznu adresu matrice. On djeluje kao pokazivač na memorijski blok u kojem je pohranjen prvi element.
  • Indeksi niza počinju od 0 do N-1 u slučaju matrice s jednom dimenzijom, gdje n predstavlja broj elemenata u polju.
  • Elementi matrice mogu se sastojati samo od konstanti i doslovnih vrijednosti.

Kako stvoriti nizove?

Niz možemo stvoriti koristeći sintaksu u nastavku:

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

Ovdje se var odnosi na varijablu za niz koji pohranjuje bazno mjesto matrice. A c1, c2 … su elementi niza.

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

Duljina niza = n

2. višedimenzionalni niz: var = ((r 01, … r 0n ), (r 10, … ..r 1n )… .. (r m0 … .r mn ))

Ovdje se var odnosi na naziv niza m redaka i n stupaca.

Kako pristupiti elementu polja?

Indeksi polja započinju od 0 do -1.0 što ukazuje na prvi element matrice, a -1 označava zadnji element matrice. Isto tako, -2 ukazuje na posljednji, ali jedan element niza. Recimo, postoji niz 'A' s 10 elemenata. Zatim ovdje varijabla pohranjuje referencu prve varijable matrike i to se zove 'Base Address' matrice. Nakon toga, ako netko želi pristupiti elementu polja, adresa tog elementa izračunava se pomoću donje formule.

Adresa elementa ith = Osnovna adresa + i * veličina svakog elementa

Ovdje veličina svakog elementa odnosi se na memoriju koju zauzimaju različite primitivne vrste podataka u kojima se nalazi niz. Na primjer, int zauzima 2 bajta prostora, a float zauzima 4 bajta prostora u C.

Pristup višedimenzionalnom nizu

Recimo da je A (r l, …… .., r u ) (c u, ……, c l ) višedimenzionalni niz, a rl, r u, c u, c l su donja i gornja granica redaka i stupaca. Kada je broj redaka u A, recimo NR = r u - r l +1 i Broj stupaca u A, recimo NC = c l - c u +1.

Postoje dvije metode za pronalaženje adrese elementa u nizu:

  1. Glavni red: Gdje prelazimo red po red.

Adresa A (i) (j) = Osnovna adresa + ((i - r l ) * NC + (j-c l )) * veličina svakog elementa.

  1. Glavni stup: Gdje prelazimo stupac po stupcu.

Adresa A (i) (j) = Osnovna adresa + ((i - r l ) + (j-c l ) * NR) * veličina svakog elementa.

Složenost: Pristup bilo kojem elementu u nizu je puno jednostavniji i može se obaviti u složenosti O (1).

Zaključak

Nizovi su vrlo jedinstven način strukturiranja pohranjenih podataka tako da se njima lako može pristupiti i može se upitati za dobivanje vrijednosti na određenom broju koristeći vrijednost indeksa. Iako je za umetanje elementa u niz potrebno puno vremena jer je potrebno potpuno preuređivanje i pomicanje postojećih elemenata matrice. Ipak se koristi za implementaciju raznih drugih složenih struktura podataka, kao što su stablo, red čekanja ili stack, a također se koristi u raznim algoritmima.

Preporučeni članak

Ovo je vodič za nizove u strukturi podataka. Ovdje smo raspravljali o stvaranju i pristupu elementima Array u strukturi podataka zajedno sa Svojstvima. Možete i pregledati naše druge povezane članke da biste saznali više -

  1. Kako stvoriti nizove u PHP-u?
  2. Nizovi u Java programiranju Prednosti i nedostaci
  3. Nizovi u C programiranju (primjeri)
  4. Top 10 pitanja o intervjuu o strukturi podataka

Kategorija: