虽然我很想将我之前的一个工业检测的小项目(图像算法)接着做完,但是还是决定将UBIFS系统的一些概念的地方完成!
那么废话少说,直奔主题!
Wandering tree,游离树,暂且这样翻译,毋庸置疑的它就是一棵B+树:
B+树一般作为文件系统的数据结构,与平衡二叉查找树-红黑树的主要区别在于子女的个数,具体由Flash的特性决定:
由上图得出B+树的定义:
一棵m阶的B+树:
1.有n棵子树的结点中含有n个关键字。
2.所有的叶子结点中包含了全部关键字的信息,及指向含这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。
3.所有的非终端结点可以看成是索引部分,结点中仅含其子树(根结点)中的最大(或最小)关键字。
通常在B+树上有两个头指针,一个指向根结点,一个指向关键字最小的叶子结点。
定理:如果n>=1,则对任意一棵包含n个关键字,高度为h,最小度数t>=2的B树T,有h<=log
t
((n+1)/2)
说明:t是指每个结点能包含的关键字数的上界和下界