Maison >interface Web >js tutoriel >Code sur la traversée, l'insertion et le retournement des requêtes d'arbre binaire js
Cet article présente principalement le code sur la traversée, l'insertion et le retournement des requêtes d'arbre binaire js. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
function BST(){ this.root = null this.insert = insert this.find = find this.mirror = mirror; } function Node(data,left,right){ this.data = data this.left = left this.right = right this.show = show } function show() { return this.data; } function mirror(root){ if(root == null){ return } if(root.left == null && root.right == null){ return } let temp = root.left; root.left = root.right; root.right = temp; mirror(root.left) mirror(root.right) } function insert(data){ var n = new Node(data,null,null) if(this.root == null){ this.root = n }else{ var current = this.root while(true){ if(data < current.data){ if(current.left == null){ current.left = n break } current = current.left }else{ if(current.right == null){ current.right = n break } current = current.right } } } } function find(data){ var current = this.root while(true){ if(data == current.data){ return current } current = data < current.data ? current.left : current.right if(current == null){ return null } } } function inorder(node){ if(!(node == null)){ inorder(node.left) console.log(node.show()) inorder(node.right) } } var nums = new BST() nums.insert(23) nums.insert(22) nums.insert(16) nums.insert(5) nums.insert(3) nums.insert(99) nums.insert(22) inorder(nums.root) mirror(nums.root) console.log(nums.root)
. C'est très simple à lire.
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Explication sur le modèle de méthode de modèle de js
Comment utiliser Font Awesome via Vue.js Petite icône
À propos de l'utilisation du filtre de tableau js
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!