![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
文章平均质量分 81
tanyujing
这个作者很懒,什么都没留下…
展开
-
求二元查找树的镜像
题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如输入: 8 / \ 6 10/\ /\5 7 9 11输出: 8 / \ 10 6/\ /\11 9 7 5原创 2013-01-14 10:04:01 · 953 阅读 · 0 评论 -
求二元树的深度
题目:输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。例如:输入二元树: 10 / \原创 2013-04-11 15:37:15 · 1893 阅读 · 0 评论 -
根据前序中序序列重建二叉树
在编程 过程中遇到的问题,跟java的值传递机制有关,先了解下java的值传递机制。当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改原创 2013-04-03 20:30:12 · 1249 阅读 · 0 评论 -
把二元查找树转变成排序的双向链表[数据结构]
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 比如将二元查找树 10 / \原创 2012-12-30 21:47:43 · 705 阅读 · 0 评论 -
根据二叉树的前序和中序构建二叉树
有了二叉树的前序和中序或者中序和后序遍历序列就可以利用这些信息来重构一棵二叉树了,这是编程之美3.9里面的一个题目。java实现中遇到的难点:java的值传递机制当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中原创 2013-04-03 14:55:31 · 5382 阅读 · 0 评论 -
求二叉树中节点的最大距离递归解法
问题定义如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。代码实现中二叉树用的是完全二叉树import java.util.LinkedList;public class Test_3_8 { public static int maxlen=0; public s原创 2013-04-02 16:39:39 · 4321 阅读 · 0 评论 -
用java构建完全二叉树
//树结点类public class TreeNode { private int value; private TreeNode leftchild; private TreeNode rightchild; public int getValue() { return value; } public void setValue(int value) { this.v原创 2012-12-26 15:32:02 · 5561 阅读 · 1 评论 -
找出二元树中和为某一值的所有路径
题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树 10 / \原创 2013-01-04 20:25:01 · 756 阅读 · 0 评论 -
查找最小的k个元素
题目:输入n个整数,输出其中最小的k个。例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。分析:这道题最简单的思路莫过于把输入的n个整数排序,这样排在最前面的k个数就是最小的k个数。只是这种思路的时间复杂度为O(nlogn)。我们试着寻找更快的解决思路。 我们可以先创建一个大小为k的数据容器来存储最小的k个数字。接下来我们每次从输入的n个整数中读入原创 2013-01-11 21:13:30 · 839 阅读 · 0 评论 -
判断某个序列是否是二元查找树的后序遍历结果
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / \ 6 10 / \ / \ 5 7 9 11因此返回true。如果输入7、4、6、5,没有哪棵原创 2013-01-07 14:26:46 · 630 阅读 · 0 评论 -
前序 中序 后序 遍历 递归 非递归算法 java实现
前序遍历 非递归 public void preordernorec(TreeNode root){ //System.out.println("先序遍历(非递归):"); //用数组模拟栈,假设有节点个数不超过32个 TreeNode[] stack = new TreeNode[32]; for(int i =0;i<32;i++){ stack[i] = nu原创 2013-07-19 15:20:53 · 6406 阅读 · 1 评论