2013-10-02 2 views
0

B + 트리를 구현하려고합니다. 지금까지 저는 리프 노드, 루트 노드, 내부 노드 클래스를 가지고 있습니다. 리드 노드 클래스에는 키 목록과 값 목록이 있습니다. 내 질문은 값과 키 목록을 갖는 대신 값에 맵 페어링 키를 사용할 수 있습니까? 그렇지 않다면 이유를 설명 할 수 있습니까?B + 트리 구현

+0

지도가 B + 트리로 구현 되었습니까? – 6502

+0

검색을 구현하려고합니다. 일치하는 키를 찾으면 값을 반환하고 싶습니다. 어떻게해야합니까? 키를 값에 매핑하는 맵을 노드 클래스에 저장할 수 있습니까? 또는 배열 값 목록이 필요합니까? – user2383728

답변

0

일반적으로 하위 수준 데이터 구조에서 B + Tree를 작성합니다.

맵은 일반적으로 트리 자체로 구현되므로 이미 맵이있는 경우 왜 B + 트리를 구현합니까?

목록을 사용하는 경우에도 적합하지 않습니다 ... B + 페이지는 배열 (또는 배열을 할당하는 더 나은 원시 바이트)을 사용하여 구현해야합니다.

+0

일반적으로 B + 중간 페이지에는 'n'키와 'n + 1'포인터가 있고 다른 페이지에는 'n'키와 'n'값이있는 리프 페이지가 있습니다. – 6502

+0

갭 버퍼 기술을 사용하여 B + -Tree 페이지의 어레이를 관리하면 (look up) 많은 순차적 인 삽입을 수행 할 것으로 예상되는 경우 구현하려는 훌륭한 최적화가됩니다. – wjl