二叉树网上的资料有很多,我这个博文做一些要点的记录
遍历
分为:前序、中序、后续
public void traversal(BaseNode node) {
if (node != null) {
// ①
System.out.print(node.key.toString() + " ");
// ②
traversal(node.left);
// ③
traversal(node.right);
}
}
前序:先使用,然后往左找,最后往右找
① --- ② --- ③
中序:先往左找,然后使用,最后往右找
② --- ① --- ③
后序:先往左找,再往右找,最后使用
② --- ③ --- ①
删除
被删除的节点 N,如果N.left && N.right 都不为 null ,使用中序遍历,K的前驱或者后继进行替换。
检查
如果想检查自己写的算法是否正确,可以使用中序遍历,因为中序展现的数据是从小到大。便于查阅。