Silverlight/Experiment

QuadTree 검색 Live Demo

길버트 2009. 1. 22. 16:58
바로 전 포스트에서 QuadTree가 데이터에 따라 어떻게 분화되는지를 보여드렸는데요,
이번엔 QuadTree를 이용한 Search를 테스트하기 위해서 만들어 본 데모입니다.

QuadTree를 통해서 검색을 하면
QuadTree Leaf Node의 Boundary들과 검색 영역을 먼저 비교하여 내부 노드로
더 깊숙히 들어가야 할지 말지를 미리 결정하기 때문에
, 전체 데이터를 모두 순회하면서 데이터들을 검색 영역과 비교하는 방법에 비해서 상당히 매력적인 자료구조입니다.


Live Demo

Mouse 왼쪽버튼 클릭 - 데이터 1개 추가
Random 버튼 - 한 번 누르실 때 마다, 임의의 위치에 200개 데이터가 추가됩니다.
화면 Drag - 선택 영역을 설정합니다.

선택 영역을 변경할 때마다, QuadTree를 통해 검색하여 영역 내의 데이터를 하이라이트합니다.


(Threshold = 25 입니다.)