Mikä on linkitetyn luettelon monimutkaisuus taulukkoon?
Avaruus monimutkaisuus jokaiselle linkitetyssä luettelossa onO (1), koska mihinkään operaatioon ei vaadita ylimääräistä tilaa.
Avaruus monimutkaisuus jokaiselle linkitetyssä luettelossa onO (1), koska mihinkään operaatioon ei vaadita ylimääräistä tilaa.
Hitaampi hakuaika:
Linkitetyssä luettelossa on hitaampia hakuaikoja kuin taulukoillaKoska satunnainen pääsy ei ole sallittua.Toisin kuin taulukoilla, joissa elementit voivat hakua hakemistolla, linkitetty luettelo vaatii iteraatiota.
Yksityisellä linkitetyssä luettelossa elementin lisäämiseksi ja poistamiseksi luettelosta on o (n).Kaksinkertaisesti linkitetyssä luettelossa elementin asettamisen ja poistamisen ajan monimutkaisuus on O (1).
Jos haluat poistaa tietyn elementin, ajan monimutkaisuus onPäällä)(missä n on elementtien lukumäärä), koska sinun on ensin löydettävä elementti.Jos haluat poistaa elementin tietyssä hakemistossa I, ajan monimutkaisuus on O (i), koska sinun on noudatettava linkkejä alusta alkaen.
Akateemisen kirjallisuuden mukaantaulukkojen osalta se on vakio O (1) ja linkitettyjen luetteloiden osalta se on lineaarinen O (n).Taulukko vie vain yhden kertolaskujen ja lisäyksen.Linkitetty luettelo, jota ei ole asetettu vierekkäiseen muistiin, vaatii läpikulun.
Täällä voimme nähdä, että minkä tahansa taulukon elementin käyttäminen on helppoa, ja sillä on 0 (1) aika monimutkaisuus.Kun taasSolmun käyttäminen linkitetyssä luettelossa on melko monimutkaista, koska ne eivät ole vierekkäisissä paikoissa.Osoitteita ei ole, vaan on olemassa useita solmuja, jotka sisältävät osoittimet muihin solmuihin.
Linkitettyä luetteloa voidaan käyttää tapauksissa, joissa vaaditaan nopeampaa lisäystä ja poistoa.Linkitetty vie o (1) Aika -monimutkaisuus lisäykseen ja poistoon, kun taas taulukko ottaa O (n).
Kaikki ArrayList -elementit sijaitsevat vierekkäin samassa muistitilassa.Siksi elementin hakeminen ArrayListista on niin nopeaa: ArrayList -aloituksen sijainnin vuoksi voit tietää tarkalleen missä minkä tahansa elementin muistissa.Toisaalta linkitettynä käyttävät ei-mantereen muistia.
Kun taas linkitetyn luettelon aika elementtien asettamiseen ja poistamiseen on nopeampaa kuin taulukkoSe tallentaa kaikki uudet element.
Mikä on taulukon tilan monimutkaisuus?
Avaruuden monimutkaisuus on samansuuntainen käsite ajan monimutkaisuuteen.Jos meidän on luotava joukko koko n, tämä vaatiiO (n) tila.Jos luomme kaksiulotteisen koko N*n: n, tämä vaatii O (n2) tila.
Linkitetyissä luetteloissa on kaksi pääosaa (arvo ja osoitin) solmua kohti.Tämä tarkoittaa, että tallennettujen tietojen määrä kasvaa lineaarisesti luettelon solmujen lukumäärän kanssa.Siksi linkitetyn luettelon tilan monimutkaisuus on lineaarinen:Avaruus - O (n).

Yllä olevien linkitettyjen luettelooperaatioiden tilan monimutkaisuus on O (1).Tämä johtuu siitä, ettäEmme tarvitse ylimääräistä tilaa kiinteän määrän muuttujien ulkopuolella.Joidenkin toimintojen osalta saatat tarvita ylimääräistä tilaa O (N) -järjestyksestä.Esimerkiksi linkitetyn luettelon lajittelu lajittelualgoritmin avulla, joka ei ole paikalla.
on omistettu luettelon ylläpitämiseen, ja vain yksi kentistä on tietojen tallentamiselle!elementit.on se, että se mahdollistaa elementtien lisäämisen tai poistamisen joko edessä tai taaksepäin jatkuvassa ajassa.