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