이미 클러스터 된 (leave) 트리에 저장된 객체에서 dendrogram을 그려야합니다. Java의 My Cluster 객체는이 그림으로 나타낼 수 있습니다. 각 잎은 객체를 포함하고 각 노드는 자식 사이의 거리를 포함합니다.트리의 클러스터링 된 객체에서 계단식 드로잉을위한 알고리즘
이제 I는 Dendrogram이 단계적 그리려 때문에 제 1 물체 및 2 그려야 후 3 자에게 추가되어야하는 개체. 그 다음 5와 6은 함께 끝납니다. 모든 것이 연결되어 있습니다. 나는 이것을 쉽게 그리기위한 모든 도구를 이미 가지고 있지만, 나무를 올바르게 걷는 효율적인 방법을 찾을 수 없습니다.
이것은 예에서 지금까지의 결과 여야합니다 (편집 : 실수가 있습니다. 5에서 6까지의 거리는 이제 3에서 1 & 2까지의 거리보다 작아 보이지만, 필자의 예에서는 그렇지 않습니다. !) :
누구나이 재귀 알고리즘에 대한 몇 가지 팁이 있습니까?
아웃을 위해 안감 부분, 나는 바닥에서 시작하는 것이 더 쉽다고 생각한다 (나는 추가 된 그림의 레이블 옆에서 시작해야한다는 것을 안다). 트리는 전적으로 이진 검색 트리가 아닙니다. 즉 두 트리가 다시 한 트리에 클러스터 될 수 있습니다. 그러면 더 이상 생각하지 않습니다. – simP
아아, 레이아웃을 변경하면 일이 더 쉬워 지지만 완벽하지는 않습니다. 그러나 종단 노드 이외의 라벨을 붙이려는 의도가 없다면 비교적 간단합니다.하지만 첫 번째 레이아웃은 훨씬 멋집니다. 두 번째 다이어그램이 바이너리 트리가 아니라는 것이 맞습니다. 루트 요소가 4 명의 자식을 가지고 있기 때문에 - 부모 선의 경우, 부모 린트의 수직 오프셋을 파악하기 위해 전체 자식 수를 알아야합니다. –
이것이 의미하는 것이지만 첫 번째 것은 확실하지 않습니다. 그림은 레이아웃이 아니며 Java의 My Tree 클래스의 Paint에서 일부 데이터가 포함 된 시각적 표현으로, 클러스터 된 객체가 무엇인지 분명하게 보여줍니다. – simP