首页 > 其他分享 >二叉树-数据结构

二叉树-数据结构

时间:2024-06-08 10:01:25浏览次数:10  
标签:子树 地址 左右两个 二叉树 平衡 数据结构 节点

父节点地址

左子节点地址

右子节点地址

每一个节点往下面,都是会分成左右两个树的结点

度,就是子节点的数量

二叉树就是生活中的树的概念

树的高度是以最大的数量去数

小的往左边放,大的往右边放

以根节点为坐标,小于根节点的储存在左边,大的根节点放在右边

和根节点相等的数,我们不去存

二叉查找树

搜索树,排序树

1.每个节点上最多有两个子节点

2.每个子节点左小于右,反之

3.一样的不存

歪脖子树

解决方案

平衡二叉树

修复平衡二叉树

二叉树左右两边的子树的高度不超过1

任意节点的左右两个子树都是一颗平衡二叉树

平衡二叉树

左旋和右旋这个目的就是去平衡这个二叉树

最基础的方式就是去旋转

左右两边的子树的误差不能超过1

每个节点下都是要保证平衡的

标签:子树,地址,左右两个,二叉树,平衡,数据结构,节点
From: https://blog.csdn.net/Darling912/article/details/139539020

相关文章

  • 红黑树-数据结构
    平衡二叉B树每个节点可以是红或者是黑红黑树不是高度平衡的,他的平衡是“通过自己的红黑规则实现的”红黑规则每个节点是红或者为黑根节点必须是黑色如果一个节点没有子节点或者是父节点,这个节点的相应的指针属性为nil,这些nil视为叶节点,每个叶节点nil是黑色的如果某个节......
  • Day17| 110.平衡二叉树、 257. 二叉树的所有路径 、 404.左叶子之和
    110.平衡二叉树(优先掌握递归)再一次涉及到,什么是高度,什么是深度,可以巩固一下。题目链接/文章讲解/视频讲解:https://programmercarl.com/0110.平衡二叉树.html#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):......
  • 【数据结构】图论入门
    引入数据的逻辑结构:集合:数据元素间除“同属于一个集合”外,无其他关系线性结构:一个对多个,例如:线性表、栈、队列树形结构:一个对多个,例如:树图形结构:多个对多个,例如:图图的基本概念及术语图:G=(V,E)V:顶点(数据元素)的有穷非空集合E:边的有穷集合图的类型定义无向图:每......
  • 144. 二叉树的前序遍历
    /***Definitionforabinarytreenode.*typeTreeNodestruct{*Valint*Left*TreeNode*Right*TreeNode*}*/funcpreorderTraversal(root*TreeNode)[]int{returnpre2(root)//vals:=[]int{}//pre1(root,&val......
  • Day16 | 104.二叉树的最大深度 、111.二叉树的最小深度 、222.完全二叉树的节点个数
    104.二叉树的最大深度(优先掌握递归)什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。大家要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。题目链接/文章讲解/视频讲解:https://programmercarl.com/0104.二叉树的最大深度.ht......
  • 数据结构学习笔记-佛洛依德算法
    最短路径问题的经典解法-佛洛依德算法问题描述:设计算法求解图的最短路径【算法设计思想】初始化距离矩阵:首先,将解决方案矩阵dist[][]初始化为输入图矩阵graph[][],这个矩阵存储了顶点之间的直接距离或者权值。中间顶点迭代:然后,对每一个顶点作为中间顶点进行迭代。算法通过......
  • 二叉链表---二叉树的简单实现
    实验内容将二叉链表视为森林的孩子兄弟链表,计算森林中叶子个数。代码实现#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<stdlib.h>#include<string.h>#defineElemTypeinttypedefstructBtree{ ElemTypeelem; structBtree*lchild,*rchild......
  • C++数据结构之:哈希表Hash
    摘要:  it人员无论是使用哪种高级语言开发东东,想要更高效有层次的开发程序的话都躲不开三件套:数据结构,算法和设计模式。数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储......
  • C++数据结构之:图Graph
    摘要:  it人员无论是使用哪种高级语言开发东东,想要更高效有层次的开发程序的话都躲不开三件套:数据结构,算法和设计模式。数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结......
  • ClickHouse内幕(2)基础数据结构
    ClickHouse以性能好被大家所熟知,而一个数据库的性能优化是一个庞大的系统性工程。本文着眼于ClickHouse内部的基础数据结构,以揭露ClickHouse性能优化的冰山一角。在软件工程中并不是所有的执行路径都需要优化,只有关键执行路径才需要花费大力气进行优化。对于数据库领域来说关键执......