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

2024-11-25 二叉树的定义

一、基本概念

1.二叉树是n(n>=0)个结点的有限集合:
① 或者为空二叉树,即n=0。

②或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一棵二叉树。

特点: ①每个结点至多只有两棵子树。

②左右子树不能颠倒(二叉树是有序树)

(二叉树是递归定义的二叉树)

五种状态:

1.空二叉树  2.只有左子树  3.只有右子树  4.只有根节点   5.左右子树都有

二、几种特殊的二叉树

1.满二叉树:以可高度为h,且还有2^h-1个结点的二叉树。

特点:①只有最后一层有叶子结点

②不存在度为1的结点

③按层序从1开始编号,结点i的左孩子为2i,右孩子为2i+1;结点i的父节点为[i/2](如果有的话,向下取整)--可以用顺序存储来实现。

2.完全二叉树:当且仅当其每个结点都与高度为h满二叉树中编号为1~n的结点一一对应时,称为完全二叉树

特点:①只有最后两层可能有叶子结点
②)最多只有一个度为1的结点
③同上③
④i<|n/2]为分支结点,i>|n/2]为叶子结点

(对于完全二叉树来说,如果某一个结点只有一个孩子,必然是左孩子。)

3.二叉排序树: 一棵二叉树或者是空二叉树,或者是具有如下性质的二叉树:

左子树上所有结点的关键字均小于根结点的关键字;

右子树上所有结点的关键字均大于根结点的关键字。

左子树和右子树又各是一棵二叉排序树。(可用于元素的排序、搜索)

 4.平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1.(有更高的搜素效率)

-----左边相比于右边,查找相同的数字,遍历的结点要少很多。

总结: 


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

相关文章:

  • 使用vcpkg自动链接tinyxml2时莫名链接其他库(例如boost)
  • HTML CSS JS基础考试题与答案
  • 从零开始:使用 Spring Boot 开发图书管理系统
  • IDEA报错: java: JPS incremental annotation processing is disabled 解决
  • 【人工智能】从零构建一个文本分类器:用Python和TF-IDF实现
  • 深度学习-48-AI应用实战之基于face_recognition的人脸识别
  • Java基础之控制语句:开启编程逻辑之门
  • 国外媒体发布新闻稿/海外媒体网站发稿创历史新潮流
  • C# 基于WPF实现数据记录导出excel
  • COMSOL工作站:配置指南与性能优化
  • 单片机知识总结(完整)
  • 网络安全概论——网络加密与密钥管理
  • MTK 展锐 高通 sensorhub架构
  • 蓝桥杯备赛笔记(一)
  • python中的判断语句
  • Javaweb 前端 js事件监听
  • 升级智享 AI 直播三代:领航原生直播驶向自动化运营新航道
  • think php处理 异步 url 请求 记录
  • 【前端Vue】day04
  • pyhton+yaml+pytest+allure框架封装-全局变量渲染
  • React Native 调试指南
  • 飞塔防火墙只允许国内IP访问
  • IDEA Mac快捷键(自查询使用)
  • 什么是代理,nodenginx前端代理详解
  • 【摸鱼】Docker配置主从mysql数据库环境
  • Taro 鸿蒙技术内幕系列(三) - 多语言场景下的通用事件系统设计