回答
一个简单的规则是总是插入到左侧的子树中,然后切换子树。右子树总是比左子树大0-1个元素,所以你总是可以插入左子树。现在,左边的子树比右边的子树大0-1个元素,所以你想切换子树来保持不变。在伪代码:
insert(t,v) {
if (t == null) {
return new TreeNode(v,null,null)
} else {
left = insert(t.left,v)
right = t.right
t.left = right
t.right = left
return t
}
}
这建立了一个排序树,OP明确要求不要做的事情。 – templatetypedef 2012-02-07 03:08:35
多数民众赞成在排序的树 – 2012-02-07 03:09:54
我读到,作为构建一棵树(我假定是排序)从未分类的输入。固定。 – Retief 2012-02-07 03:12:34
Tree buildTree(int[] array, int index) {
if(index > array.length) { return null; }
return new Tree(
array[index],
buildTree(array, 2 * index + 1),
buildTree(array, 2 * index + 2));
}
大部分的工作是在递归和索引,但它也不是太糟糕的。
- 1. C中的二叉树插入排序
- 2. 二叉树插入
- 3. 二叉树不插入
- 4. 二叉树插入根
- 5. 在二叉树中插入
- 6. 递归二叉树插入
- 7. 递归二叉树插入
- 8. 插入节点二叉树
- 9. 二叉树插入算法
- 10. 二叉搜索树插入
- 11. 插入二叉树(级别顺序)
- 12. 有序的二叉树插入
- 13. 插入二进制搜索树vs二叉树插入
- 14. 二叉树 - 插入到非空树
- 15. 二次二叉树插入段错误
- 16. 将排序后的数组插入到二叉查找树中
- 17. 加入二叉树
- 18. 二叉搜索树。插入方法插入不正确
- 19. 插入/添加二叉树的方法
- 20. 实现二叉搜索树插入
- 21. 二叉搜索树递归插入
- 22. 二叉树插入指针问题
- 23. PHP二叉树插入问题
- 24. C中的递归二叉树插入
- 25. 二叉树递归插入错误
- 26. 二叉搜索树插入错误
- 27. 用于二叉树的递归插入
- 28. 空二叉树的插入值
- 29. 将节点插入二叉搜索树
- 30. 错误插入在二叉搜索树
这功课吗? – 2012-02-07 02:54:44
没有我们可以做的只是一些额外的工作来提高我们的技能 – 2012-02-07 03:03:38