게임 프로그래밍인데 원리는 비슷할 것 같아서요..
이전 뎁스에서 생성된 부모 노드의 리스트를, 생성자 상에서 임시로 가지고 있다가
자식 노드를 생성할 때 부모 리스트와 대조해서 경로가 일치하는 경우 서로 잇는 방식입니다.
문제는 그림에서 8번 노드가 생성될 때는 이전 뎁스에서 생성된 부모 노드가 4개인데
그 중에 가까운 2개만 부모 노드로 가지게 하고 싶습니다.
(둘 간의 물리적 거리로는 따질 수 없는 상황입니다.)
각 노드에 경로 데이터말고 다른 어떤 정보가 있어야 이 구조를 구현할 수 있을까요?ㅜㅜ..
설명이 모질이라서 죄송합니다.. ㅠㅠ
생긴 모양은 플로우 네트워크인데 구체적으로 무엇을 나타내는지 모르니 더 할 말은 없고... 그래프가 위처럼 각 depth K에서 노드 갯수가 1, 2, 4, 8,.. 2^(K-1)개로 최대를 찍은 후 거울 대칭으로 다시 감소하는걸 의미한다면 이거는 그래프를 직렬화 하는 문제이기때문에 구현하는 사람 마음일듯. 그래프는 부모 자식의 개념이 없음
감사합니다. 플로우 네트워크를 더 찾아볼게요.
0보다 크거나 같은 K 가 주어질때 그래프의 depth는 항상 2K+1 이고, 이때 중앙 depth K에서 노드가 2^K개로 가장 많음. 그리고 전체 노드의 갯수는 2*(2^(K+1)-1) - 2^K 개가 될듯...?
아니 그게 아니라.. 생긴 모양이 플로우네트워크 같다는거고, 무엇을 구현하는지 모르기땜에 저게 플로우 네트워크를 이용하면 되는지 안되는지 나는 모르지...