Kotlin 鏈式儲存的二叉樹中查詢節點

MobMsg發表於2019-02-18

1. 查詢方法

鏈式儲存的二叉樹中查詢節點的方法可分為三種:前序查詢、中序查詢、後序查詢,下面使用 Kotlin 語言編碼實現查詢函式,已建立的樹結構、節點權如下圖所示:

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 鏈式儲存的二叉樹中查詢節點


本篇到此完結,如有補充內容隨時更新!歡迎關注本人繼續跟進技術乾貨的更新!

Kotlin 鏈式儲存的二叉樹中查詢節點

相關文章