Публикации по теме '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
Связанные списки - это линейный способ хранения данных. Он состоит из узлов, содержащих данные, а также указателей, указывающих, как перейти к следующему фрагменту данных. Думайте об узлах как об участнике цепочки. Каждая цепочка зависит друг от друга, чтобы поддерживать прочную связь. Если, например, в средней ссылке все отсутствует, после этого произойдет сбой. Это уже не полная цепочка! Как это преобразовать в связанные списки? Если один из указателей отсутствует или неверен,..