1、二叉搜索树:其左子树的任意节点值都小于此节点值,右子树的任意节点值都大于此节点值
描述二叉树类似于链表:
template <typename T>
class TreeNode
{
public:
T element;
TreeNode<T> *left;
TreeNode<T> *right;
TreeNode()
{
left = NULL;
right = NULL;
}
TreeNode(T element)
{
this->element = element;
left = NULL;
right = NULL;
}
};
2、堆:堆是有如下性质的二叉树:它是一个完全二叉树;它的每个节点都大于等于其它子节点。