数据结构笔记 4 树和二叉树

 

 

二叉树和完全二叉树的区别?

二叉树和完全二叉树的主要区别在于它们的结构特性和节点排列方式:

1. **二叉树**:
   - 是一种数据结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。
   - 节点的子节点数量可以是0、1或2,没有特定的排列要求,因此二叉树可以呈现各种形状,包括斜树、满二叉树、完全二叉树等。
   - 不强制所有层级都要填满,也不要求最后一层的节点必须集中在左边。

2. **完全二叉树**:
   - 是二叉树的一个特殊形态,除了最后一个层级外,所有层级都被完全填满。
   - 最后一层的节点都尽可能地集中在左侧。如果最后一层没有被填满,那么所有节点都必须靠左排列,不能有空位在某个节点的右侧而该节点有后代。
   - 具有n个节点的完全二叉树的深度最小,也就是说,它是高度最矮的能够包含n个节点的二叉树。
   - 完全二叉树在某些情况下便于实现数据结构(如堆)和算法(如二分查找),因为它们的结构更加规则。

 

几种遍历方式:

构造哈夫曼树

 

相关推荐

  1. 数据结构学习笔记-

    2024-06-09 19:20:05       9 阅读
  2. 学习笔记-数据结构-(2024-4-22)

    2024-06-09 19:20:05       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 19:20:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 19:20:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 19:20:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 19:20:05       20 阅读

热门阅读

  1. 9.0 Android中的网络技术

    2024-06-09 19:20:05       8 阅读
  2. 一个python 程序执行顺序

    2024-06-09 19:20:05       10 阅读
  3. LeetCode 1193, 45, 48

    2024-06-09 19:20:05       9 阅读
  4. IO数据流

    2024-06-09 19:20:05       9 阅读
  5. antd DatePicker 日期 与 时间 分开选择

    2024-06-09 19:20:05       10 阅读
  6. dockerfile,shell脚本,yaml文件如何配合

    2024-06-09 19:20:05       6 阅读
  7. C++数据结构——队列queue

    2024-06-09 19:20:05       9 阅读
  8. 网络安全法对个人保护的要求

    2024-06-09 19:20:05       10 阅读