二叉樹的常用操作

基本常識:

  • 左兄弟,右兒子表示法
  • 一個二叉樹第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ù)未完.......................

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容