Публикации по теме 'linked-lists'


Обнаружение цикла связного списка в JavaScript
Обнаружение цикла - это алгоритмическая проблема поиска цикла в последовательности повторяющихся значений функции, например, классическая проблема обнаружения цикла со связным списком. Есть разные решения. В следующем примере Leetcode я объясню истинные решения. Учитывая head , заголовок связанного списка, определите, есть ли в связанном списке цикл. В связанном списке есть цикл, если в списке есть какой-то узел, к которому можно снова добраться, непрерывно следуя за указателем..

Односвязные списки — часть 2
На прошлой неделе я рассмотрел, что такое (односвязные) списки, теперь давайте вернемся и посмотрим, что мы можем с ними сделать. Напоминаем, вот диаграмма, изображающая связанный список: А вот код, который мы использовали для его реализации: class Node { constructor(data, next = null) { this.data = data; this.next = next; } } class LinkedList { constructor(){ this.head = null } insertAtHead(node){ this.head = node } clearList(){ this.head =..

Двусвязные списки и как их реализовать в Python 3
Связанные списки - это линейный способ хранения данных. Он состоит из узлов, содержащих данные, а также указателей, указывающих, как перейти к следующему фрагменту данных. Думайте об узлах как об участнике цепочки. Каждая цепочка зависит друг от друга, чтобы поддерживать прочную связь. Если, например, в средней ссылке все отсутствует, после этого произойдет сбой. Это уже не полная цепочка! Как это преобразовать в связанные списки? Если один из указателей отсутствует или неверен,..