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 链式存储的二叉树中查找节点

    1. 查找方法 链式存储的二叉树中查找节点的方法可分为三种:前序查找、中序查找、后序查找,下面使用 Kotlin ...

  • 二叉树

    二叉树简介 每个节点最多只有两个子节点的树称为二叉树: 二叉树的存储结构 二叉树一般用链式结构存储,每个节点包含两...

  • 顺序存储结构和链式存储结构

    顺序存储结构 查找效果高于链式存储结构,但插入、删除效率不如链式存储结构 链式存储结构 查找效率不如顺序存储结构,...

  • 数据结构与算法12-树与二叉树

    二叉树的链式存储 前序、中序、后序,区别可记忆为,访问自身节点的时机,从前往后。 定义类型 创建二叉树 销毁二叉树...

  • 数据结构(二)-- 二叉树与二分搜索树

    二叉树 之前的一篇关于数组的链表中的文章中,我们说了链表是存储在内存中是以一种逻辑上的链式结构,每个节点不仅存储元...

  • 【我是一棵树】二叉树详解(二)

    二叉树的存储结构 顺序存储:就是用一组数组来存储二叉树中节点,并且节点的存储位置,也就是数组的下标要能体现节点之间...

  • 二叉树 堆 2019-04-17

    二叉树 实现一个二叉查找树,并且支持插入、删除、查找操作 实现查找二叉查找树中某个节点的后继、前驱节点 实现二叉树...

  • Tree

    带父节点的二叉树的链式储存结构 初始化二叉树 增加结点 查找结点 获取左子树 判断空树 计算二叉树的深度 清空二叉...

  • (二)链表

    一 定义 链表是有序的列表,但是它在内存中是存储如下: 小结: 链表是以节点的方式来存储,是链式存储 每个节点包含...

  • Java二叉树的遍历思想及核心代码实现

    二叉树在计算机中的存储方式往往线性结构,线性存储分为顺序存储和链式存储,将二叉树按层序编号。 顺序结构:按编号的顺...

网友评论

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

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