Публикации по теме 'dfs'
Структура графических данных и алгоритм поиска
График как структура данных:
Графики — одна из самых полезных и используемых структур данных в информатике, когда речь идет о моделировании реальной жизни. График очень универсален в том смысле, что вы можете отображать некоторые объекты реального мира на графике в виде узлов, а отношения между этими объектами могут быть представлены в виде ребер.
Есть две основные части графа: узлы (объекты, данные и т. д.) и ребра (соединения, связи между этими узлами).
Мы можем представить граф..
LeetCode 2265. Подсчет узлов, равный среднему значению поддерева — JavaScript-решение
Подсчет узлов, равных среднему значению поддерева — LeetCode Для корня двоичного дерева верните количество узлов, в которых значение узла равно среднему значению … leetcode.com
var averageOfSubtree = function(root) {
let ans = 0;
function dfs(node) {
if (node === null) return [0, 0]
let [leftSum, leftCount] = dfs(node.left)
let [rightSum, rightCount] = dfs(node.right)
let sum = leftSum..
DFS: отметка времени на узлах
Как конкурентоспособный программист, человек всегда ищет новые алгоритмы и методы для эффективного решения проблем. Здесь мы собираемся обсудить технику, которая может быть новой для некоторых программистов. Мы также обсудим 3 причины: Что, почему и как?
Так что пристегнитесь, поездка будет гладкой.
Предварительное условие:
Желательно прочитать эту статью, только если вы имеете представление о базовой реализации графа и DFS. Если нет, лучше сначала выучить их, а потом..
Решение C#/Java для вопроса Leetcode: круги друзей (сложность: средняя)
Источник:
Круги друзей В классе N учащихся. Некоторые из них друзья, а некоторые нет. Их дружба носит транзитивный характер… leetcode.com
В классе N учеников. Некоторые из них друзья, а некоторые нет. Их дружба носит транзитивный характер. Например, если A является прямым другом B, а B прямым другом C, то A является косвенным другом C. , И мы определили круг друзей, это группа студентов, которые являются прямыми или..
День 72: Суммируйте числа от корней до листьев
LeetCode 129. Суммировать числа от корня до листа
8ms
Временная сложность: O(n)
Пространственная сложность: O(n)
Рекурсивный вызов функции
class Solution {
public:
int sumNumbers(TreeNode* root) {
int res = 0;
if (!root) return res;
DFS(root, res, root->val);
return res;
}
void DFS(TreeNode* root, int& res, int cur) {
if (!root) return;
if (!root->left && !root->right)..
Алгоритмы — DFS и поиск с возвратом
Проблема
« SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swcompertamy
Есть массив N*N. 1 означает ядро (процессор). 0 означает пустой. Красная линия - питание. Нам нужно подключить как можно больше ядер к блоку питания. Если мы соединили максимально возможное количество жил, нам нужно найти минимальную длину провода. Провода не могут пересекаться друг с другом, а могут быть соединены только по прямой линии...
Как решить проблему с богглом?
Проблема Boggle — интересная задача. И это не так сложно, если вы знакомы с алгоритмом DFS. Вы можете найти описания проблем по ссылке ниже.
https://www.geeksforgeeks.org/boggle-find-possible-words-board-characters/
В этой ссылке представлены решения C++, JAVA. Решение Python отсутствует. Я хотел бы предоставить код Python для решения этой проблемы. """
jimmy shen
Nov 22, 2019
reference
https://www.geeksforgeeks.org/boggle-find-possible-words-board-characters/..