代码随想录算法训练营(二叉树总结篇)

一.二叉树的种类

1.满二叉树:就是说每一个非叶子节点的节点都有两个子节点。

 2.完全二叉树:此二叉树只有最后一层可能没填满,并且存在的叶子节点都集中在左侧!!!

 (满二叉树也是完全二叉树)

3.二叉搜索树(BST树):顾名思义,搜索是跟值相关联。

  • 中间节点的左侧子树的所有节点的元素值小于中间节点的值

  • 中间节点的右侧子树的所有节点的元素值大于中间节点的值

 

 4.平衡二叉搜索树(AVL树):是一种既是平衡二叉树又是二叉搜索树的数据结构。它的每个节点的左子树和右子树的高度差不超过1,并且满足二叉搜索树的性质。

 

 注意:空树是满二叉树、平衡二叉树、二叉搜索树、平衡二叉搜索树的特例。

 二.二叉树的存储方式

1.链式存储

2.数组存储

 三.二叉树的遍历方式

1.深度优先遍历

前序遍历(中左右)

中序遍历(左中右)

后序遍历(左右中)

2.广度优先遍历

层序遍历(队列)

四.二叉树的定义

struct TreeNode{int val;TreeNode*left;TreeNode*right;TreeNode(){val=0;left=nullptr;right=nullptr;}TreeNode(int _val){val=_val;left=nullptr;right=nullptr;}
}

五.总结

  • 1.涉及二叉树的问题,首先仔细审题,判断遍历顺序
  • 2.其次根据思路写出伪代码
  • 3.根据伪代码进行修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/70620.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SCF金融公链新加坡启动会 创新驱动未来

新加坡迎来一场引人瞩目的金融科技盛会,SCF金融公链启动会于2023年8月13日盛大举行。这一受瞩目的活动将为金融科技领域注入新的活力,并为广大投资者、合作伙伴以及关注区块链发展的人士提供一个难得的交流平台。 在SCF金融公链启动会上, Wil…

【爱书不爱输的程序猿】公网访问本地搭建的WEB服务器之详细教程

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本地电脑搭建Web服务器并用cpolar发布至公网访问 前言1. 首先将PHPStudy、WordPress、cpolar下载到电脑2. 安装PHPStudy3. 安装cpolar,进入Web-UI界面4.安装wordpress5.…

设计模式之构建器(Builder)C++实现

1、构建器提出 在软件功能开发中,有时面临“一个复杂对象”的创建工作,该对象的每个功能接口由于需求的变化,会使每个功能接口发生变化,但是该对象使用每个功能实现一个接口的流程是稳定的。构建器就是解决该类现象的。构建就是定…

css3新增选择器总结

目录 一、属性选择器 二、结构伪类选择器 三、伪元素选择器 四、UI状态伪类选择器 五、反选伪类选择器 六、target选择器 七、父亲选择器、后代选择器 八、相邻兄弟选择器、兄弟们选择器 一、属性选择器 (除IE6外的大部分浏览器支持) E&#…

AI 绘画Stable Diffusion 研究(九)sd图生图功能详解-老照片高清修复放大

大家好,我是风雨无阻。 通过前面几篇文章的介绍,相信各位小伙伴,对 Stable Diffusion 这款强大的AI 绘图系统有了全新的认知。我们见识到了借助 Stable Diffusion的文生图功能,利用简单的几个单词,就可以生成完美的图片…

Linux系统编程:通过System V共享内存实现进程间通信

目录 一. 共享内存实现进程间通信的原理 二. 共享内存相关函数 2.1 共享内存的获取 shmget / ftok 2.2 共享内存与进程地址空间相关联 shmat 2.3 取消共享内存与进程地址空间的关联 shmdt 2.4 删除共享内存 shmctl 2.5 通信双方创建共享内存代码 三. 共享内存实现进程间…

NLP——操作步骤讲义与实践链接

数据集与语料 语料是NLP的生命之源,所有NLP问题都是从语料中学到数据分布的规律语料的分类:单语料,平行语料,复杂结构 语料的例子:Penn Treebank, Daily Dialog, WMT-1x翻译数据集,中文闲聊数据集&#xf…

网络通信TCP/IP协议逐层分析数据链路层(第四十课)

Ethernet Ⅱ帧,也称为Ethernet V2帧,是如今局域网里最常见的以太帧,是以太网事实标准。如今大多数的TCP/IP应用(如HTTP、FTP、SMTP、POP3等)都是采用Ethernet II帧承载。 1、MAC地址概述 -MAC地址,即以太网地址,用来标识一个以太网上的某个单独设备或一组设备 -长度…

用递归与迭代完成二叉树的三种遍历

目录 二叉树的前序遍历 题目 前序遍历题目链接 递归代码 1.利用方法返回值的代码 2.返回值为void的代码 非递归实现前序遍历(利用栈stack) 1.利用方法返回值的代码 2.返回值为void的代码 二叉树的中序遍历 题目 :给定一个二叉树的根节点 root ,返回 它…

windows pip安装出现 error: Microsoft Visual C++ 14.0 is required

可参考:如何解决 Microsoft Visual C 14.0 or greater is required. Get it with “Microsoft C Build Tools“_不吃香菜的小趴菜的博客-CSDN博客 一、安装Visual Studio2022 1、下载:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 我这使…

Linux 终端命令之文件浏览(1) cat

Linux 文件浏览命令 cat, more, less, head, tail,此五个文件浏览类的命令皆为外部命令。 hannHannYang:~$ which cat /usr/bin/cat hannHannYang:~$ which more /usr/bin/more hannHannYang:~$ which less /usr/bin/less hannHannYang:~$ which head /usr/bin/he…

24近3年内蒙古大学自动化考研院校分析

今天给大家带来的是内蒙古大学控制考研分析 满满干货~还不快快点赞收藏 一、内蒙古大学 学校简介 内蒙古大学位于内蒙古自治区首府、历史文化名城呼和浩特市,距北京400余公里,是中华人民共和国成立后党和国家在民族地区创办的第一所综合大…