Table of Contents
Tietorakenteen tehokkuus on vaihteleva, mikä voi vaikuttaa sovelluksen nopeuteen ja resurssien käyttöön.
Hakuajat riveissä ja luetteloissa
Hakuaika viittaa siihen, kuinka kauan kestää löytää elementti sisällä datarakenne. Arrays tyypillisesti vaativat lineaarinen haku, ellei niitä ole lajiteltu ja binäärihakua sovelletaan. Listat, erityisesti linkitetyt luettelot, vaativat myös traversal alusta alkaen paikantaa elementti.
Lajittelemattoman ryhmän tai luettelon keskimääräinen hakuaika on suhteessa osien määrään, joka on merkitty O(n. Lajitellut järjestelmät voivat parantaa hakuaikoja O(log n) käyttäen binäärihakua, mutta linkitetyt luettelot eivät hyödy binäärihausta niiden peräkkäisten käyttöjen luonteen vuoksi.
Lisäykset aikakatselmuksiin ja luetteloihin
Asennusaika riippuu siitä, missä uusi elementti lisätään. Asettaminen lopussa on yleensä nopeaa, jos on tilaa, mutta asentaminen alussa tai keskellä edellyttää siirtymäelementtejä, mikä johtaa O(n) ajan monimutkaisuus. Luettelot, erityisesti linkitetyt luettelot, voivat lisätä elementtejä tehokkaasti missä tahansa asennossa O(1) aikaa, jos sijainti on tiedossa, mutta paikantaminen että asema kestää O(n).
Suorituskyvyn huomioon ottaminen
Valitsemalla matriisit ja luettelot riippuu siitä, mitä toimintoja tarvitaan. Array-mallit sopivat nopeaan käyttöön ja lisäykseen, kun taas luettelot ovat erittäin dynaamisia syötteitä ja poistoja. Haku- ja asennusaikojen ymmärtäminen auttaa valitsemaan sopivan tietorakenteen tiettyä sovellusta varten.