DFS를 수행 할 때 이미 방문한 모든 노드의 목록을 보유하는 데 가장 적합한 데이터 구조는 무엇입니까? 각 노드에 고유 ID가있는 경우 이러한 고유 ID의 해시를 유지하는 것이 한 가지 방법입니다. 고유 한 ID가없는 경우 노드가 실행 가능합니까?C++에서 해싱 포인터 값
0
A
답변
1
방문한 모든 노드를 해시 테이블에 저장하는 대신 스택에 저장하십시오. 방문한 노드를 스택에 넣으면 검색의 다른 분기를 되돌리고 쉽게 따라갈 수 있습니다. 주소가 고유 식별자되지 않을 것 이유
0
하자 생각 ...
당신이 이제까지 노드를 복사하는 경우, 그들은이 새 주소를 얻을 것이다.
노드를 해제하고 새 노드를 할당 한 경우 새로 할당 된 노드는 이전 주소를 다시 사용할 수 있습니다.
위의 내용이 적용되지 않는다고 (제 추측에 따르면 맞지 않을 수도 있습니다.) 확실하다면 바로 진행하십시오.
관련 문제
- 1. 포인터 값 해싱
- 2. C에서 포인터 표기법
- 3. C에서 포인터 배열
- 4. 포인터 산술 C에서
- 5. C에서 포인터 조작
- 6. C에서 학습 포인터
- 7. C에서 포인터 복사
- 8. 포인터 값 인쇄
- 9. 스택 포인터 레지스터 값
- 10. C에서 별도의 함수로 포인터 초기화
- 11. 범위 해싱
- 12. C에서 십진수 값 반올림
- 13. 키 값 Objective C에서
- 14. 변수가있는 Python의 포인터 없음 값
- 15. 딥 복사 - 포인터 값 복사
- 16. 해싱 유사성
- 17. 해싱, MurmurHash
- 18. C에서 포인터 표현식에 어떤 문제가 있습니까?
- 19. C에서 포인터 선언을위한 올바른 구문은 무엇입니까?
- 20. C에서 private struct에 대한 포인터 전달?
- 21. C에서 기본 매개 변수가있는 함수 포인터
- 22. 문자열을 ASP.net과 비교하십시오. 해싱 및 소금 값 형식의 응답
- 23. C에서 정수로 시간 값 나누기
- 24. Querystring - C에서 Qerystring에 값 추가 #
- 25. Objective-C에서 레이블 값 유지
- 26. C에서 시스템 호출 반환 값
- 27. C에서 int에 대한 포인터를 캐스팅하는 방법 (ascii 값 얻기)
- 28. CUDA는 장치 포인터 조작
- 29. 포인터
- 30. '값 의미론'과 '포인터 의미론'은 무엇을 의미합니까?
포인터를'size_t'에 캐스트 할 수없는 이유는 무엇입니까? – ildjarn
포인터가 고유 한 ID 자체가 아닙니다 (직렬화시 데이터와 원본 주소를 저장할 때). 따라서 역 직렬화 할 때 포인터를 새 메모리 위치에 매핑하면됩니다. –