首页
学习
活动
专区
圈层
工具
发布
首页标签二叉树

#二叉树

在计算机科学中,二叉树是每个节点最多只有两个分支的树结构。

AVL树:从原理到代码的完整解析

用户11915063

AVL树的基础是搜索二叉树,所以AVL树的插入操作与搜索二叉树极为相似,多了个平衡因子而已

11710

《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用

用户11915063

另外需要说明的是,二分查找也可以实现O(logN)级别的查找效率,但是二分查找有两大缺陷

11310

【数据结构初阶】--二叉树(三)

用户11915063

那向上和向下调整算法都可以建堆,那我们使用哪个呢?当然是哪个“好”用哪个,那这里的“好”,显然易见要算时间复杂度啦

10510

【数据结构初阶】--排序(二):直接选择排序,堆排序

用户11915063

前言:上篇博客我们学习了直接插入排序和希尔排序,对排序有了一定的理解,之前树与二叉树的博客我们还学习了堆排序,那么今天我们就进入直接选择排序和堆排序的学习中

11410

【C++:AVL树】深入理解AVL树的平衡之道:从原理、旋转到完整实现代码

艾莉丝努力练剑

AVL树的插入,跟搜索二叉树的插入规则一样,多了一个平衡因子(右子树高度 - 左子树高度),其它都是一样的,我们可以直接复用搜索二叉树的插入即可,不过还是有区别...

20810

【C++:搜索二叉树】二叉搜索树从理论到实战完全解读:原理、两种场景下的实现

艾莉丝努力练剑

从二叉搜索树到map和set的使用、AVL树实现、红黑树、封装红黑树实现mymap和myset都是一个整体,也就是说,接下来我们要学习的就是平衡搜索二叉树相关的...

15310

二叉树的分层遍历、栈的压入弹出序列

敲上瘾

        本章主要来讲解两个OJ题,针对每个OJ题我分三部分来解决,分别是题目解析(主要弄清楚题目要求我们解决什么问题),算法原理,代码编写,接下来让我们...

8910

二叉树创建和遍历

敲上瘾

关于二叉树的创建和遍历我们考虑用递归来实现。 我们通过前序遍历的数组"ABD##E#H##CF##G##" 来创建数组,其中 ...

11410

二叉树(详解)

敲上瘾

在了解二叉树之前呢我们先来了解一下树形结构,因为二叉树就是树形结构的一种特殊情况,它有这非常好的性质,是很常用的一种结构。

6910

LeetCode树与二叉树全解析:从基础到高级应用

安全风信子

题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

15210

【数据结构与算法】深入详解完全二叉树和满二叉树:概念、特性、堆、实际应用

艾莉丝努力练剑

定义:完全二叉树指的是除了最后一层外,其他各层节点都达到最大数量,且最后一层节点依次从左向右连续排列的二叉树。

21510

【数据结构与算法】顺序表和链表、栈和队列、二叉树、排序等数据结构的完整代码收录

艾莉丝努力练剑

前言:本篇文章,我们继续来看二叉树相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分...

11410

【牛客&LeetCode&数据结构】二叉树的应用(三)——二叉树的最大深度问题、二叉树的遍历问题详解

艾莉丝努力练剑

我们的思路是:根据前序遍历(即先序遍历)已知根节点是A,再建立一个二叉树,然后再对这个二叉树进行中序遍历。

10210

【数据结构与算法】数据结构初阶:详解排序(一)——插入排序、选择排序以及交换排序中的冒泡排序

艾莉丝努力练剑

前言:本篇文章,我们正式开始介绍排序相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二...

15310

【数据结构与算法】数据结构初阶:详解二叉树(六)——二叉树应用:二叉树选择题

艾莉丝努力练剑

假设一个二叉树有 a 个度为2的节点,b 个度为1的节点,c 个叶节点,则这个二叉树的边数是 2a+b,另一方面,由于共有 a+b+c 个节点,所以边数等于 a...

12510

【数据结构与算法】数据结构初阶:详解二叉树(五)——链式结构二叉树(下):二叉树的链式结构的实现

艾莉丝努力练剑

如果我每次都定义一个size,我在递归的过程中,每一个函数栈帧中都有一个局部变量size:

12810

【数据结构与算法】数据结构初阶:详解二叉树(四)——链式结构二叉树(上):前中后序遍历、创建一棵链式二叉树

艾莉丝努力练剑

二叉树分为空树和非空二叉树,非空二叉树由根结点、根结点的左子树、根结点的右子树组成的。

16510

【数据结构与算法】数据结构初阶:详解二叉树(三)——堆(续):向上向下调整算法的证明及时间复杂度、TOP-K问题详解

艾莉丝努力练剑

【掌握文件操作】(下):文件的顺序读写、文件的随机读写、文件读取结束的判定、文件缓冲区

12610

【数据结构与算法】数据结构初阶:详解二叉树(二)——堆

艾莉丝努力练剑

重要提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。我们在不同的场景需要选择不同的数据结构,所以数据结构没有谁好谁坏之分,而...

16510

【数据结构与算法】数据结构初阶:详解二叉树(一)

艾莉丝努力练剑

满二叉树是完全二叉树的一种,也就是说:满二叉树既是完全二叉树,也是满二叉树(似废话)。

17210
领券