[数据结构学习笔记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;
标签:
数据结构笔记
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战