学习Excel技术,关注微信公众号:
excelperfect
经过前面一系列关于二叉树的知识的学习,我们对这种数据结构已经有了一定的基础。下面,我们来看如何使用VBA实现二叉排序树。
下图1所示就是一棵二叉排序树。
图1
根据程杰著的《大话数据结构》P315-P316的定义,二叉排序树的定义如下:
“二叉排序树(Binary Sort Tree),又称二叉查找树,它或者是一棵空树,或者是具有下列性质的二叉树:
若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值。
若它的右子树不为空,则右子树上所有结点的值均大小它的根结点的值。
它的左、右子树也分别为二叉排序树。”
下面我们以数组{62,88,58,47,35,73,51,99,37,93}为示例数据,使用VBA代码将其构造成一棵上图1所示的二叉排序树。
BinaryTreeItem类
在VBE中插入一个类模块,并将其命名为BinaryTreeItem,输入代码: