基本常识:
- 左兄弟,右儿子表示法
- 一个二叉树第i层的最大节点数为:2^(i-1) , i>1
- 深度为k的二叉树有最大节点总数为:2^k-1 , k>=1
- n0表示叶子节点的个数,n2为度为2的非叶节点个数,两者满足关系 n0 = n2 + 1
封装二叉树
包含以下基本操作:
- insert(key) 向树中插入一个新的键
- search(key) 在树中查找一个键; 修改和查找是一样的
- inOrderTraverse 中序遍历
- preOrderTraverse 先序遍历
- postOrderTraverse 后序遍历
- min 返回最小键
- max 返回最大键
- remove 从树中移除某个键
首先创建节点
class Node {
constructor(key) {
this.key = key; // 节点值
this.left = null; // 左侧子节点引用
this.right = null;// 右侧子节点引用
}
}
待续未完.......................