Публикации по теме 'backtracking'
DFS и поиск с возвратом — Реконструкция маршрута
Сегодня мы рассмотрим задачу «Реконструкция маршрута».
Мы всегда хотим начать эти проблемы, убедившись, что мы точно знаем, о чем нас спрашивают, и есть ли какие-либо ограничения. Он говорит нам, что наш маршрут всегда будет начинаться в JFK, и если маршрутов несколько, то мы выбираем первый лексикографически. Если мы хотим построить маршрут из этих отдельных отправлений и прибытий, то имеет смысл создать карту, где ключом является город отправления, а значением является массив,..
Возврат: проблемы и решения
Вот подборка задач с решениями (визуализациями) и объяснениями, связанными с возвратом.
Как решить проблему с возвратом? обычно большинство проблем имеют несколько путей и выходных данных , которые достигаются из этих одного или нескольких путей.
Основные проблемы, возникающие при поиске решения, следующие:
Визуализация путей ( дерево решений )» Найдите базовое условие, когда следует СТОП (возврат). Также найти минимальную единицу работы для небольшого подмножества...
Итерация Фибоначчи против рекурсии
Ряд Фибоначчи:
fib (n) = fib (n-1) + fib (n-2) → для n ›1 fib (n) = 1 → для n = 0, 1
Фибоначчи можно решать как итеративно, так и рекурсивно.
Рекурсивный подход:
Рекурсивный подход кажется намного проще и меньше, но есть предостережение, так как он вычисляет числа Фибоначчи несколько раз.
Сложность времени:
Временная сложность итеративного кода линейна, так как цикл выполняется от 2 до n, то есть он выполняется за время O (n).
Вычислить временную сложность рекурсивного подхода..
Вопросы по теме 'backtracking'
Вариант алгоритма N-Queens
Я не знаю, изучалась ли эта задача или нет, она просто пришла мне в голову, когда я пробовал общую задачу N-ферзей. На шахматной доске N*N какое минимальное количество ферзей требуется, чтобы при стратегическом размещении все клетки оказались под...
1260 просмотров
schedule
16.11.2022
ANTLR: Разница между возвратом и просмотром вперед?
Я относительный новичок в ANTLR. У меня очень простая грамматика:
start :
('A' 'B' 'C' '1'
|'A' 'B' 'C' '2'
|'A' 'B' 'C' '3'
)
;
Я думаю, что уже понял основы концепции просмотра вперед и возврата (которая работает с синтаксическими...
3198 просмотров
schedule
13.09.2022
Как можно перегрузить функцию throw при написании пользовательского класса исключения на C ++?
Я написал процедуру для сохранения трассировки, номера строки, имени файла и т. Д. Целью этого было хранить такие данные всякий раз, когда возникает исключение. Однако проблема, с которой я сталкиваюсь, заключается в том, что моя процедура будет...
2484 просмотров
schedule
13.03.2024
Как я могу сопоставлять регулярные выражения, такие как /\s*a\s*b/, без чрезмерного поиска с возвратом?
Я работаю в Perl, который использует механизм регулярных выражений с возвратом.
Мне нужно сопоставить строки токенов, разделенных пробелами (я разбираю ассемблер, если кому-то интересно). В настоящее время я использую регулярные выражения, такие...
48 просмотров
schedule
04.02.2024
Пролог с возвратом
Я пытался написать программу на прологе, и у меня возникли проблемы с ее обратным отслеживанием, для меня это не имеет смысла. Вот один из моих пунктов, с которым у меня проблемы:
edge(g1,a,b).
edge(g1,b,c).
edge(g1,a,c).
edge(g1,d,a)....
59 просмотров
schedule
12.12.2023
Как использовать backtrack для бесконечного увеличения переменной в Prolog
В настоящее время я читаю книгу по Прологу и застрял на одном из контрольных упражнений. Я должен создать предикат с одним аргументом. Когда этот аргумент является переменной, он вернет следующее с обратным отслеживанием, и X продолжит увеличиваться...
887 просмотров
schedule
08.09.2022
Всегда ли алгоритмы поиска с возвратом используют рекурсию?
Все алгоритмы обратного отслеживания, которые я использовал до сих пор, были основаны на рекурсии. Но мне не удалось найти никаких доказательств того, что возврат не может быть нерекурсивным. Итак, вопрос в том, всегда ли алгоритмы поиска с...
459 просмотров
schedule
29.06.2022
Как реализовать нехронологический возврат
Я работаю над CDCL SAT-Solver. Я не знаю, как реализовать нехронологический возврат. Возможно ли это даже с рекурсией или это возможно только при итеративном подходе.
На самом деле то, что я сделал, - это реализованный решатель DPLL, который...
319 просмотров
schedule
01.02.2024
Решение обратного вопроса N Queens
В настоящее время я пытаюсь изучить тему Backtracking в Java. Меня это действительно сбивает с толку, потому что я застрял. Проблема состоит в том, чтобы найти способы, которыми N ферзей могут быть размещены на доске NxN Chess, чтобы ни одна из...
37 просмотров
schedule
04.09.2022
LeetCode 988: разница между поиском с возвратом и поиском в глубину (DFS)
Я запутался в решении с возвратом и решении DFS в LeetCode 988 (наименьшая строка, начинающаяся с листа).
При реализации с использованием StringBuilder требуется следующая строка кода: sb.deleteCharAt(sb.length() - 1) , при реализации с...
93 просмотров
schedule
27.09.2022
Как избежать катастрофического возврата с помощью этого конкретного шаблона
Я столкнулся с катастрофической проблемой возврата с этим большим шаблоном регистрации, который написал мой предшественник. По сути, мы просто хотим отфильтровать зарплаты из должностных инструкций.
Это шаблон:...
57 просмотров
schedule
04.11.2022