Чӣ кор дар LinkedList нисбат ба ArrayList дар иҷрои амалиётҳои илова кардан ё хориҷ кардани элементҳо зудтар иҷро мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар LinkedList амалҳо барои илова кардан ва хориҷ кардани унсурҳо нисбат ба ArrayList тезтар мебошанд, вақте ки сухан дар бораи илова кардан ё хориҷ кардан дар миёнаи рӯйхат меравад.
Сабаб ин аст, ки LinkedList рӯйхати пайваст аст, ки дар он ҳар унсур ба унсури ҳамсояи худ ишора мекунад. Барои илова кардан ё хориҷ кардан, кофист чанд ишораҳоро тағир диҳед, ки агар шумо ишора ба нодро дошта бошед, вақт O(1) мегирад.
Дар ArrayList, унсурҳо дар массив нигоҳ дошта мешаванд, ва дар илова кардан ё хориҷ кардан дар миёна, бояд ҳамаи унсурҳои пасояндаро ҳаракат диҳед, ки вақт O(n) мегирад.
Аммо, агар ба зудӣ ба унсур дар асоси индекс дастрасӣ кардан лозим бошад, ArrayList тезтар аст (O(1)), дар ҳоле ки LinkedList талаб мекунад гузариш (O(n)).
Масалан:
- Илова дар миёнаи LinkedList: зуд, ишораҳо тағир меёбанд.
- Илова дар миёнаи ArrayList: суст, унсурҳо ҳаракат медиҳанд.
Аз ин рӯ, LinkedList барои амалҳои зиёдтар дар бораи илова кардан/хориҷ кардан дар миёнаи коллексия самараноктар аст.