文章标题
2017-11-28 22:29
239 查看
应用
堆,红黑树,二叉查找树,并查集,线段树,后缀树,树状数组特点:逻辑结构, 分层结构
二叉查找树
定义
树和二叉树的定义是递归的查找用的二叉树,左小右大
操作
插入
递进地判断待插入数据与树中结点值的大小关系,找到待插入数据应该出现的位置。如果待插入数据比根结点的数据小,就去检查根结点的左孩子。如果左孩子不为空,就继续向下检查,如果左孩子为空,就说明已经找到应该插入数据的位置了。向右的情况则与向左的情况互为镜像,只是条件判断的符号换了一下而已
查找
在二叉查找树中找一个数据的思路与插入数据的思路很相似,唯一的不同之处是遇到空指针就是查找失败,说明待查找数据没在树中。定义
每个结点只有两棵子树有序,左右子树有左右之分
二叉树递归遍历
前序遍历先访问根结点,再前序遍历左子树,最后前序遍历右子树。可见,这个操作的定义就是递归的
补充代码
中序遍历
先中序遍历左子树,再访问根结点,最后中序遍历右子树。由于左子树上的值都比根结点小,右子树上的值都比根结点大,所以,中序遍历一棵树所得到的结果,是从小到大有序的,可以根
4000
据这个特点,来检验你的中序遍历是否正确实现了
补充代码
后续遍历
先后序遍历左子树,再后序遍历右子树,最后访问根结点
补充代码
总结
二叉树的前中后序的遍历,坐标名词针对的是 根节点
无论何种遍历,左孩子永远比右孩子前
二叉树非递归遍历
补充代码