[英]Binary Search Trees: Height of a node in an AVL tree
这是我必须制作的AVL树(希望足够大,可以清楚地看到)
http://oi46.tinypic.com/2426fer.jpg
我知道我的树对我必须做的事情是正确的,但是我不确定AVL树的高度以及它的工作方式,就像您可能在我的图形中看到的那样。 真的希望您能提供帮助,我了解与AVL树相关的所有其他概念。 谢谢
您删除了先前的问题,其中您的binarySearchTree存在问题。 这是我在删除问题之前写的解决方案。 也许会有所帮助。
if (tree.left == null && tree.right == null) {
if (compResult < 0) {
tree.left.data = item;
return true;
}
if (compResult > 0) {
tree.right.data = item;
return true;
}
}
if (compResult < 0) {
if (tree.left == null) { //RED FLAG
tree.left.data = item; //BUT tree.left IS NULL!!
return true;
} else
add(tree = tree.left, item, count);
}
if (compResult > 0) {
if (tree.right == null) { //RED FLAG
tree.right.data = item; //BUT tree.right IS NULL!!
return true;
} else
add(tree = tree.right, item, count);
}
要解决这些问题,请创建一个新节点,然后将其分配给tree.left或tree.right。
您应该进行迭代添加,而不是进行递归添加,这样做会更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.