数据结构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>
相关文章
|
7月前
|
前端开发 Java
java实现队列数据结构代码详解
本文详细解析了Java中队列数据结构的实现,包括队列的基本概念、应用场景及代码实现。队列是一种遵循“先进先出”原则的线性结构,支持在队尾插入和队头删除操作。文章介绍了顺序队列与链式队列,并重点分析了循环队列的实现方式以解决溢出问题。通过具体代码示例(如`enqueue`入队和`dequeue`出队),展示了队列的操作逻辑,帮助读者深入理解其工作机制。
244 1
|
8月前
|
算法 Java
算法系列之数据结构-二叉搜索树
二叉查找树(Binary Search Tree,简称BST)是一种常用的数据结构,它能够高效地进行查找、插入和删除操作。二叉查找树的特点是,对于树中的每个节点,其左子树中的所有节点都小于该节点,而右子树中的所有节点都大于该节点。
328 22
|
8月前
|
C语言 C++ 容器
【数据结构】二叉搜索树(二叉排序树)
本文介绍了二叉搜索树(Binary Search Tree, BST)的定义、实现及其性能分析。二叉搜索树是一种特殊的二叉树,其特点是左子树所有节点值小于根节点值,右子树所有节点值大于根节点值,且每个子树也满足此特性。文中详细讲解了BST的节点结构、插入、查找、删除等操作的实现,并通过C++代码展示了这些功能。此外,还讨论了BST的性能:在理想情况下,时间复杂度接近O(logN),但在最坏情况下可能退化为O(N)。为了提高效率,后续将学习自平衡二叉搜索树如AVL树和红黑树。掌握BST有助于理解STL中的set和map容器。感谢阅读,欢迎点赞支持。
709 9
|
12月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
412 1
|
存储 Java 开发者
Java中的Map接口提供了一种优雅的方式来管理数据结构,使代码更加清晰、高效
【10月更文挑战第19天】在软件开发中,随着项目复杂度的增加,数据结构的组织和管理变得至关重要。Java中的Map接口提供了一种优雅的方式来管理数据结构,使代码更加清晰、高效。本文通过在线购物平台的案例,展示了Map在商品管理、用户管理和订单管理中的具体应用,帮助开发者告别混乱,提升代码质量。
144 1
|
存储 算法 索引
HashMap底层数据结构及其增put删remove查get方法的代码实现原理
HashMap 是基于数组 + 链表 + 红黑树实现的高效键值对存储结构。默认初始容量为16,负载因子为0.75。当存储元素超过容量 * 负载因子时,会进行扩容。HashMap 使用哈希算法计算键的索引位置,通过链表或红黑树解决哈希冲突,确保高效存取。插入、获取和删除操作的时间复杂度接近 O(1)。
298 0
05(数据结构考研)树相关操作代码
05(数据结构考研)树相关操作代码
84 0
|
算法
04(数据结构考研)串相关操作代码
04(数据结构考研)串相关操作代码
69 0
03(数据结构考研)队列相关操作代码
03(数据结构考研)队列相关操作代码
124 0
02(数据结构考研)栈相关操作代码
02(数据结构考研)栈相关操作代码
81 0

热门文章

最新文章

下一篇
oss云网关配置