[数据结构学习笔记8] 二叉树(Binary Trees)

二叉树是一种特殊的树,他满足:

1. 每个节点只能有0,1,2个孩子节点

2. 只能有一个根节点

3. 从根节点到任意节点,只能有一条路径

二叉树的变种:

1. 完满二叉树(Full Binary Tree):每个非叶子节点必须有两个孩子节点

2. 完全二叉树(Complete Binary Tree):孩子节点必须从左往右排列

3. 完美二叉树(Perfect Binary Tree):每层都有两个叶子节点

4. 平衡二叉树(Balanced Binary Tree):左右高度相差不大于1

5. 退化二叉树(Degenerate Binary Tree):每个父节点只有一个孩子节点,这类二叉树类似于链表,所以叫退化二叉树。

 

代码实现(javascript)

复制代码
class Node {
  constructor(data) {
        this.data = data;
        this.left = null;
        this.right = null;      
    }  
}

const rootNodeA = new Node("A");
const nodeB = new Node("B");
const nodeC = new Node("C");
const nodeD = new Node("D");
const nodeE = new Node("E");
const nodeF = new Node("F");
const nodeG = new Node("G");

rootNodeA.left = nodeB;
rootNodeA.right = nodeC;

nodeB.left = nodeD;
nodeB.right = nodeE;

nodeE.left = nodeF;
nodeE.right = nodeG;
复制代码

 

posted @   Eagle6970  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示