Результаты поиска по запросу "breadth-first-search"

11 ответов

Естественно, состояние 1 будет первым в порядке. Так что просто экстраполируйте этот механизм сравнения для работы с плитками на плитки (я уверен, что у ваших плиток есть идентификаторы или индексы или что-то не так?), И вы получите отсортированный список посещенных. Затем, когда вы вызвали visit.contains (состояние), программа сможет очень быстро рассчитать, было ли посещено состояние или нет.

жен выполнить поиск в ширину в Java для назначения. У меня есть сетка плиток 5х5 (всего 24 - 1 плитка оставлена ​​«пустой»). Смысл поиска состоит в том, чтобы переставить плитки, переместив «пробел» вверх, вниз, влево или вправо, чтобы в конечном ...

2 ответа

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

сно Norvig в AIMA (Искусственный интеллект: современный подход), алгоритм «Глубина-первый» не является полным (не всегда дает решение), потому что существуют случаи, когда нисходящее поддерево будет бесконечным. С другой стороны, подход шириной ...

0 ответов

Я не думаю, что вам нужна очередь здесь вообще.

о, что у меня есть. Я думал, что предварительный заказ был тем же самым и смешал это с глубиной сначала! import java.util.LinkedList; import java.util.Queue; public class Exercise25_1 { public static void main(String[] args) { BinaryTree tree = ...

ТОП публикаций

1 ответ

Этот процесс продолжается до тех пор, пока очередь не опустеет.

аюсь написать коды для поиска в ширину в двоичном дереве. Я сохранил все данные в очереди, но я не могу понять, как добраться до всех узлов и использовать их всех детей. Вот мой код на C: void breadthFirstSearch (btree *bt, queue **q) { if (bt ...

3 ответа

Почему поиск в глубину считается эффективным с точки зрения пространства?

В курсе алгоритмов я беру, сказано, чтопоиск в глубину (DFS) гораздо более компактно, чемпоиск в ширину (BFS). Почему это? Хотя в основном они делают то же самое, в DFS мы стековываем наследников текущего узла, а в BFS ставим в очередь наследников.

2 ответа

Является ли время выполнения BFS и DFS в двоичном дереве O (N)?

Я понимаю, что время выполнения BFS и DFS на общем графе равно O (n + m), где n - количество узлов, а m - количество ребер, и это потому, что для каждого узла должен рассматриваться его список смежности. Однако, какова среда выполнения BFS и DFS, ...

2 ответа

Разница между BFS и DFS

Я читаю оDFS вВведение в алгоритмы Кормен. Ниже приведен фрагмент текста. В отличие от BFS, чей подграф-предшественник образует дерево, подгруппа-предшественник, созданная DFS, может состоять из нескольких деревьев, поскольку поиск может ...

2 ответа

Почему говорят, что поиск в глубину страдает от бесконечных циклов?

Я читал оДФС [http://en.wikipedia.org/wiki/Depth-first_search]а такжеBFS [http://en.wikipedia.org/wiki/Breadth-first_search]много раз, но у меня есть это сомнение, задерживающее мой разум с тех пор. Во многих статьях упоминается, что DFS может ...

2 ответа

Найти все узлы в двоичном дереве на определенном уровне (Interview Query)

Я имею в виду на определенном уровне, а не до этого конкретного уровня. Может кто-нибудь проверить мой модифицированный алгоритм BFS? (большая часть из которых взята из Википедии) Queue levelorder(root, levelRequested){ int currentLevel = 0; q = ...