0
B- 트리에서 작업하고 있지만 어떻게 작동하는지 이해할 수 없습니다.B- 트리에 쌍 키 - 값 저장
몇 가지 예를 살펴보면이 구조의 코드를 작성하는 방법을 설명하는 page을 발견했습니다.
문제는 다음과 같습니다
가 어떤 범위에 저장 모든 키가, 어떤 부분에서 내 데이터를 발견 할 수있는, 내 트리의 노드 인 경우class BTreeNode {
private
int *keys; // An array of keys
int t; // Minimum degree (defines the range for number of keys)
BTreeNode **C; // An array of child pointers
int n; // Current number of keys
bool leaf; // Is true when node is leaf. Otherwise false
public:
BTreeNode(int _t, bool _leaf); // Constructor
friend class BTree;
};
? 문자열을 저장한다고 가정하면 어떻게 그 문자열을 얻을 수 있습니까?
내가 좋아하는 뭔가 싶어 ...
BTree.getById(4);
을 내가 그와 관련된 ID로 일부 데이터를 얻으려면 다음
BTree.insert(1,'hello');
BTree.insert(2,' ');
BTree.insert(3,'world');
BTree.insert(4,'!');
을하지만, 어떻게 내 노드 strcture을 선언 할 수 있습니다 그런 식으로?
감사합니다.
B- 트리 란 무엇입니까? 어쩌면 당신은 B? 이진 트리? 바이너리의 경우, 각 노드는 2 개 이상의 자식을 가질 수 없습니다. – armanali
@armanali B- 트리는 노드 당 0 개 이상의 자식이있는 트리입니다. 이진 트리는 노드 당 2 개 이하의 최상위 제한이있는 동일하다고합니다. B- 트리는 일반적으로 첫 번째 키 (왼쪽 모드 하위), "각 키 쌍 (내부 자식)"및 "더 큰"키보다 "적은"하위 키를 나타내는 자식 노드와 함께 노드 당 키 페이지를 사용합니다 "마지막 키 (가장 오른쪽 자식)보다. 따라서 N 키의 페이지가있는 노드는 N + 1 명의 자식을 가질 수 있습니다. 이진 트리는 노드 당 * 단일 * 키 (페이지 중 하나)가있는 B- 트리이며, 거기에는 "덜"또는 "큰"가능한 하위가 있습니다. – WhozCraig
틀린 http://en.wikipedia.org/wiki/B-tree –