数据结构137-二叉搜索树-先序遍历代码

简介: 数据结构137-二叉搜索树-先序遍历代码
<!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(){
                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)
                }
            }
        }
    </script>
</body>
</html>
相关文章
|
1月前
|
Go 索引
掌握Go语言:Go语言范围,优雅遍历数据结构,简化代码操作实战解析(24)
掌握Go语言:Go语言范围,优雅遍历数据结构,简化代码操作实战解析(24)
|
1天前
|
存储 C语言 C++
数据结构/C++:二叉搜索树
数据结构/C++:二叉搜索树
9 1
|
1天前
|
Java
【数据结构】二叉搜索树的模拟实现
【数据结构】二叉搜索树的模拟实现
7 1
|
4天前
|
存储
[数据结构]-二叉搜索树
[数据结构]-二叉搜索树
|
10天前
|
存储 算法 分布式数据库
数据结构第五课 -----二叉树的代码实现
数据结构第五课 -----二叉树的代码实现
|
15天前
|
存储
数据结构基础:一篇文章教你单链表(头插,尾插,查找,头删等的解析和代码)
数据结构基础:一篇文章教你单链表(头插,尾插,查找,头删等的解析和代码)
|
15天前
|
存储 算法 C语言
C语言进阶:顺序表(数据结构基础) (以通讯录项目为代码练习)
C语言进阶:顺序表(数据结构基础) (以通讯录项目为代码练习)
|
24天前
|
存储 JavaScript 前端开发
数据结构:一文看懂二叉搜索树 (JavaScript)
数据结构:一文看懂二叉搜索树 (JavaScript)
42 0
|
1月前
|
算法 调度 C++
[数据结构与算法]贪心算法(原理+代码)
[数据结构与算法]贪心算法(原理+代码)
|
2月前
|
存储 算法 编译器
【数据结构】C语言实现链式二叉树(附完整运行代码)
【数据结构】C语言实现链式二叉树(附完整运行代码)
36 1