Публикации по теме '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;..