Sissejuhatus andmestruktuuri massiividesse

Massiiv on teatud tüüpi andmestruktuur, mida kasutatakse homogeensete andmete salvestamiseks külgnevates mälukohtades. See viib ellu idee erinevaid esemeid hoiustada nii, et neid oleks korraga võimalik hankida või juurde pääseda.

Siin viitab element elemendi asukohale massiivis. Kujutame ette, kas P (L) on massiivi nimi, kus 'P' on muutuja nimi ja 'L' on massiivi pikkus, st massiivis esinevate elementide arv. Siis tähistab P (i) elementi massiivi selles positsioonis 'i + 1'.

Näiteks:

P (6) = 72 tähendab elementi massiivi 6 + 1. asukohas.

Massiivi vajadus: see aitab ühe muutuja abil esindada suurt hulka elemente. See muudab ka elemendi juurde pääsemise kiiremaks mäluasukohta salvestamiseks, kasutades massiivi indeksit, mis tähistab elemendi asukohta massiivis.

Kuidas massiivid töötavad andmestruktuuris?

Massiiv salvestab muutujad külgnevates kohtades ja annab neile kindla indeksi. Kui keegi soovib andmeid tuua, kasutab ta seda indeksit. Ülaltoodud massiivi P korral öelge massiivi baasaadress = 100, seejärel salvestatakse elemendid järgmiselt:


Massiivile eraldatud mälu võib arvutada järgmiselt:

  • Ühemõõtmeline massiiv: massiivile eraldatud kogu mälu = Elementide arv * ühe elemendi suurus.Näide: ülaltoodud juhul on mälu = 7 * (int suurus)
  • Rida suurem järjekord: 2D-massiivile eraldatud kogumälu = Elementide arv * ühe elemendi suurus
    = Ridade arv * veergude arv * ühe elemendi suurus
  • Veeru peamine järjekord: 2D-massiivile eraldatud kogumälu = Elementide arv * ühe elemendi suurus
    = Ridade arv * veergude arv * ühe elemendi suurus

Kuidas määratleda massiive?

Seega saab massiivi määratleda tuletatud andmestruktuurina primitiivse andmetüübi homogeensete andmete säilitamiseks külgnevates mäludes. Allpool on toodud toimingud, mida saab massiividega teha:

1. Sisestus: See tähendab elemendi sisestamist massiivi teatud indeksi juurde. Seda saab läbi viia keerukusega O (n).

2. Kustutamine: see viitab üksuse kustutamisele konkreetsest indeksist. See toiming nõuab elementide nihutamist pärast kustutamist, seega võtab O (n) keerukuse.

3. Otsimine: see viitab üksusele juurdepääsu saamiseks massiivi konkreetses indeksis.

4. Liikumine: see tähendab massiivi kõigi elementide printimist üksteise järel.

Massiivide omadused andmestruktuuris

Allpool on andmestruktuuri massiivide omadused:

  • See on tuletatud andmetüüp, mis koosneb mitmesuguste primitiivsete andmetüüpide nagu int, char, float jne kogumist.
  • Massiivi elemendid salvestatakse primaarmälus külgnevates plokkides.
  • Massiivi nimi salvestab massiivi baasaadressi. See toimib osuna mäluplokile, kuhu esimene element on salvestatud.
  • Massiivi indeksid algavad 0 kuni N-1 ühemõõtmelise massiivi korral, kus n tähistab massiivi elementide arvu.
  • Massiivi elemendid võivad koosneda ainult konstantidest ja sõnasõnalistest väärtustest.

Kuidas luua massiive?

Massiive saame luua alljärgneva süntaksi abil:

1. Mõõtmete maatriks: var = (c1, c2, c3, …… .cn)

Siin osutab var massiivi muutujale, mis salvestab massiivi baaspunkti. Ja c1, c2… on massiivi elemendid.

Näide: int a = (4, 6, 7, 8, 9)

Massiivi pikkus = n

2. Mitmemõõtmeline massiiv: var = ((r 01, … r 0n ), (r 10, … ..r 1n )… .. (r m0 … .r mn ))

Var viitab siin m-rea ja n-veeru massiivi nimele.

Kuidas pääseda massiivi elemendile?

Massiivi indeksid algavad vahemikus 0 kuni -1, 0, mis tähistab massiivi esimest elementi ja -1 tähistab massiivi viimast elementi. Samamoodi tähistab -2 massiivi viimast kui ühte elementi. Oletame, et on massiiv 'A', millel on 10 elementi. Seejärel salvestab muutuja massiivi esimese muutuja viite ja seda nimetatakse massiivi baasaadressiks. Pärast seda, kui keegi soovib juurdepääsu massiivi elemendile, arvutatakse selle elemendi aadress järgmise valemi abil.

Üheksanda elemendi aadress = baasaadress + iga elemendi suurus *

Siin viitab iga elemendi suurus mälule, mille on võtnud mitmesugused primitiivsed andmetüübid, mida massiiv hoiab. Näiteks int võtab 2 baiti ruumi ja hõljumine võtab 4 baiti ruumi C-s.

Juurdepääs mitmemõõtmelisele massiivile

Ütleme, et A (r l, …… .., r u ) (c u, ……, c l ) on mitmemõõtmeline massiiv ja rl, r u, c u, c l on ridade ja veergude alumine ja ülemine piir. Kui ridade arv A-s öelda NR = r u - r l +1 ja veergude arv A-s, ütleme NC = c l - c u +1.

Massiivi elemendi aadressi leidmiseks on nüüd kaks meetodit:

  1. Rida major: kus me risti sirutame.

A (i) (j) aadress = baasaadress + ((i - r l ) * NC + (j- c l )) * iga elemendi suurus.

  1. Peamine veerg: kus liigume veergude kaupa.

A (i) (j) aadress = baasaadress + ((i - r l ) + (j- c l ) * NR) * iga elemendi suurus.

Keerukus: Massiivi mis tahes elemendi juurde pääseb palju lihtsamalt ja seda saab teha keerukuse O (1) korral.

Järeldus

Massiivid on väga ainulaadne viis salvestatud andmete struktureerimiseks nii, et sellele on hõlpsasti juurde pääseda ja et selle saab konkreetse numbri väärtuse indeksiväärtuse abil toomiseks küsida. Kuigi elemendi sisestamine massiivi võtab palju aega, kuna see vajab massiivi olemasolevate elementide täielikku ümberkorraldamist ja nihutamist. Sellegipoolest kasutatakse seda mitmesuguste muude keerukate andmestruktuuride nagu puu, järjekord või virn rakendamiseks ning kasutatakse ka erinevates algoritmides.

Soovitatav artikkel

See on juhend massiivide jaoks andmestruktuuris. Siin arutatakse, kuidas luua ja juurde pääseda andmestruktuuri massiivi elementidele koos atribuutidega. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Kuidas luua massiive PHP-s?
  2. Massiivid Java programmeerimise eelised ja puudused
  3. Massiivid C-programmeerimises (näited)
  4. Kümme parimat andmestruktuuri küsitluse küsimust

Kategooria: