数据结构139-二叉搜索树-中序遍历代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>封装二叉搜索树</title>
</head>
<body>
<script>
function BinarySearchTree(){
function Node(key){
this.key=null
this.left=null
this.right-null
}
this.root=null
BinarySearchTree.prototype.insert=function(key){
var newNode=new Node(key)
//判断节点是否有值
if(this.root==null){
this.root=newNode
}else{
this.insertNode(this.root,newNode)
}
}
BinarySearchTree.prototype.insertNode=function(node,newNode){
if(newNode.key<node.key){
if(node.left==null){
node.left=newNode
}else{
this.insertNode(node.left,newNode)
}
}else{
if(node.right==null){
node.right=newNode
}else{
this.insertNode(node.right,newNode)
}
}
}
//先序遍历
BinarySearchTree.prototype.preOrderTraversal=function(handler){
this.preOrderTraversalNode(this.root,handler)
}
BinarySearchTree.prototype.preOrderTraversalNode=function(node,handler){
if(node!=null){
//处理经过的节点
handler(node.key)
this.preOrderTraversalNode(node.left,handler)
this.preOrderTraversalNode(node.right,handler)
}
}
//中序遍历
BinarySearchTree.prototype.middleOrderTraversal=function(handler){
this.middleOrderTraversalNode(this.root,handler)
}
BinarySearchTree.prototype.middleOrderTraversalNode=function(node,handler){
if(node!=null){
//处理经过的节点
handler(node.key)
this.preOrderTraversalNode(node.left,handler)
this.preOrderTraversalNode(node.right,handler)
}
}
}
</script>
</body>
</html>

posted @   前端导师歌谣  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示