Kotlin 链式存储的二叉树中查找节点

作者: MobMsg | 来源:发表于2019-02-18 14:34 被阅读1次

    1. 查找方法

    链式存储的二叉树中查找节点的方法可分为三种:前序查找、中序查找、后序查找,下面使用 Kotlin 语言编码实现查找函数,已创建的树结构、节点权如下图所示:

    1.1 前序查找函数
    
        /**
         * 前序查找
         * */
        fun frontSearch(index: Int):TreeNode?{
            var node:TreeNode? = null
    
            if(index == this.value){
                return this
            }else{
                node = leftNode?.frontSearch(index)
    
                return node?:null
    
                node = rightNode?.frontSearch(index)
            }
    
            return node
        }
    
    
    1.2 中序查找函数
    
        /**
         * 中序查找
         * */
        fun middleSearch(index: Int): TreeNode? {
            var node:TreeNode? = null
    
            node = leftNode?.frontSearch(index)
    
            return node?:null
    
            if(index == this.value){
                return this
            }
    
            node = rightNode?.frontSearch(index)
    
            return node
        }
    
    
    1.3 后序查找函数
    
        /**
         * 后序查找
         * */
        fun afterSearch(index: Int): TreeNode? {
            var node:TreeNode? = null
    
            node = leftNode?.frontSearch(index)
    
            return node?:null
    
            node = rightNode?.frontSearch(index)
    
            return node?:null
    
            if(index == this.value){
                return this
            }
    
            return node
        }
    
    

    2. 函数运行结果


    本篇到此完结,如有补充内容随时更新!欢迎关注本人继续跟进技术干货的更新!

    相关文章

      网友评论

        本文标题:Kotlin 链式存储的二叉树中查找节点

        本文链接:https://www.haomeiwen.com/subject/ouipeqtx.html