을 이해하려고 노력 나는 다음과 같은 코드에 대한 세 가지 질문이 있습니다는 버킷 정렬 코드를
static void funct(int[] list) {
final int N = 20;
java.util.ArrayList[] buckets = new java.util.ArrayList[N];
for(int i = 0; i< list.length; i++) {
int key = list[i];
if(buckets[key] = null)
buckets[key].add(list[i]);
}
int k = 0
for(int i = 0; i <buckets.length; i++) {
if(buckets[i] != null) {
for(int j = 0; j< buckets[i].size(); j++)
list[k++] = (Integer)buckets[i].get(j);
}
}
} 그것은 단지 최대 작동됩니다
알고리즘은 주요 단점을 갖고 20 요소가 있으며 복잡도가 낮습니까?
코드의 요점은 요소 목록을 정렬하는 것입니다. 배열의 요소를 배열에 넣은 다음 버킷에 넣은 다음 버킷에서 다시 배열에 넣습니다.
Heres 내가 어떻게 저주 받았는지, 정수 대신 다른 클래스의 객체를 포함하는 배열을 전달할 수 있도록 메소드를 수정하는 방법은 무엇입니까?