„Keðjulisti“: Munur á milli breytinga

Efni eytt Efni bætt við
Comp.arch (spjall | framlög)
Endurskrifa og tek ut "og almennt/ra kosta fylka", man ekki pælinguna lengur sem ég var með.. Sennilega ok í bil. Farinn í háttinn..
Comp.arch (spjall | framlög)
→‎Umfjöllun og tilbrigði við ofangreindar grunngerðir: - indexing O(1), spurning hvort ég sé ekki að útskýra aukaminniskun rétt eftir skoðun á flækjustigi rétt fyrir háttinn.. Vill einhver lesa yfir hvort ég féll í gryfju..?
Lína 23:
 
=== Umfjöllun og tilbrigði við ofangreindar grunngerðir ===
Í eintengdum lista eru hefðbundið einn bendir á hlekk (en fram/aftur bendapar fyrir tvítengda lista). En hvert gildi þarf ekki endilega sér hlekk. Þessi aukaminnisnotkun sem listar kalla á (umfram [[Fylki (tölvunarfræði)|fylki]]) fyrir hvert gildi er hægt að minnka að vild, með því hafa bendi (eða par) fyrir ákveðinn fjölda gilda en ekki hvert gildi (í raun lista af fylkum gilda í stað lista stakra). Því fleiri gildi í hlekk því færri hlekkir og meiri minnisparnaður fyrir bendana. Þetta eru s.k. [[kvikt fylki|kvik fylki]] (''e. dynamically allocated array''), ATH ekki kvik frátekin fylki (''e. dynamically allocated array''). (Líka er einfaldlega hægt að sleppa bendum alveg og nota hefðbundin fylki ef minniskostnaður væri eina málið.) Kvik fylki hafa flesta kosti almennra fylka og lítið af göllum þeirra (en uppbyggingu og forritskóða bæði lista og fylkja). Þ.e. hægt er að bæta við gildum (hvar og hvernig fer eftir nákvæmri útfærslu) án hefðbundinna takmarkanna fylkja. Kostir fylkja eru t.d. hraðasti aðgangur að hvaða staki sem er (og breyting staka en ekki eyðing eða viðbót t.d. milli tveggja sem er kostur lista), og vegna [[skyndiminni]]s, <!--og localities of reference--> að næsta gildis á undan (eða eftir). Kvik fylki nálgast hraða ogí almennt kosta fylka (eftir útfærslu)uppflettingu án helstusumra galla hefðbundinna þeirra. Listar hafa hins vegnar almennt hægarihægastan aðgang að gildum (nema fínan fyrir fyrsta) og næstu gildi sem bendar vísa á því skyndimynni virka best þegar gildi eru samliggjandi í minni (og síst fyrir hefðbundna lista (atriði sem er undanskilið í hefðbundinni [[flækjustigsgreining|flækjustigsgreiningu]] sem tövunarfræðitölvunarfræði hefur notað til að áætla "hraða" [[algóritmi|algóritma]]/[[gagnagrind|gagnagrinda]]). Í raun er aðgangur að fyrra gildi flókinn/hægur nema um tvítengdan lista er að ræða - en þá álíka hraður og í eintengdum.
 
Alls konar fleiri afbrigði af listum eru til og jafnvel er hægt að blanda þeim saman. T.d. er til almennt trikk fyrir alla tvítengda lista til að komast af með pláss eins bendis fyrir hvert framm/aftur par benda með því að geyma þá XOR-aða saman. Það trikk er ekki ráðlagt í þeim forritunarmálum, eins og C/C++, sem leyfa það en ekki hafa almennt ruslasöfnun í þeim tilvikum að henni er bætti við því hún ræður almennt ekki við það. Eins fylgja aðrir gallar eins og með allar fljóknari aðgerðir.<!--space-time tradeoff-->