2010-05-11 3 views
1

는 내가 BTREE의 전순 주사를 할 필요가 있고, 무엇보다도, (노드와 같은 것입니다) 각 페이지에 대해 다음과 같은 정보를 인쇄 :도움말

  1. B- 트리 페이지 번호
  2. 각 B 트리 페이지 포인터의 값 (예 : 주소, 바이트 오프셋, RRN).

내 질문 : 1. 바이트 오프셋을 어떻게 계산합니까? 오프셋이 무엇입니까? 2. RRN이 페이지 번호와 같지 않습니까?

참고 : B 트리는 이진 트리가 아닙니다. Btree는 각 노드에 여러 개의 키를 가질 수 있으며 n 개의 키가있는 노드에는 n + 1 개의 자식 포인터가 있습니다.

답변

0

바이트 오프셋은 아마도 페이지 시작 부분의 레코드 오프셋입니다.

RRN이 상대 레코드 번호라고 생각합니다. 따라서 레코드가 페이지의 다섯 번째 레코드 인 경우 RRN은 5가됩니다.

페이지/노드의 정보를 해석하는 방법을 알기 위해서는 페이지 레이아웃을 알아야합니다. 많은 솔루션이 가능합니다.

작성해야 할 코드와 작성한 코드는 무엇입니까? 더 이상 도움을 줄 수 없기 전에 임무가 당신에게 요구하는 바를 정확히 알고 싶습니다.

+0

B- 트리 생성을위한 코드는 일종의 것으로 나와 있습니다. B- 트리를 가로 지르는 정보를 출력하는 프로그램을 만들 필요가 있습니다. 프로그램은 B- 트리를 구성하는 데 사용 된 다른 파일을 사용할 수 있습니다. 프로그램의 주요 포인트는 사용자가 Btree의 특성을 알 수 있도록하는 것입니다. – neuromancer

+0

RRN이 페이지 자체의 키가 아니라 페이지 자체의 키를 나타내는 경우 모든 페이지에 5 개의 키가 있으면 RRN 번호는 항상 1에서 5가 될 것인가 아니면 트리의 모든 단일 키에 고유 한 RRN이 있습니까? – neuromancer

+1

나는 RRN이 무엇인지 확실하지는 않지만 "상대 레코드 번호"를 의미한다고 생각합니다. 이 경우 모든 페이지에 5 개의 키가 있으면 RRN은 항상 1에서 5까지의 정수가됩니다. 설명하는 또 다른 방법은 페이지에서 고유하게 식별하고 기록하는 것입니다. 이것을 누군가와 다시 확인하는 것은 나쁜 생각이 아닙니다. Btree의 데이터 구조에 대한 코드가 주어진 경우 해당 파일은 노드에서 정보를 추출하는 방법을 설명해야합니다. – Jay