2,4树,具有最少的节点数和给定的键



假设我们有一组密钥K={1,2,3,4,5,6,…,15},我们需要从中构建一个2-4树,这样:

  • CASE1:树的节点数最少
  • CASE2:树的节点数最大

我的想法-

2-4树中的一个节点每个节点最多可以有3个密钥和4个子节点,如果我们需要最小化节点数量,我们需要尽可能保持节点满,但似乎无法找到保证这一点的策略。

一种似乎有利可图的方法是将数组拆分为三部分,然后在根处插入中值,接下来第一个和最后一个子项是预先确定的,并对其余的键重复相同的过程。这种方法似乎也不够。

我们知道,对于这样的结构,最坏情况下的高度需要在4附近,最好情况下的高需要在2附近(使用2,4树高属性h~log(n((

是否有任何策略来解决此类问题(如有任何提示,我们将不胜感激(?

要制作节点数最少的2-4树:

  1. 从N个键开始,的地板(N/4(需要是父母。选择这些键,尽可能均匀地分布,以确保它们的两侧各有2-3个键
  2. 对父项重复该过程,直到您最多拥有3个关键点为止。这些都是从根源开始的

因此,从15个关键点开始,在4个节点(3个父节点(中有12个叶级关键点。这三位家长可以从根本上解决问题。

相关内容

  • 没有找到相关文章

最新更新