Хеширование значений указателей в C ++ - PullRequest
0 голосов
/ 25 апреля 2011

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

Ответы [ 2 ]

1 голос
/ 25 апреля 2011

Вместо того, чтобы поместить все узлы, которые вы посетили, в хеш-таблицу, поместите их в стек.Если вы помещаете посещенные узлы в стек, вам будет намного проще вернуться назад и следовать другим ветвям поиска.

0 голосов
/ 25 апреля 2011

Давайте подумаем, почему адреса не будут уникальным идентификатором ...

  1. Если вы когда-либо копируете узлы, тогда они получат новый адрес.

  2. Если вы когда-нибудь освободите узлы и выделите новые, тогда вновь выделенные могут повторно использовать какой-то предыдущий адрес.

Если вы можете удовлетворительноСкажите, что вышеприведенное не относится (я думаю, что они не будут), тогда, конечно, продолжайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...