三叉树的有关问题,有解就结贴

三叉树的问题,有解就结贴
三叉树
                                                        1
                        2                               3                             4
              5         6         7           8         9       10           11
    12     13
假设表内容如下:
id           f_id
1               null
2               1
3               1
4               1
5               2
6               2
7               2
8               3
9               3
10             3
11             4
12             5
13             5


最多八层,现在我要根据任意给的一个节点,找到其下八层,每一层的节点数


结果如:
一层       3
二层       3
。。。

求算法,最好用VBS写的

------解决方案--------------------
1号结点进第一个队列,然后把队列中所有元素出队列,也就是1号结点出队列,放进第2个队列,把1号结点从第2个队弹出,此时检查该结点是否为所给的结点,然后让1号结点的子结点都放进队列,也就是第2层都放进第1号队列,然后第2层结点全出队列,放进被置空的第2个队列,第2个队列的元素一个一个出队列,也就是在第2层遍历,查看是否有给出的一个结点,此时并他们的子结点放进第1个队列,此时第1个队列存的就是第3层的结点,依此类推,当所给的结点在第2个队列中出现的时候,立即对第1号队列开始统记两个参数,一个用于记录该层的元素个数,并将它赋值给一个有8个元素的数组,该数组存储“其下8层”的每层的个数,另一个记录用于判断是否完成了其下的8层的结点数的统计