자바 스크립트에서 데이터 구조로 다음을 만들고 싶습니다.해시 된 벡터 (js)
주문한 상품
각 항목 ID를 가지며, 그것이 발견 O (1)
용기의 oreded 슬라이스없이 검색 될 수 삭제할 수의 컨테이너 원래 컨테이너를 변경합니다.
항목
(1)
내가 <item_id, position_in_array>
의 어드레스 maping 개체 (b={}
)와 <items>
의 배열 (a=[]
)를 사용하는 것으로 생각 O의 특정 위치에 삽입 될 수있다.
다른 아이디어?
주문한 컨테이너가 가져 오기 또는 삽입 작업에 O (1) 복잡성을 가질 수 있다고 생각하지 않습니다 ... –
@ FrédéricHamidi : 예, 우선 순위 대기열의 다양한 구현을 볼 수 있습니다. 즉, 내 대답은 왜 둘 다 일반적으로 불가능한지를 자세히 설명합니다. – ninjagecko
@ninjagecko, 우선 순위 대기열에 대한 나의 이해가 정확하다면, O (1)에서 가장 높은 (또는 가장 낮은) 우선 순위 항목 만 가져올 수 있습니다. 임의 항목을 가져 오는 것은 기껏해야 O (log n)입니다. –