Sobes.tech
Junior — Middle

V jakých situacích se doporučuje používat spojový seznam (LinkedList)?

sobes.tech AI

Odpověď od AI

Doporučuje se použití spojového seznamu (LinkedList) v situacích, kdy:

  • Často dochází k operacím vkládání a mazání prvků uprostřed kolekce, protože LinkedList to umožňuje efektivně bez posunu prvků, na rozdíl od polí.
  • Není potřeba rychlý náhodný přístup podle indexu, protože LinkedList má lineární čas přístupu.
  • Je třeba implementovat datovou strukturu s dynamickou velikostí, kde se počet prvků často mění.

Příklad použití 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
        }
    }
}

Protože je LinkedList užitečný, když je důležitá efektivita vkládání a mazání, nikoli náhodný přístup.