分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

js二分查找树实现

发布时间:2023-09-06 02:29责任编辑:苏小强关键词:js
 ???function BinaryTree() { ???????var Node = function(key) { ???????????this.key = key; ???????????this.left = null; ???????????this.right = null; ???????} ???????var root = null; ???????var insertNode = function(node, newNode) { ???????????if (newNode.key < node.key){ ???????????????if(node.left === null) { ???????????????????node.left = newNode; ???????????????} else { ???????????????????insertNode(node.left, newNode); ????????????????} ???????????} else { ???????????????if (node.right === null) { ???????????????????node.right = newNode; ???????????????} else { ???????????????????insertNode(node.right, newNode); ????????????????} ???????????} ???????} ???????this.insert = function(key) { ???????????var newNode = new Node(key); ???????????if(root === null){ ???????????????root = newNode; ???????????} else { ???????????????insertNode(root, newNode) ???????????} ???????} ???????this.inOrderTraverseNode = function(node,callback){ ???????????if(node !==null) { ???????????????inOrderTraverseNode(node.left,callback); ???????????????callback(node.key); ???????????????inOrderTraverseNode(node.right,callback) ???????????} ???????} ???????this.inOrderTraverse = function(callback) { ???????????inOrderTraverseNode(root,callback) ???????} ????} ???var nodes = [8,3,10,1,6,14,4,7,13]; ???var binaryTree = new BinaryTree(); ???nodes.forEach(function(key){ ???????binaryTree.insert(key); ???}); ???var callback = function(key) { ???????console.log(key) ???} ???binaryTree.inOrderTraverse(callback); ???

js二分查找树实现

原文地址:https://www.cnblogs.com/kbnet/p/10242025.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved