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. 函式執行結果
本篇到此完結,如有補充內容隨時更新!歡迎關注本人繼續跟進技術乾貨的更新!