日常 17
二叉树是一种基础的数据结构,广泛应用于计算机科学和程序设计中。以下是一些关键的知识点:
-
定义及性质- 定义:二叉树是每个节点最多有两个子节点的树结构,通常称为左子节点和右子节点。
性质:
第n层的节点数最多为
2的n-1次方
深度为h的二叉树最多有
2的h次方-1个节点。
有n个节点的完全二叉树的高度为 log n以2为底-1 -
类型
满二叉树:每个节点都有0或2个子节点,所有叶子节点在同一层。
完全二叉树:除了最底层,其余层都是满的,最底层节点从左到右排满。
平衡二叉树:任何节点的两个子树的高度差不超过1。
二叉搜索树:对于每个节点,左子树所有节点值小于该节点值,右子树所有节点值大于该节点值。 -
遍历方式- 前序遍历(根 -> 左 ->右)
中序遍历(左 -> 根 ->右)
后序遍历(左 ->右 -> 根)
层序遍历(按层访问,从上到下,从左到右) -
操作- 插入:根据特定的规则将新节点插入到树中。
删除:删除节点时需要注意重新调整树的结构,维持二叉树的性质。
查找:通过比较利用二叉搜索树的特性快速查找节点。 -
应用- 二叉树在很多场景中都非常有用,如:
数据库索引(B树、红黑树)
表达式解析(表达式树)
Huffman编码(用于数据压缩)
6.相关算法- 可以使用递归和非递归的方式实现遍历和操作。
常用的算法包括:
-递归遍历算法 -迭代遍历算法(使用栈或队列实现)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能