二叉树的常用操作

基本常识:

  • 左兄弟,右儿子表示法
  • 一个二叉树第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;// 右侧子节点引用
  }
}

待续未完.......................

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。