Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm CLRS 18-2.4假设我们将键{1,2,…;,n}插入到最小度为2的空B-树中。最终的B-树有多少个节点?_Algorithm_B Tree_Clrs - Fatal编程技术网

Algorithm CLRS 18-2.4假设我们将键{1,2,…;,n}插入到最小度为2的空B-树中。最终的B-树有多少个节点?

Algorithm CLRS 18-2.4假设我们将键{1,2,…;,n}插入到最小度为2的空B-树中。最终的B-树有多少个节点?,algorithm,b-tree,clrs,Algorithm,B Tree,Clrs,假设我们将键{1,2,…,n}插入到一个最小度为2的空B-树中。最后的B-树有多少个节点?我们知道,除了根以外的每个节点都必须至少有t−1=1个键,最多2t−1=3个键。最后一棵树最多可以有n个−n时为1个节点≥2.除非n=1,否则永远不会有n个节点,因为我们只在非空节点中插入一个键,所以总是至少有一个节点有2个键。接下来,请注意,如果节点不是B-树的右脊椎,则在该节点中永远不会有多个关键点。这是因为我们插入的每个关键点都比存储在树中的所有关键点都大,因此它将插入到树的右侧脊椎中。当除右脊椎中最

假设我们将键{1,2,…,n}插入到一个最小度为2的空B-树中。最后的B-树有多少个节点?

我们知道,除了根以外的每个节点都必须至少有t−1=1个键,最多2t−1=3个键。最后一棵树最多可以有n个−n时为1个节点≥2.除非n=1,否则永远不会有n个节点,因为我们只在非空节点中插入一个键,所以总是至少有一个节点有2个键。接下来,请注意,如果节点不是B-树的右脊椎,则在该节点中永远不会有多个关键点。这是因为我们插入的每个关键点都比存储在树中的所有关键点都大,因此它将插入到树的右侧脊椎中。当除右脊椎中最深的节点外的每个节点都有2个关键点,而右样条曲线中最深的节点有3个关键点时,节点数将尽可能少。所以在高度1,1个节点,在高度2,3个节点,…,在高度h,2^h−1个节点。在这种情况下,n=2^(h+1)−1,其中h是B-树的高度,B-树中的节点数为#节点=2^(h+1)−2.−h=n−lg(n+1)。所以对于任何n,最后的B-树必须有n−⌊lg(n+1)⌋≤#节点≤N−1(如果n≥2)