二叉树(排序树)的创建、遍历、插入、删除以及查找
1.二叉树的先序创建(递归)
原理:二叉树的先序创建(递归)按先序遍历的顺序,依次输入结点的信息建成立二叉链表的算法。该算法的基本思想是:首先对一般的二叉树添加若干个虚结点,使每一个节点都有左右两个孩子,然后依次输入结点信息。若输入的结不是虚结点,则建立一个新结点;先序创建左子树;先序创建右子树
BiTree CreateBiTree(BiTree& Ti)
{
cin >> ch;
if (ch == '*')
Ti = NULL;
else
{
Ti = new BiTNode();
Ti->data = ch;
Ti->lchild = Ti->rchild = NULL;
CreateBiTree(Ti->lchild); //递归创建左子树
CreateBiTree(Ti->rchild); //递归创建右子树
}
fflush(stdin); //清空缓存
return Ti;
}
2.二叉排序树的创建
原理:二叉排序树的创建比普通二叉树的创建多了一点就是在建立的过程中需要对插入的数据进行大小比较的判断,单数就是因为多了这一点,所以不能在递归的过程中去输入数据并直接插入,而是应该先输入数据,再将数据进行插入。
插入的过程中需要将书局进行与