您的位置:首页 > 其它

文章标题

2017-11-28 22:29 239 查看

应用

堆,红黑树,二叉查找树,并查集,线段树,后缀树,树状数组

特点:逻辑结构, 分层结构

二叉查找树

定义

树和二叉树的定义是递归

查找用的二叉树,左小右大



操作

插入

递进地判断待插入数据与树中结点值的大小关系,找到待插入数据应该出现的位置。

如果待插入数据比根结点的数据小,就去检查根结点的左孩子。如果左孩子不为空,就继续向下检查,如果左孩子为空,就说明已经找到应该插入数据的位置了。向右的情况则与向左的情况互为镜像,只是条件判断的符号换了一下而已

查找

在二叉查找树中找一个数据的思路与插入数据的思路很相似,唯一的不同之处是遇到空指针就是查找失败,说明待查找数据没在树中。

定义

每个结点只有两棵子树

有序,左右子树有左右之分

二叉树递归遍历

前序遍历

先访问根结点,再前序遍历左子树,最后前序遍历右子树。可见,这个操作的定义就是递归的

补充代码


中序遍历

先中序遍历左子树,再访问根结点,最后中序遍历右子树。由于左子树上的值都比根结点小,右子树上的值都比根结点大,所以,中序遍历一棵树所得到的结果,是从小到大有序的,可以根
4000
据这个特点,来检验你的中序遍历是否正确实现了

补充代码


后续遍历

先后序遍历左子树,再后序遍历右子树,最后访问根结点

补充代码


总结

二叉树的前中后序的遍历,坐标名词针对的是 根节点

无论何种遍历,左孩子永远比右孩子前

二叉树非递归遍历

补充代码


树的高度

树中结点的最大层次称为树的高度

满二叉树

逻辑结构



完全二叉树

逻辑结构



思考题

参考思考

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: