当前位置: 首页 > article >正文

python数据结构基础(6)

本节以二叉树为例学习一种比较复杂但是常见的数据结构----树,包括各种类型的二叉树及性质,如完全二叉树,平衡二叉树及二叉搜索树.

树的基本结构:

树是一种数据结构,他是由n个有限节点组成的一个具有层次关系的集合.二叉树则是每个节点最多有两个子树的树结构.二叉树一般具有以下性质.

1.二叉树的第k层上的节点数目最多为2的k-1次方.

2.深度为h的二叉树至多有2的h-1个节点.

3.包含n个节点的二叉树的高度至少为log2(n+1)

4.在任意一棵二叉树中,若叶子节点的个数为n0,度为2的节点数为n2,则n0=n2+1

下面介绍几种常见的二叉树:

满二叉树:如果一个二叉树的节点要么是叶子节点,要么他有两个子节点,那么这样的树就是满二叉树.

完全二叉树:如果一棵具有n个节点的深度为k的二叉树,他的每一个节点都与深度为k的满二叉树中编号为1~n的节点一一对应,那么这棵二叉树称为完全二叉树.

平衡二叉树:一棵空树或它的左右两个子树的高度差的绝对值不超过1,且左右两个子树都是一棵平衡二叉树

二叉搜素树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于他的根节点的值.


http://www.kler.cn/a/383636.html

相关文章:

  • Kubernetes、Docker 和 Docker Registry 关系是是什么?
  • MacOS M3源代码编译Qt6.8.1
  • window安装TradingView
  • vue 集成 webrtc-streamer 播放视频流 - 解决阿里云内外网访问视频流问题
  • WebDavClient 安装和配置指南
  • 【JetPack】Navigation知识点总结
  • elementui中的新增弹窗在新增数据成功后再新增 发现数据无法清除解决方法
  • 一元二次函数的最值公式
  • EV录屏好用吗?盘点2024年10款专业好用的录屏软件。
  • 【wxWidgets GUI设计教程 - 高级布局与窗口管理】
  • 【大模型系列】Video-XL(2024.10)
  • php rides限制访问频率
  • uniapp学习(010-2 实现抖音小程序上线)
  • 【ChatGPT】如何将ChatGPT的回答与外部数据进行结合
  • ThingsBoard规则链节点:Push to Edge节点详解
  • Yarn介绍 | 组成 | 工作流程
  • GESP4级考试语法知识(算法概论(三))
  • 加密通信的“军备竞赛”:科技的“猫鼠游戏”与永无止境的密码对抗
  • SpringSecurity6+OAuth2.0 从入门到熟练使用
  • 视频自动播放被浏览器阻止及其解决方案
  • 「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现
  • 【神经网络加速】神经加速棒
  • Spring中@Autowired@Resource和@Inject注解区别
  • 记录学习react的一些内容
  • 123456789
  • K8S node节点没有相应的pod镜像运行故障处理办法