2011-05-09 5 views
1

ID를 생성하려면 효율적인 데이터 구조가 필요합니다. ID는 데이터 구조의 메소드를 사용하여 해제 할 수 있어야합니다. ID가 해제 된 후 다시 생성 될 수 있습니다. 데이터 구조는 항상 가장 낮은 사용되지 않은 ID를 검색해야합니다.
효율적인 데이터 구조는 무엇입니까?ID를 얻기위한 효율적인 데이터 구조

+0

은 바운드입니까? 당신은 '빨리'무엇을 필요로합니까? 얼마나 빠를까요? 최악의 경우 또는 평균적인 경우 '빠름'해야합니까? – amit

+1

우선 순위 대기열? – falstro

+0

@ amit : 예 그들은 놓을 때까지 묶여 있습니다. 평균적인 경우는 빠름 (종말론적인 사례가없는 한) @roe : 우선 순위 큐는 어떻게 도움이 될까요? 모든 묶지 않은 ID를 대기열에 보관할 수는 없습니다. – Dani

답변

2

정수를 증가시키고 적절한 통화 제어로이를 반환 할 수는 없습니까? 누군가 다른 정렬 된 데이터 구조에있는 정수형 백 스토어를 해제하고이를 반환하면. 반환 된 정수 목록이 비어 있으면 반환 값은 읽기, 증가, 쓰기, 반환으로 간단합니다. 반환 된 정수 목록이 비어 있지 않은 경우 반환 된 정수 목록에서 첫 번째 int를 읽고 반환하고 제거합니다.