Introduksjon til Arrays i datastruktur
Array er en type datastruktur som brukes til å lagre homogene data i sammenhengende minneplasser. Dette implementerer ideen om å lagre de forskjellige elementene slik at de kan hentes eller åpnes på en gang.
Her refererer indeksen til plasseringen av et element i matrisen. La oss forestille oss om P (L) er navnet på matrisen der 'P' er variabelenavnet og 'L' er lengden på matrisen, dvs. antall elementer som er tilstede i matrisen. Da representerer P (i) elementet i den 'i + 1' posisjonen i arrayen.
For eksempel:
P (6) = 72 betyr element på 6 + 1 plassering av matrisen.
Need of Array: Det hjelper å representere et stort antall elementer ved å bruke en enkelt variabel. Det gjør det også enkelt å lagre tilgang til element på minneplass ved å bruke indeksen til matrisen som representerer plasseringen av elementet i matrisen.
Hvordan Arrays fungerer i datastruktur?
Array lagrer variablene på sammenhengende steder og gir dem en bestemt indeks. Når noen vil hente dataene, bruker personen denne indeksen. I den ovenfor gitte matrisen 'P', si baseadresse for matrise = 100, så lagres elementer som nedenfor:
Minne tildelt til en matrise kan beregnes som:
- One Dimensional Array: Total minne tildelt til en array = Antall elementer * størrelse på ett element. For eksempel: I ovennevnte tilfelle, minne = 7 * (størrelse på int)
- Rad større rekkefølge: Totalt minne tildelt 2D Array = Antall elementer * størrelse på ett element
= Antall rader * Antall kolonner * Størrelse på ett element - Kolonne Major Order: Total minne tildelt 2D Array = Antall elementer * størrelse på ett element
= Antall rader * Antall kolonner * Størrelse på ett element
Hvordan definere matriser?
Dermed kan Array defineres som en avledet datastruktur for å lagre homogene data av primitiv datatype på sammenhengende minneplasser. Nedenfor er operasjonene som kan utføres på matriser:
1. Innlegging: Dette refererer til å sette inn et element i matrisen ved en bestemt indeks. Dette kan utføres med O (n) kompleksitet.
2. Sletting: Dette refererer til å slette et element ved en bestemt indeks. Denne operasjonen krever forskyvning av elementer etter sletting tar således O (n) kompleksitet.
3. Søk: Dette refererer til tilgang til et element ved en bestemt indeks i en matrise.
4. Traversing: Det refererer til å skrive ut alle elementene i en matrise etter hverandre.
Egenskaper ved matriser i datastruktur
Nedenfor er egenskapene til matriser i Datastruktur:
- Det er en avledet datatype, som består av en samling av forskjellige primitive datatyper som int, char, float, etc.
- Elementer av en gruppe er lagret i sammenhengende blokker i primærminnet.
- Navnet på matrisen lagrer baseadressen til matrisen. Den fungerer som en peker til minneblokken der det første elementet er lagret.
- Arrayindekser starter fra 0 til N-1 i tilfelle en enkelt dimensjonsgruppe der n representerer antall elementer i en matrise.
- Elementer i matrisen kan bare være sammensatt av konstanter og bokstavelige verdier.
Hvordan lage matriser?
Vi kan opprette Arrays ved hjelp av syntaks nedenfor:
1. Dimensjonell matrise: var = (c1, c2, c3, …… .cn)
Her refererer var til variabelen til array som lagrer baseposisjonen til arrayen. Og c1, c2 … er elementer i matrisen.
Eksempel: int a = (4, 6, 7, 8, 9)
Lengde på matrisen = n
2. Multidimensjonal matrise: var = ((r 01, … r 0n ), (r 10, … ..r 1n )… .. (r m0 … .r mn ))
Her refererer var til navnet på rekken av m rader og n kolonner.
Hvordan få tilgang til Arrays Element?
Indekser for en matrise starter fra 0 til -1, 0 som indikerer det første elementet i matrisen og -1 indikerer det siste elementet i matrisen. Tilsvarende indikerer -2 det siste men ett element i matrisen. La oss si at det er en gruppe A som har 10 elementer. Da lagrer en variabel referansen til den første variabelen i matrisen, og dette kalles 'Base Address' for en matrise. Etter dette, hvis noen ønsker å få tilgang til elementet i matrisen, blir adressen til det elementet beregnet ved å bruke formelen nedenfor.
Adresse til ith element = Base Address + i * størrelse på hvert element
Her refererer størrelsen på hvert element til minnet som er tatt av forskjellige primitive datatyper som matrisen har. For eksempel tar int 2 byte plass og flyter tar 4 byte plass i C.
Få tilgang til flerdimensjonal matrise
La oss si at A (r l, …… .., r u ) (c u, ……, c l ) er en flerdimensjonal matrise og rl, r u, c u, c l er nedre og øvre grenser for rader og kolonner. Enn antall rader i A, si NR = r u - r l +1 og Antall kolonner i A, si NC = c l - c u +1.
Nå for å finne adressen til et element i matrisen er det to metoder:
- Rad major: Hvor vi krysser rad for rad.
Adresse til A (i) (j) = Basisadresse + ((i - r l ) * NC + (j- c l )) * størrelse på hvert element.
- Column Major: Hvor vi krysser kolonne for kolonne.
Adresse til A (i) (j) = Baseadresse + ((i - r l ) + (j- c l ) * NR) * størrelse på hvert element.
Kompleksitet: Det er mye enklere å få tilgang til ethvert element i matrisen og kan gjøres i O (1) kompleksitet.
Konklusjon
Arrays er en veldig unik måte å strukturere lagrede data på, slik at de lett kan nås og kan spørres for å hente verdien til et bestemt nummer ved å bruke indeksverdien. Selv om det å sette inn et element i en matrise tar mye tid, da det trenger fullstendig omorganisering og forskyvning av eksisterende elementer i en matrise. Likevel brukes det til å implementere forskjellige andre komplekse datastrukturer som tre, kø eller stabel og også brukt i forskjellige algoritmer.
Anbefalt artikkel
Dette er en guide til Arrays i datastruktur. Her diskuterer vi hvordan du oppretter og får tilgang til Array Elements i datastruktur sammen med Properties. Du kan også gå gjennom andre relaterte artikler for å lære mer -
- Hvordan lage matriser i PHP?
- Matriser i Java-programmering Fordeler og ulemper
- Arrays in C-programmering (eksempler)
- Topp 10 spørsmål om datastruktur