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


Алгоритмная практика: развертка матрицы
Я работал над своими навыками работы с алгоритмами и недавно наткнулся на упражнение, которое, хотя и было простым, оказалось одновременно забавным и обманчиво сложным. Нам дан массив, состоящий из n массивов. Каждый массив, в свою очередь, также имеет длину n: [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]] Наша задача - взять матрицу и распечатать ее содержимое, начиная с первого номера, а затем продолжать делать это по спирали по часовой стрелке до тех пор, пока..

Задача кодирования: представление двоичного дерева с правой стороны
Мы продолжаем серию задач по кодированию проблемой, связанной с бинарными деревьями. В нашей предыдущей статье мы использовали подход поиска в глубину, чтобы пройти по 2D-сетке и прийти к решению относительно количества островов в сетке. Подход DFS с деревьями предполагает прохождение по всей длине ветви перед рекурсивным или итеративным прохождением других ветвей дерева. Подход BFS - это итеративный обход дерева по порядку уровней, при котором мы идем слева направо, как показано на..

Реализация структуры данных очереди с использованием массива в Javascript
Вступление В этой статье мы узнаем, как реализовать очередь с использованием массива в Javascript! Базовая реализация структуры данных очереди будет выполняться с помощью следующих методов: enqueue () - добавляет элемент в очередь. dequeue () - удаляет и возвращает первый элемент, введенный в очередь. isEmpty () - возвращает истину или ложь в зависимости от того, пуста ли очередь или нет. front () - возвращает передний элемент очереди. print () - возвращает все..

25 самых популярных практических задач поиска в глубину (DFS)
Поиск в глубину (DFS) часто используется для обхода и поиска структуры данных в виде дерева или графа. Идея состоит в том, чтобы начать с корня (в случае дерева) или некоторого произвольного узла (в случае графа) и исследовать каждую ветвь как можно глубже, прежде чем выполнять обратный поиск. Рассмотрим следующий график, который отмечает порядок, в котором узлы будут обнаружены в DFS. Мы перечислили наиболее часто задаваемые вопросы интервью о структурах данных и алгоритмах,..

Наглядное руководство по 0–1 BFS
Новые проблемы требуют индивидуальных решений. Иногда обходной путь и свежий взгляд на проблему может значительно снизить ее сложность. Сегодня мы поговорим об одном таком методе, который называется 0–1 B чтения первого поиска ». Добро пожаловать! К новой статье Code Stories , где мы решаем интересные задачи, используя основы компьютерных наук. 🚀 Как и в предыдущем посте о Динамическом программировании , мы сначала разберемся с постановкой задачи. После этого мы начнем..

Введение в структуры данных
Дайте мне минуту или две, чтобы сложить слова воедино. Я делаю это впервые, поэтому все еще пытаюсь понять, как это работает. Будем надеяться, что я вас не слишком утомлю. Сегодня я бы говорил о структурах данных, так что хватай попкорн и давай. Распространенная плохая практика для программистов - учиться программировать без глубоких знаний структур данных. Совершенно неприлично видеть, что многие программисты участвуют в больших проектах без учета структур данных. Имея это в..

Введение в стеки в C ++
Как использовать стек Объявление стека stack <int> A; // declares an empty stack. Толкать A.push(newElement); // Pushes a new element. O(1) Поп A.pop(); // O(1) pop пустой A.empty() // O(1) Размер A.size(); // O(1) верхний A.top(); // O(1). Gives the top element. Пример: Проверить наличие сбалансированной круглой скобки stack<char> st; map<char, char> matchingBracket;..