2009-11-14 4 views

답변

3

아니요, 불가능합니다. 사실, 부모 개체에 대한 참조를 어느 곳에서나 유지하지 않으면 부모 개체가 가비지 수집 될 수 있습니다. 도달 할 수없는 것으로 입증 될 수있는 객체는 언제든지 삭제 될 수 있습니다. 해당 객체에 대한 참조를 어디에도 저장하지 않으면 도달 할 수 없습니다.

이제 부모님에게 돌아가고 싶다면 몇 가지 옵션이 있습니다. 자식 노드에 부모에 대한 참조를 저장할 수 있습니다 (부모를 만든 후에 설정해야합니다). 덜 최적의 솔루션이지만 어떤 이유로 든 문제가되는 데이터 구조를 변경할 수없는 경우 작동하는 솔루션은 생성 한 모든 노드의 목록을 유지 한 다음 해당 목록을 통해 해당 노드를 검색하여 문제의 노드에 대해 eq?이었다. 또는 동일한 작업을 수행 할 수 있지만 해시 테이블에 키를 저장하고 효율성을 높이기 위해 키가 자식이고 값이 부모 (또는 부모 목록, 둘 이상있을 수있는 경우)로 저장하십시오. 나는이 솔루션들 중 어느 것이 당신을 위해 효과가 있을지 확신하지 못한다. 왜냐하면 당신이 입문 수업에서 이것을하고 완전한 언어를 사용하지 않는다면, 그들이 사용하는 언어 레벨에 의존 할 수 있기 때문이다.

0

아니요, 불가능합니다. 이것이 가능할 수도 있다는 생각을 어디서 얻었습니까?

+0

어쩌면 거기에 메모리를 읽으려는 나에게 제공 할 수있는 몇 가지 "마법"이있을 수 있습니다. – Hellnar

+1

불행히도, 인코딩 마법에 대한 데이터 구조는 없습니다. 공통된 지식은 적어도 없습니다. 신만이 Google 서버가 실행되는 것을 압니다 ;-) – ddaa

관련 문제