Sobes.tech
Назад к вопросам
Junior — Middle
71

Можете объяснить, что такое односвязный список и как он устроен?

Компании, где спрашивали
СБЕР РоботыСБЕР Роботы

Ответ от нейросети

sobes.tech AI

Односвязный список — это структура данных, состоящая из последовательности элементов (узлов), где каждый узел содержит данные и ссылку (указатель) на следующий узел в списке. В отличие от массива, элементы не хранятся в смежных ячейках памяти, а связаны между собой через ссылки.

Основные характеристики:

  • Каждый узел содержит данные и ссылку на следующий узел.
  • Первый узел называется головой списка (head).
  • Последний узел указывает на None (конец списка).

Пример узла на Python:

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = None

    def append(self, data):
        new_node = Node(data)
        if not self.head:
            self.head = new_node
            return
        last = self.head
        while last.next:
            last = last.next
        last.next = new_node

Односвязный список удобен для динамического добавления и удаления элементов, но для доступа к элементам по индексу требуется последовательный обход.