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. 函数运行结果

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

网友评论