二叉树(排序树)的创建、遍历、插入、删除以及查找

本文详细介绍了二叉排序树的创建,包括先序创建方法和根据数据插入创建。同时,讨论了二叉排序树的插入、查找和删除操作的原理,特别是删除操作的三种情况分析。最后提到了非递归中序遍历和先序遍历二叉树的方法。
摘要由CSDN通过智能技术生成

二叉树(排序树)的创建、遍历、插入、删除以及查找
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.二叉排序树的创建
原理:二叉排序树的创建比普通二叉树的创建多了一点就是在建立的过程中需要对插入的数据进行大小比较的判断,单数就是因为多了这一点,所以不能在递归的过程中去输入数据并直接插入,而是应该先输入数据,再将数据进行插入。
插入的过程中需要将书局进行与

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值