web123456

js data structure tree (tree)

  • //Define Node
  • class Node {
  • constructor (value) {
  • this.value = value,
  • this.left = null,
  • this.right = null
  • }
  • }
  • class Tree {
  • constructor () {
  • = null //First define the root node asnull
  • }
  • //Finding Insert Node
  • insertNode (node, CurrentNode){
  • if (node.value > CurrentNode.value) {
  • if (CurrentNode.right) {
  • (node, CurrentNode.right) //Recursive Continue to search downward
  • } else {
  • CurrentNode.right = node
  • }
  • } else if (node.value < CurrentNode.value) {
  • if (CurrentNode.left) {
  • (node, CurrentNode.left) //Recursive Continue to search downward
  • } else {
  • CurrentNode.left = node
  • }
  • }
  • }
  • //insert
  • insert (value) {
  • var node = new Node(value)
  • if () {
  • (node, )
  • //Because it is recursive, the method is encapsulated separately
  • } else {
  • = node //No root node Set as root node
  • }
  • }
  • //Traversing nodes
  • traverse (callback) {
  • (, callback)
  • }
  • traver(node, callback) {
  • if (node === null) {
  • return
  • }
  • (node.left, callback)
  • callback(node.value) //Middle order traversal, post order traversal, preorder traversal, etc. change the position of this line of code at a high level
  • (node.right, callback)
  • }
  • //Delete nodes
  • remove () {
  • }
  • //Binary Tree Minimum Value Find the leftmost node
  • getMin () {
  • //Return to the empty treenull
  • if ( === null) {
  • return null
  • }
  • var current =
  • while(current.left) {
  • current = current.left
  • }
  • return current.value
  • }
  • //Get the maximum value of the binary tree search tree. Rightmost node
  • getMax () {
  • //Return to the empty treenull
  • if ( === null) {
  • return null
  • }
  • var current =
  • while(current.right) {
  • current = current.right
  • }
  • return current.value
  • }
  • //Get the tree
  • getTree () {
  • return
  • }
  • }
  • var tree = new Tree()
  • (12)
  • (13)
  • (4)
  • (13)
  • (())
  • ((value) => {
  • ('VALUE', value)
  • })
  • (())
  • (ax())