Для проекта Data Structures я должен найти кратчайший путь между двумя словами (например, "cat"
и "dog"
), меняя только одну букву за раз. Нам предоставляется список слов Scrabble для поиска нашего пути. Например:
cat -> bat -> bet -> bot -> bog -> dog
Я решил проблему, используя первый поиск ширины, но я ищу что-то лучшее (я представлял словарь с trie).
Пожалуйста, дайте мне несколько идей для более эффективного метода (с точки зрения скорости и памяти). Предпочтительно что-то нелепое и/или сложное.
Я спросил одного из моих друзей (он младший), и он сказал, что эффективного решения этой проблемы нет. Он сказал, что я узнаю, почему, когда я взял курс алгоритмов. Любые комментарии по этому поводу?
Мы должны двигаться от слова к слову. Мы не можем идти cat -> dat -> dag -> dog
. Мы также должны распечатать обход.