„Keðjulisti“: Munur á milli breytinga
Efni eytt Efni bætt við
Endurskrifa og tek ut "og almennt/ra kosta fylka", man ekki pælinguna lengur sem ég var með.. Sennilega ok í bil. Farinn í háttinn.. |
→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
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-->
|