Разница между односвязным списком и двусвязным списком

Разница между односвязным списком и двусвязным списком
Разница между односвязным списком и двусвязным списком

Видео: Разница между односвязным списком и двусвязным списком

Видео: Разница между односвязным списком и двусвязным списком
Видео: Односвязный список | Динамические структуры данных #1 2024, Июль
Anonim

Односвязный список и двусвязный список

Связанный список - это линейная структура данных, которая используется для хранения набора данных. Связный список выделяет память своим элементам отдельно в своем собственном блоке памяти, а общая структура получается путем связывания этих элементов как звеньев в цепочке. Односвязный список состоит из последовательности узлов, и каждый узел имеет ссылку на следующий узел в последовательности. Двусвязный список содержит последовательность узлов, в которой каждый узел содержит ссылку на следующий узел, а также на предыдущий узел.

Односвязный список

Каждый элемент в односвязном списке имеет два поля, как показано на рисунке 1. Поле данных содержит фактически сохраненные данные, а следующее поле содержит ссылку на следующий элемент в цепочке. Первый элемент связанного списка сохраняется как заголовок связанного списка.

Изображение
Изображение
Изображение
Изображение

На рис. 2 показан односвязный список из трех элементов. Каждый элемент хранит свои данные, а все элементы, кроме последнего, хранят ссылку на следующий элемент. Последний элемент содержит нулевое значение в своем следующем поле. Доступ к любому элементу в списке можно получить, начав с заголовка и следуя по следующему указателю, пока не встретите требуемый элемент.

Двусвязный список

Каждый элемент в двусвязном списке имеет три поля, как показано на рисунке 3. Подобно односвязному списку, поле данных содержит фактические сохраненные данные, а следующее поле содержит ссылку на следующий элемент в цепочке. Кроме того, предыдущее поле содержит ссылку на предыдущий элемент в цепочке. Первый элемент связанного списка сохраняется как заголовок связанного списка.

Изображение
Изображение
Изображение
Изображение

На рис. 4 показан двусвязный список с тремя элементами. Все промежуточные элементы хранят ссылки на первый и предыдущий элементы. Последний элемент в списке содержит нулевое значение в своем следующем поле, а первый элемент в списке содержит нулевое значение в своем предыдущем поле. Двусвязный список можно перемещать вперед, следуя следующим ссылкам в каждом элементе, и аналогичным образом можно перемещаться назад, используя предыдущие ссылки в каждом элементе.

В чем разница между односвязным списком и двусвязным списком?

Каждый элемент в односвязном списке содержит ссылку на следующий элемент в списке, а каждый элемент в двусвязном списке содержит ссылки на следующий элемент, а также на предыдущий элемент в списке. Двусвязные списки требуют больше места для каждого элемента в списке, а элементарные операции, такие как вставка и удаление, более сложны, поскольку они должны иметь дело с двумя ссылками. Но двусвязные списки упрощают манипулирование, поскольку позволяют перемещаться по списку в прямом и обратном направлениях.

Рекомендуемые: