2016-11-24 1 views
1

그래서 ULS라는 프로젝트에 대해 자체 데이터 형식을 만들려고합니다. ULS는 기본적으로 10< 크기 < 500,000 개의 목록으로 서로 다른 집 목록에 8 자리 (정수) 키를 저장합니다.Java에서 전달 된 인수에 따라 데이터 형식을 정의하십시오.

목록의 크기에 따라 모든 주택 목록이 도시마다 다를 수 있으므로 주어진 목록의 크기에 따라 다른 추상 데이터 형식을 구현하려고합니다. 아래 참조 :

Algorithm setSmartThresholdULS(Size): 
Input: Integer Size that defines the list size. 
Ouput: Data structure implemented with the given size 

Int Threshold <- 1000 

If Size is smaller than Threshold then 
    setSmartThresholdULS(Size) extends AbstractHashMap<K,V> 

Else if Size is greater than Threshold then 
    setSmartThresholdULS(Size) extends AVLTreeMap<K,V> 

이것은 의사 코드 일 뿐이지 만 구문 상 올바로 구현할 수 있습니까? 위의 코드는 합법적이거나 유효한 코드입니까?

+1

"pseudocode"(어떤 사고로 자바에서 구문 적으로 올바르지 않음)에서'setSmartThresholdULS'는 "알고리즘"이라고 말합니다. 그러나 'AbstractHashMap'과 'AVLTreeMap'은 데이터 유형의 예입니다. 귀하의 "알고리즘"이 "데이터 유형"을 확장한다는 귀하의 정의가 어떤 의미인지는 알 수 없습니다. 알고리즘은 행동을 기술하고 데이터 유형은 구조를 기술합니다. –

+0

@ErwinBolwidt 기본적으로 주어진 크기에 따라 AbstractHashMap 또는 AVLTreeMap을 확장하도록 SmartULS (데이터 유형을 생성)를 원합니다. 도움이되는 경우 – lesterpierson123

+0

해당 정보로 질문을 업데이트하십시오 (주석은 토론/설명을위한 것일 뿐이므로 질문은 자체적으로 작성해야합니다). –

답변

0

예, 상황에 따라 다른 데이터 구조를 만들 수 있습니다. 이것은 일반적으로 팩토리 패턴으로 수행됩니다. 아니요, 큰 데이터 세트의 경우 확장 성이 나쁜 데이터 구조를 사용하는 것은 의미가 없습니다.

관련 문제