基本常識:
- 左兄弟,右兒子表示法
- 一個二叉樹第i層的最大節(jié)點數為:2^(i-1) , i>1
- 深度為k的二叉樹有最大節(jié)點總數為:2^k-1 , k>=1
- n0表示葉子節(jié)點的個數,n2為度為2的非葉節(jié)點個數,兩者滿足關系 n0 = n2 + 1
封裝二叉樹
包含以下基本操作:
- insert(key) 向樹中插入一個新的鍵
- search(key) 在樹中查找一個鍵; 修改和查找是一樣的
- inOrderTraverse 中序遍歷
- preOrderTraverse 先序遍歷
- postOrderTraverse 后序遍歷
- min 返回最小鍵
- max 返回最大鍵
- remove 從樹中移除某個鍵
首先創(chuàng)建節(jié)點
class Node {
constructor(key) {
this.key = key; // 節(jié)點值
this.left = null; // 左側子節(jié)點引用
this.right = null;// 右側子節(jié)點引用
}
}
待續(xù)未完.......................