
数据结构
文章平均质量分 78
naruto_002
这个作者很懒,什么都没留下…
展开
-
二叉排序树实现及各类遍历
二叉排序树具有性质:① 如果左子树不为空,则左子树上的所有节点的值均小于根节点的值;②如果右子树不为空,则右子树上所有节点的值均大于根节点的值;③左右子树均为二叉排序树。原创 2017-04-05 15:30:49 · 438 阅读 · 0 评论 -
已知先序遍历和中序遍历求解二叉树
先序遍历:根节点-->左子树-->右子树中序遍历:左子树-->根节点-->右子树根据先序遍历和中序遍历求解二叉树步骤:① 确定根节点。先序遍历中的第一个节点就是二叉树的根节点,然后根据根节点数值求出其在中序遍历中的位置。② 求解二叉树的左右子树。根据根节点在中序遍历中的位置,位置左边的为左子树,位置右边的为右子树。如果根节点位置左边或右边为空,则该方向的子树为空;如果根节点左右两边原创 2017-04-05 16:44:17 · 3382 阅读 · 0 评论 -
二叉树相关处理操作
二叉树相关操作:构建、遍历、公共父节点等import java.util.*;//树节点类class Node{ public int data;//节点的数值 public Node left;//左子节点 public Node right;//右子节点 public int leftMaxDistance; public int rightMaxDistance;原创 2017-04-06 13:11:06 · 336 阅读 · 0 评论 -
求二叉树中两个节点的最近公共父节点
问题分为三种情况:1、root未知,但是每个节点都有parent指针此时可以分别从两个节点开始,沿着parent指针走向根节点,得到两个链表,然后求两个链表的第一个公共节点。2、节点只有左、右指针,没有parent指针,root已知思路:有两种情况,一是要找的这两个节点(a, b),在要遍历的节点(root)的两侧,那么这个节点就是这两个节点的最近公共父节点;二是两个节点在同一侧,则 root->left 或者 root->right 为 NULL,另一边返回a或者b。那么另一边返回的就是他们的最转载 2017-04-06 09:59:25 · 3068 阅读 · 0 评论