http://student.zjzk.cn/course_ware/data_structure/web/chazhao/chazhao9.3.2.2.htm
#define Max l000 //结点中关键字的最大数目:Max=m-1,m是B-树的阶 #define Min 500 //非根结点中关键字的最小数目:Min=┌m/2┐-1 typedef int KeyType; //KeyType应由用户定义 typedef struct node{ //结点定义中省略了指向关键字代表的记录的指针 int keynum; //结点中当前拥有的关键字的个数,keynum《Max KeyType key[Max+1]; //关键字向量为key[1..keynum],key[0]不用。 struct node *parent; //指向双亲结点 struct node *son[Max+1];//孩子指针向量为son[0..keynum] }BTreeNode; typedef BTreeNode *BTree;
有的B-树(如第10章介绍的B+树)是将所有辅助信息都存于叶结点中,而内部结点(不妨将根亦看作是内部结点)中只存放关键字和指向孩子结点的指针,无须存储指向辅助信息的指针,这样使内部结点的度数尽可能最大化。