2012-08-26 3 views
1

특정 클래스의 하위 유형 인 다른 유형의 객체를 저장하는 데 가장 적합한 데이터 구조는 무엇이 될까요? 속성이 특정 값으로 설정된 동일한 유형 또는 객체의 객체를 선택하여 인쇄해야합니다. 따라서 데이터 구조는 쉽고 빠르게 검색 할 수 있어야합니다. ArrayList가 작업을 수행하는지 궁금합니다.데이터 구조 - 빠른 검색

답변

2

"빠른"결과가 필요한지 여부에 달려 있습니다. 밀리 세컨드 카운트 및/또는 수백만 개의 엔트리가없는 한, arraylist는 괜찮을 것입니다.

성능이 충분하지 않으면 (성능 측정이 충분하지 않은 경우) 간단하게 유지합니다.

이 경우 해시 맵을 사용할 수 있습니다. 여기에서 키는 객체의 유형이고 값은 모든 해당 객체의 목록입니다 (객체 유형에 대해 쿼리해야하는 대부분의 시간을 가정). 그러면 O (1) 검색이 제공됩니다.

다른 유형의 쿼리가있는 경우 똑같은 방식으로 쿼리 유형 당 하나의 맵을 유지할 수 있습니다. 따라서 속도와 메모리 사용 간의 절충안이됩니다.

1

개인적으로 최상위 노드가 기본 클래스 인 B+ tree을 제안합니다.

관련 문제