Публикации по теме 'linked-lists'
LeetCode 2095- Удалить средний узел связанного списка
Вопрос :
Вам дается head связанного списка. Удалите средний узел и верните элемент head измененного связанного списка .
Средний узел связанного списка размером n – это узел ⌊n / 2⌋th из начала , использующий индексацию на основе 0 , где ⌊x⌋ – наибольшее целое число. меньше или равно x .
Для n = 1 , 2 , 3 , 4 и 5 средними узлами являются 0 , 1 , 1 , 2 и соответственно.
Пример 1:
Input: head = [1,3,4,7,1,2,6]
Output:..
[Структуры данных] — Связанные списки
Связанный список — это структура данных, состоящая из последовательности узлов, содержащих значение и ссылку (ссылку) на следующий узел.
Обозначение Big-O
access: O(n)
search: O(n)
insert: O(1)
delete: O(1)
Доступ и поиск довольно медленные, так как узлы связаны один за другим, в отличие от массивов, где есть индексы или хэш-таблицы, где есть ключи.
Вставка и удаление выполняются быстро, как в начале, так и в конце.
Односвязный и двусвязный список
Односвязный список содержит узлы,..
LeetCode 328- Четно-нечетный связанный список
Вопрос :
Учитывая head односвязного списка, сгруппируйте вместе все узлы с нечетными индексами, за которыми следуют узлы с четными индексами, и верните переупорядоченный список .
Первый узел считается нечетным , второй узел считается четным и так далее.
Обратите внимание, что относительный порядок внутри как четных, так и нечетных групп должен оставаться таким же, как и во входных данных.
Вы должны решить задачу в O(1) дополнительной пространственной сложности и O(n)..
JavaScript: вставка узла в начало связанного списка
Объясненное решение проблемы HackerRank
В сегодняшнем алгоритме мы вставим узел в начало односвязного списка. Вот вызов, который я выбрал из HackerRank :
Имея указатель на заголовок связанного списка, вставьте новый узел перед заголовком. Значение next в новом узле должно указывать на head , а значение data должно быть заменено заданным значением. Вернуть ссылку на новый заголовок списка. Указанный указатель заголовка может иметь значение NULL, что означает, что начальный..
Преобразование листьев бинарного дерева в двусвязный список
Имея двоичное дерево и ссылку на корневой узел дерева, преобразуйте конечные узлы дерева в двусвязный список в неупорядоченной последовательности.
Эту задачу можно разбить на части: найти листовые узлы бинарного дерева и, учитывая набор элементов, сформировать из них двусвязный список.
Найти конечные узлы бинарного дерева —
Чтобы пройти по бинарному дереву, мы можем пройти по дереву, используя алгоритмы обхода в предварительном, неупорядоченном или постпорядковом порядке.
Обход..
Введение в связанные списки в Java: руководство для начинающих
Введение
Связанные списки — это важная структура данных в компьютерном программировании, которая предлагает динамичный и эффективный способ обработки данных. В этом руководстве для начинающих мы рассмотрим основы связанных списков в Java, включая их преимущества, способы их реализации и некоторые распространенные операции. К концу этой статьи у вас будет четкое представление о связанных списках и о том, как их использовать в ваших проектах Java.
Что такое связанный список?..
Стеки в стопках в стопках против очередей в очередях в очередях
Массивы
Массив - это список данных, хранящихся в непрерывной памяти. Основное преимущество массива заключается в том, что доступ к определенному элементу в списке может быть выполнен за время выполнения O (1). Основным недостатком использования массивов были бы вставки и удаления. Для того, чтобы сделать то и другое, массивы должны перемещаться по всем другим элементам, чтобы освободить место для нового.
Связанные списки
Связанный список - это набор данных, представленных узлами,..