前序=>中 左 右
中序=>左 中 右
后序=>左 右 中
記憶方法:都是先左后右,其次前中后代表"中"字的位置
中序=>左 中 右
后序=>左 右 中
記憶方法:都是先左后右,其次前中后代表"中"字的位置
2018-09-27
想了很久才大概理解了這幾行代碼,我的理解是這樣的:
棧是先進后出的,所以在節點1的時候,它沒有左子節點,這個時候開始出棧,繼續執行上一次的inOrderTraverceNode里未執行完的代碼,當節點1也沒有右子節點的時候,到節點3出棧,開始繼續執行上一次的inOrderTraverceNode里未執行完的代碼,以此類推。
棧是先進后出的,所以在節點1的時候,它沒有左子節點,這個時候開始出棧,繼續執行上一次的inOrderTraverceNode里未執行完的代碼,當節點1也沒有右子節點的時候,到節點3出棧,開始繼續執行上一次的inOrderTraverceNode里未執行完的代碼,以此類推。
2018-08-11
node.left=newNode;
node.left變成了Node{key,left,right}
我寫成了
node.left=newNode.key;
之后傳參數判斷的時候就報錯了
inserNode(node.left,newNode);
if(node.key>newNode.key)
node.left是一個值,沒有key,left,right
就報錯啦
node.left變成了Node{key,left,right}
我寫成了
node.left=newNode.key;
之后傳參數判斷的時候就報錯了
inserNode(node.left,newNode);
if(node.key>newNode.key)
node.left是一個值,沒有key,left,right
就報錯啦
2018-07-27
17 行 var root=null;下加一句
this.cont=root;
38行 root=newNode;下頁加一句
this.cont=root;
========
最后console.log(binarytree);
在對象cont內可以直觀的查看節點結構。
this.cont=root;
38行 root=newNode;下頁加一句
this.cont=root;
========
最后console.log(binarytree);
在對象cont內可以直觀的查看節點結構。
2018-07-25