임의의 수의 레코드 중에서 가장 낮은 값을 찾고 싶다고 가정 해 봅시다. 레코드를 반복하면서 레코드가 최대 크기 인 10에 도달 할 때까지 구조에 추가합니다. 그 다음에 목록의 가장 높은 레코드보다 높지 않은 레코드를 추가 할 때마다 현재 가장 높은 레코드 최대 레코드 수를 유지하면서 제거됩니다.고정 크기 정렬 된 트리의 데이터 구조를 기억할 수 없다.
또는 간단히 말해서 (얼마나 큰) 객체 목록을 처리하고 특정 수의 객체 만 메모리 효율적인 방식으로 유지합니까?
나는이 일을 할 수있는 일종의 데이터 구조가 있음을 기억하지만, 분명히 나는 인터넷 검색의 부실한 일을하고있다. 나는 그것이 어딘가에 자바 구현을 갖게 될 어떤 구조를 가정한다.
당신이 찾고있는 것을 얻기 위해 아마도'PriorityQueue'를 적용 할 수 있습니다. –
정확히 기억하지 못하는 것 (10 년 전의 데이터 구조 클래스는 약간 퍼지다.)이지만 트릭을해야한다! Thanks –
세바스찬의 대답은 가까운 사촌입니다. ('PriorityQueue'는 힙에 의해 뒷받침됩니다.) –