Вступ до зв’язаного списку

pic

Що таке зв'язаний список?

Уявіть собі ланцюг скріпок, кожна з яких тримає інформацію. Це по суті і є зв'язаний список!

Кожен елемент у зв'язаному списку називається "вузлом".

Кожен вузол містить дві частини:

  • Дані: Це фактична інформація, яку ви хочете зберігати (наприклад, числа 12, 34 тощо в нашому прикладі).
  • Вказівник: Зв'язок з наступним вузлом у ланцюгу.

Як зв'язані списки відрізняються від масивів

Зображення підкреслює основні відмінності:

Прямий доступ:

  • Масив: Уявіть масив як ряд пронумерованих коробок. Ви можете безпосередньо перейти до будь-якої коробки, знаючи її номер (індекс). Наприклад, щоб отримати значення за індексом 2, ви одразу переходите до цього місця.
  • Зв'язаний список: Це схоже на слідування карті скарбів. Ви починаєте з початку і слідуєте за вказівниками (стрілками) від одного вузла до іншого, поки не досягнете бажаного елемента. Ви не можете безпосередньо перейти до конкретної позиції.

Розподіл пам'яті:

  • Масив: Усі елементи зберігаються в неперервному блоці пам'яті. Це означає, що вони розподіляються разом у послідовності.
  • Зв'язаний список: Елементи можуть бути розкидані де завгодно в пам'яті. Кожен вузол має своє місце в пам'яті, і вказівники з'єднують їх разом.

Візуальний приклад:

  • Масив: Уявіть собі ряд полиць, кожна з яких має свій номер. Ви легко можете взяти предмет з будь-якої полиці, знаючи її номер.
  • Зв'язаний список: Уявіть собі полювання за скарбами. Ви починаєте з першої підказки, яка веде до другої, і так далі. Ви не можете безпосередньо дістатися до скарбу, не слідуючи підказкам по черзі.

Коли використовувати зв'язані списки

Зв'язані списки особливо корисні, коли:

  • Потрібно часто вставляти або видаляти елементи: Додавання або видалення елементів у середині масиву може бути повільним, оскільки можливо доведеться переміщувати інші елементи. У зв'язаному списку достатньо лише відкоригувати вказівники.
  • Пам'ять є проблемою: Масиви потребують неперервного блоку пам'яті, що може бути проблемою, якщо точний розмір не відомий заздалегідь. Зв'язані списки є більш гнучкими щодо використання пам'яті.

.

🔰СЛІДУЙТЕ ЗА МНОЮ НА 🔗LINKEDIN..

.

Дякую за читання !!!! 💓

Перекладено з: Introduction to Linked List

Leave a Reply

Your email address will not be published. Required fields are marked *