Sobes.tech
Junior — Middle

V ktorých situáciách sa odporúča použiť spojený zoznam (LinkedList)?

sobes.tech AI

Odpoveď od AI

Odporúča sa používanie prepojenej zoznamu (LinkedList) v situáciách, keď:

  • Často sa vykonávajú operácie vkladania a odstraňovania prvkov uprostred kolekcie, pretože LinkedList to umožňuje efektívne bez posunu prvkov, na rozdiel od polí.
  • Nie je potrebný rýchly náhodný prístup podľa indexu, pretože LinkedList má lineárny čas prístupu.
  • Je potrebné implementovať dátovú štruktúru s dynamickou veľkosťou, kde sa počet prvkov často mení.

Príklad použitia v iOS (Swift):

class Node<T> {
    var value: T
    var next: Node?
    init(value: T) {
        self.value = value
    }
}

class LinkedList<T> {
    var head: Node<T>?
    
    func append(_ value: T) {
        let newNode = Node(value: value)
        if let lastNode = head {
            var current = lastNode
            while current.next != nil {
                current = current.next!
            }
            current.next = newNode
        } else {
            head = newNode
        }
    }
}

Pretože je LinkedList užitočný, keď je dôležitá efektivita vkladania a odstraňovania, nie náhodný prístup.