Публикации по теме 'data-structures'


Нахождение высоты узла в двоичном дереве
В этой статье объясняется, как найти высоту узла в заданном бинарном дереве. Определение высоты узла является важным фактором при построении самобалансирующегося дерева или дерева AVL. Высота узла играет важную роль в повороте дерева при построении деревьев AVL. Как мы знаем, высота пустого дерева (без узлов) равна -1, а высота дерева только с одним узлом (корневым узлом) равна 0. Мы применяем ту же концепцию при вычислении высоты данного узла в дереве. Чтобы проиллюстрировать концепцию,..

Поиск пиков в структурах данных
Что такое пик? В массиве любая позиция является пиком тогда и только тогда, когда соседние элементы меньше или равны этому элементу в позиции. Если позиция находится на любом конце массива, то в условии учитывается только соседний элемент. Обратите внимание, что в этом случае пик всегда будет существовать. Теперь мы попробуем найти пик в массиве из n элементов, и мы постараемся минимизировать время, затрачиваемое программой, с применением различных алгоритмов. Для одномерного..

Темы LeetCode — String
Структура данных Вопросы базовый 28. Реализовать strStr() 443. Сжатие строк 186. Обратные слова в строке II 205. Изоморфные струны 293. флип игра 294. Перевернутая игра 2 290. Образец Слова 242. Действительная анаграмма 49. Групповые анаграммы 249. Групповые сдвинутые строки 438. Найти все анаграммы в строке 161. Одно расстояние редактирования 38. Посчитай и скажи 316. Удалить повторяющиеся буквы 844. Сравнение строк Backspace..

Построение Min-Heap из массива
Мы рассмотрели построение дерева min-heap из уже построенного дерева . Min-heap также может быть построен непосредственно из массива. Если мы посмотрим на массив, который мы использовали в статье Создание кучи из массива , мы увидим, насколько легко построить минимальную кучу из массива. Начнем с добавления первого узла, 7 . Кучи строятся слева направо. Следующий добавляемый элемент - 2 . Поскольку мы создаем минимальную кучу, все дочерние узлы должны быть меньше..

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

Как работает HashMap: недостающий элемент капюшона.
Привет! Вы найдете множество руководств по реализации HashMaps, но очень немногие из них подробно разбираются в HashMaps. Здесь мы собираемся понять внутреннюю работу HashMap и понять, как ее можно улучшить в зависимости от потребностей пользователя. Итак, давайте нырнем. Если вы где-то застряли, продолжайте читать. Потому что я разрешил все сомнения в самой статье. Если у вас остались сомнения, задавайте их в комментариях. Это моя попытка для # 100DaysOfCode Прежде чем мы..

Обнаружение цикла в связанном списке.
Как дела? Да, есть этот алгоритм Флойда, но знаете, как сложно его объяснить. Да, да, это может быть несложно, если вы помните. Есть ли более простой способ обнаружить цикл? Разговор с другом, который предложил на основе обратно связанного списка, может помочь обнаружить цикл. Но потом возникла проблема восстановления в исходное состояние. Если в данном связанном списке есть цикл, после реверсирования последний указатель снова станет указателем головы, поскольку обход вернется к..