전체적인 흐름
1. 인풋으로 인접 리스트를 받는다.
- List<neighbor> 형으로 받는다. return은 void
- public void drawDendrogram(List<Node> nodeList) throws Exception;
2. 인풋에서 겹치는 사람 없이 source인 경우를 모두 담고
Dendronode.source
Dendronode.target<String> 의 두가지를 갖는 Dendronode를 만든다.
3. 겹치는 것을 찾아 본다.
3-1. 1차에서 겹치는 갯수가 N개 이상인 경우
1차에서 겹치는 갯수가 N-Delta개 이상인 경우
3-2. 1차에서 겹치는 것들.
2차에서 겹치는 것들.
3차에서 겹치는 것이 있는 경우.
3-1과 3-2 모듈을 만들고 두가지를 적절히 배합하여 만들어야 할 것이다.
4. 3번 까지의 자료로 Drawing을 하는데
1,2,3 차 라는 것이 정해지면 위치를 산정 할 수 있을 것이다.
필요한 package
Drawing package
- 덴디오 그램의 노드를 배열로 넣으면 그 배열 순서대로 그려지고
n차 에서 겹치는 것들을 3차원 리스트로 넘겨주면 알아서 그린다.
{ (a,b,c)(e,f)},{ (a,b,c)(e,f)},{ (a,b,c)(e,f)},{ (a,b,c)(e,f)} 식으로 겹치는 것의 정보를 넘겨주면 된다.
예상 개발시간 10시간?
신경써야 할 부분은 메모리와 Dendrogram을 나타내는 자료 형식