如何可视化此二叉树插入的堆栈名气?这非常重要,因为这本质上是递归的。一旦我理解了递归,我就能够编写递归解决方案。在这里我理解它如何递归工作的概念,但不完全理解堆栈框架的外观......例如
这就是我们如何可视化递归和的方式,有什么方法可以为二叉树插入做到这一点吗?
我想出了一个图表,可以帮助理解堆栈的元素和心理因素。
假设我们添加 5,3,2 : 这就是我们如何在心里想象:
请参考此代码进行理解...
private BTNode insert(BTNode node, int key, String value) {
//If node is null, set the new node as it is...
if (node == null) {
//create the new node to be inserted and set it
node = new BTNode(key, value);
return node;
}
// Else walk till the node has key < that node's key
if (key < node.key) {
node.left = insert(node.left, key, value);
}
// Else walk till the node has key > that node's key
if (key > node.key) {
node.right = insert(node.right, key, value);
}
return node;
}