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


Приоритетные очереди
Удалите самый большой/самый маленький элемент. API, которые мы ищем: * Вставлять * Удалить * Найти следующий максимум Реализации, которые мы можем придумать: * Неупорядоченный массив: O(1) для вставки, O(N) для удаления, O(N) для поиска следующего максимума * Упорядоченный массив: O(N) для вставки, O(1) для удаления, O(1) для поиска следующего максимума * Двоичная куча/полные двоичные деревья: O(logN) для вставки, O(logN) для удаления, O(logN) для поиска следующего..

Как базы данных MVCC работают внутри
В моей предыдущей статье я обсуждал некоторые внутренние механизмы хранения различных типов баз данных. LSM-дерево, фрактальное дерево и B-дерево были обсуждены на более широком уровне, чтобы мы могли познакомиться с общим дизайном, лежащим в основе таких популярных систем. Это действительно обширное поле для понимания и обсуждения работы с базами данных, здесь так много сложных вещей. Сегодня я немного расскажу о другом методе, называемом Multi Version Concurrency Control, который..

Мягкое введение в теорию графов
Так много вещей в мире никогда бы не возникло, если бы не было проблемы, требующей решения. Эта истина применима ко всему, но мальчик, это очевидно в мире информатики. Кому-то нужен был способ отслеживать порядок вещей, поэтому они экспериментировали и создавали разные структуры данных , пока не нашли ту, которая лучше всего работает для конкретной проблемы, которую они пытались решить. Кому-то нужен был хороший способ хранения данных, поэтому они поиграли с разными системами..

100 самых популярных структур данных и проблем алгоритмов
Найти пару с заданной суммой в массиве Проблема самой длинной общей подпоследовательности Удаление из BST (двоичного дерева поиска) Обход бинарного дерева в порядке уровней Вставка в BST Обход дерева - Inorder , Preorder и Postorder 0–1 Задача о ранце Самая длинная возрастающая подпоследовательность с использованием динамического программирования Задача суммы подмножества - решение динамического программирования Самая длинная палиндромная..

Дискретная математика для программистов: наборы
Нравится вам это или нет, базовая дискретная математика имеет решающее значение для всех разработчиков программного обеспечения. Наборы являются одним из этих ключевых основополагающих понятий💡 Этот пост посвящен множествам, которые являются важной структурой данных, которую должен знать каждый разработчик программного обеспечения. В этой статье используется язык Python, но в большинстве языков есть встроенные функции для наборов. Что такое набор? Набор — это неупорядоченный набор..

DFS в JavaScript (структуры данных)
Короткий и точный код Js для поиска в глубину в BST Примечание. Прочитайте о Двоичном дереве поиска и BFS в BST здесь. Узел: Псевдокод обхода предварительного заказа: Создайте массив переменных для хранения значений посещенных узлов. Напишите вспомогательную функцию, которая принимает узел. Поместите значение узла в переменную, в которой хранятся значения. Если у узла есть свойство left, вызовите вспомогательную функцию со свойством left на узле. Если узел..

Понимание концепций структуры данных
Структуры данных — это особый способ организации данных в системе, чтобы их можно было эффективно и рационально использовать . Множество Массив – это структура данных, состоящая из упорядоченного набора похожих элементов . Массив имеет одно имя Элементы в массиве обозначаются их положением в массиве Массивы используются для управления несколько значений Связанный список В связанном списке элементы не хранятся в смежных областях памяти. Элементы в..