Ahelloend

Mitte segamini ajada Ahelaloendiga.
Ühesuunaline ahelloend

Ahelloend on arvutiteaduses lineaarne andmestruktuur, mille elementide järjekord ei sõltu füüsilisest paigutusest mälus, selle asemel osutab iga element järgmisele [1]. Ahelloend koosneb sõlmede kogumist, mis koos esindavad järjestust. Kõige põhilisemal kujul sisaldab iga sõlm andmeid ja viidet (teisisõnu linki) järjestuse järgmisele sõlmele. See struktuur võimaldab elementide tõhusat sisestamist või eemaldamist järjestuse igast positsioonist iteratsiooni abil. Keerukamad variandid lisavad täiendavaid linke, võimaldades meelevaldsetes kohtades sõlmede tõhusamat sisestamist või eemaldamist. Ahelloendi puuduseks on see, et juurdepääsuaeg on lineaarne. Kiirem juurdepääs, näiteks juhuslik juurdepääs, pole teostatav. Massiividel on parem vahemälu asukoht ahelloendiga võrreldes.

Ahelloendid kuuluvad kõige lihtsamate ja levinumate andmestruktuuride hulka. Neid saab kasutada mitmete teiste levinud abstraktsete andmetüüpide (loendite, pinude, järjekordade, assotsiatiivsete massiivide ja S-avaldiste) rakendamiseks.

Ahelloendi peamine eelis tavapärase massiivi ees on see, et loendi elemente saab hõlpsalt lisada või eemaldada ilma kogu struktuuri ümber jaotamata või ümber korraldamata, kuna andmeüksusi ei pea mälus ega kettal järjest salvestama. Ahelloendid võimaldavad sõlmede sisestamist ja eemaldamist loendi mis tahes punktis ning võimaldavad seda teha pideva arvu toimingutega.

Teiselt poolt, kuna lihtsad ahelloendid ei võimalda iseenesest juhuslikku juurdepääsu andmetele ega mis tahes vormis tõhusat indekseerimist, mille järelduseks enamik põhitoimingud – loendi viimase sõlme hankimine, antud andmeid sisaldava sõlme või uue sõlme sisestamiskoha leidmine – võivad vajada enamiku või kõigi loendielementide itereerimist. Ahelloendite kasutamise eelised ja puudused on toodud allpool. Ahelloendid on dünaamilised, nii et pikkus võib vastavalt vajadusele suureneda või väheneda. Iga sõlm ei pruugi füüsiliselt mälus eelmist järgida.

  1. Cormen, Leiserson, Rivest, and Stein (2001). Introduction to Algorithms. The MIT Press.{{raamatuviide}}: CS1 hooldus: mitu nime: autorite loend (link)

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy