Skip to main content

Hva er en dynamisk matrise?

En dynamisk matrise er en datastruktur som brukes i dataprogrammering som inneholder flere databeoblinger som en enkelt gruppe, og kan endres størrelse på vilje for å imøtekomme forskjellige objekter.Gruppen holdes i en enkelt sammenhengende minneblokk, så tilgangen til elementer er effektiv og rask.Dynamiske matriser kalles også vektorer eller lister, avhengig av dataspråk de brukes i.Til tross for disse navnene, kan det hende at en bestemt liste eller vektor ikke er en dynamisk matrise, siden lister og vektorer kan implementeres annerledes enn matriser og fra hverandre.

C ++ inneholder en enkelt dynamisk array -klasse kalt Vector, som ligger i en gruppe klasserkalt standardmalbiblioteket.Maten som støtter denne klassen kan nås av iteratorer eller av indekser.Evnen til å endre størrelse på etterspørsel er en stor fordel, men det kan lokke programmerere til en falsk følelse av sikkerhet fordi det ikke er så robust som det ser ut til å være.Den dynamiske matrisen som støtter en vektor, kan ikke sikre at tilgangsforespørsler er gyldige.Elementer i matrisen er bare tilgjengelig med indekser, og å prøve å få tilgang til indekser utenfor matrisen vil vanligvis ikke forårsake problemer med minnekorrupsjon.Java -vektorklassen tilsvarer omtrent C ++ vektorklassen, og er ikke synkronisert for å muliggjøre tilgang med flere tråder.ArrayList og CopyonWriteArrayList er derimot begge trådsikker.Av de tre er CopyonWriteArrayList den mest arbeidsintensive klassen, fordi den fullstendig gjenskaper den dynamiske matrisen hver gang en ny verdi skrives til matrisen.

Dynamiske matriser implementeres på vesentlig på samme måte uavhengig av dataspråket som er involvert, men menAvhengig av et bestemt språk kan det være andre muligheter som er bygget oppå det.I likhet med statiske matriser begrenser dynamiske matriser ikke typen objekt som kan lagres i dem, så lenge de alle er samme type objekt.En programmerer trenger aldri å få tilgang til en dynamisk gruppe direkte;Det kan alltid gjøres gjennom en klasse som pakker opp matrisen for enkel bruk.Riktig bruk av disse matriser kan hjelpe en programmerer med dataorganisasjon i kode, og også med å lage forståelig kode som egner seg til enkelt vedlikehold.