Связанные списки очень просты, но, похоже, они имеют репутацию довольно сложных. Их репутация, как говорится, опережает их. — Вайдехи Джоши
Структуры данных являются жизненно важной частью информатики. Они важны для понимания основ и часто всплывают в интервью.
В информатике связанный список — это линейная структура данных, расположение которой не определяется их адресом. Это структура данных, состоящая из набора узлов, которые вместе представляют собой последовательность.
Это для тех, как ошибается связанный список,
Array : 0, 1, 2, 3, 4, 5 Linked-list: head = 0 → 1 → 2 → 3 → 4 → 5 → ∅
Односвязный список с головой
Это называется односвязным, потому что каждый элемент имеет только одностороннюю ссылку на следующий элемент. Каждое звено в цепи называется узлом.
Последовательность узлов может быть изменена и, следовательно, поток списка может быть улучшен/изменен.
Алгоритм
- Создается сигнальный узел.
- Целочисленная переменная создается для хранения количества шагов/перестановок.
- Предыдущий обход выполняется с использованием цикла while при условии, что начало уменьшается до тех пор, пока не станет 1.
- Два указателя узла и узел создаются для хранения узлов после реверса.
- Выполните традиционный обмен, однако на этот раз мы обмениваемся ссылками.
- Сделайте так, чтобы хвост предыдущего списка указывал на новый заголовок обратного списка, а хвост обратного списка указывал на заголовок предыдущего списка и возвращал новый заголовок после контрольного узла.
Итеративное решение:
Наконец, связанный список можно перевернуть/переупорядочить, заменив ссылки, и я надеюсь, что вы со мной в этом вопросе. Оставайтесь в безопасности; обеспечен.
Удачного листинга!
- Визуализировать этот алгоритм, PythonTutor
- Видео о LLreversal, YouTube
- Когда использовать связанный список вместо массива/списка массивов?, StackOverflow
- Структуры данных: массивы и связанные списки, mycodeschool