Введение в структуру данных. Концепция двухсвязного списка с практическими примерами, примененными к языку Javascript.

Вы хотите улучшить свои фундаментальные знания в области информатики, особенно структуры данных и алгоритмов? Тогда вы в правильном месте. Давайте рассмотрим некоторые распространенные структуры данных и реализуем их в JavaScript.

Двусвязный список (указывает в двух направлениях) очень идентичен односвязному списку, за исключением того, что он содержит дополнительный указатель, который отслеживает предыдущий узел. Прежде чем я начну говорить о двусвязном списке, я настоятельно рекомендую прочитать мой блог об односвязном списке (Нажмите здесь). Это даст вам обзор данных Singly Linked List.

Двусвязный список имеет два указателя на каждый узел, который отслеживает предыдущий узел и следующий узел, в отличие от односвязного списка, который отслеживает только следующий узел. Как и в односвязном списке, первый узел в двусвязном списке также называется головным, а последний узел также называется хвостовым. В двусвязном списке каждый узел хранит три вещи: данные (целые числа или строки), ссылку на следующий узел и предыдущий узел.

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

Большой O методов двусвязных списков заключается в следующем:

  • Вставка — О(1)
  • Удаление — О(1)
  • Поиск по)
  • Доступ — O(n)

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



Надеюсь, вам понравился этот пост. Не стесняйтесь поделиться своими мыслями по этому поводу.
Вы можете найти больше решений Leetcode в моем блоге и в моем репозитории GitHub. Предположим, вам нравится то, что вы изучаете. смело делайте форк 🔪 и помечайте ⭐ звездочкой.

В этом блоге я попытался собрать и представить наиболее важные моменты, которые следует учитывать при создании приложений Javascript / Node.js, не стесняйтесь добавлять, редактировать, комментировать или спрашивать.
Я рекомендую вам просмотреть ссылки для более подробной информации. Удачного кодирования!