Binary tree traversal javascript
Three types of traversal code:
Function inOrder (node) {// traverse if (node! = Null) {inOrder (node. left); document. write (node. show () + ""); inOrder (node. right) ;}} function preOrder (node) {// traverse if (node! = Null) {document. write (node. show () + ""); preOrder (node. left); preOrder (node. right) ;}} function postOrder (node) {// traverse if (node! = Null) {postOrder (node. left); postOrder (node. right); document. write (node. show () + "");}}
The experiment code is as follows:
Var nums = new BST (); nums. insert (23); nums. insert (45); nums. insert (16); nums. insert (37); nums. insert (3); nums. insert (99); nums. insert (22); inOrder (nums. root); // 3 16 22 23 37 45 99document. write (""); preOrder (nums. root); // 23 16 3 22 45 37 99document. write (""); postOrder (nums. root); // 3 22 16 37 99 45 23
The structure of the tree is:
23
16 45
3 22 37 99
The corresponding first, middle, and later results are automatically deduced.