Связный список для новичка
Разбираем структуру, где элементы держатся за руки, а не лежат по номерам.
Цепочка вместо ряда ячеек
Связный список — это цепочка элементов, где каждый хранит своё значение и ссылку на следующий. Как поезд из вагонов: чтобы дойти до пятого, надо пройти через первые четыре. В отличие от массива, элементы не обязаны лежать подряд в памяти — их связывают ссылки.
В чём преимущество
Вставить или удалить элемент в середине связного списка легко: достаточно перецепить пару ссылок, не сдвигая остальные. В массиве для этого пришлось бы двигать соседей. Зато у связного списка нет мгновенного доступа по номеру — чтобы добраться до элемента, идут по цепочке от начала.
Когда что выбирать
Если часто обращаетесь к элементам по номеру и редко меняете структуру — удобнее массив (список в Python). Если наоборот, много вставок и удалений в разных местах — выигрывает связный список. Выбор структуры под задачу — важная часть мышления программиста.
Частые вопросы
Нужен ли связный список новичку на практике? В Python редко — встроенного списка обычно хватает. Но понимать идею полезно: она объясняет, почему одни операции быстрые, а другие медленные.
С чего начать изучение структур? С простого — со списков. Логику удобно тренировать в браузерной игре Дрон Кодер, где действия наглядны.
Начать игру бесплатно