• 2024-07-01获取所有的叶子节点
    获取所有的叶子节点/***获取叶子节点*@paramtree*@paramoptions*@returns{*[]}*/exportfunctiongetLeafNodes(tree,options={}){ const{childrenProp='children'}=options//默认子节点属性名为'children' constleafNodes=[] functio
  • 2024-06-30Mysql--B+树--数据结构
    基本概念-B+树/B树B树(B-tree)和B+树(B+tree)是常见的自平衡搜索树数据结构,用于在存储和检索大量数据时提供高效的操作。它们具有一些共同的基本概念:节点(Node):B树和B+树的数据存储在节点中。节点可以包含多个关键字和对应的指针。在B树中,叶子节点和内部节点的结构相同,都存储数据
  • 2024-06-19算法基础
    计算复杂度复杂度在算法竞赛中对算法的选择有很大的帮助,利用复杂度可以简化思考,并帮助得到正确的算法。一般来讲,将基础的运算操作都当成常数复杂度即\(O(1)\),所以实际上在考虑的问题就是这种基础运算操作在数据规模极大的情况下的运算次数。常见的复杂度有对数多项式,也就是常
  • 2024-06-17基本技巧——哈夫曼树 学习笔记
    基本技巧——哈夫曼树学习笔记概念一棵包含有\(n\)个叶子节点的\(k\)叉树,其中第\(i\)个叶子节点带有权值\(W_i\)。树的带权路径长度,定义为从根结点到各叶结点的路径长度与相应叶节点权值的乘积之和。树的带权路径长度,记为WPL(WeightedPathLengthofTree),公式表示:\[
  • 2024-06-16Java基础:B树、B+树和红黑树的数据结构,三者区别
    B树(B-Tree)数据结构节点结构:每个节点包含多个键值和子节点指针。阶(Degree):B树的阶定义了每个节点的最小和最大键值数。对于阶为(m)的B树:每个节点最多有(m-1)个键值和(m)个子节点。每个节点(除了根节点)至少有(\lceilm/2\rceil-1)个键值和(\lceilm/
  • 2024-06-11左叶子之和-力扣
    本题计算二叉树的左叶子之和,使用后序遍历的顺序对二叉树进行深度搜索,关键点在于,对左叶子节点的值的操作上,需要在左叶子节点的父节点进行。/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right
  • 2024-06-05【Android面试题】请你分别采用递归和非递归对二叉树进行遍历?
    请你分别采用递归和非递归对二叉树进行遍历?这道题想考察什么?1、二叉树的基本原理和遍历的方法?考察的知识点二叉树遍历的基本概念、二叉树的基本原理考生如何回答二叉树的基本概念当然可以!二叉树是一种常见的数据结构,它由一组称为节点的元素构成。每个节点可以有零个
  • 2024-06-03NOI模拟 捉迷藏
    涉及知识点:博弈论题意在一个树上,A和B可以通过边在节点间移动,每回合可以不移动,或者移动到有边直接连接的节点。A在抓B,当A与B处于同一个节点时即为被抓住,可以发现无论如何B最后都会被抓住,你需要添加最小数量的边使得B有策略可以永远不会被抓住。思路最终的必败态是
  • 2024-05-24MySQL优化
    MySQL优化创建高性能索引索引基础知识何为索引?索引有哪些类型?深入探索B+Tree索引B+Tree基本知识查询遍历插入删除创建高性能索引策略前缀索引多列索引聚簇索引覆盖索引查询性能优化创建高性能索引索引基础知识何为索引?索引,在MySQL中也叫作键(key),是存储引擎用
  • 2024-05-19CF1085D Minimum Diameter Tree 题解
    CF1085DMinimumDiameterTree题解比较水的一道绿题观察样例可以发现,边权都平分在叶子节点唯一的一条连边上,由此猜到联想到可以把贪心地将边权全部平均分配到这些边上,这样写出来就能AC了。如何证明先来一张图方便理解:利用反证法:假设按上述做法分配边权后可以至少修改一次
  • 2024-05-11查找 - 线性表 & 散列表 & 树
    线性表的查找顺序查找技巧:设置哨兵,放在下标为0的位置。intSearch_Seq(SSTableST,KeyTypekey){ST.R[0].key=key;for(inti=ST.length;ST.R[i].key!=key;i--);returni;}算法分析适用于顺序结构和链式结构,不要求记录按关键字有序。平均查找长度
  • 2024-05-08MySQL索引数据结构
    什么是索引索引在项目中还是比较常见的,它是帮助MySOL高效获取数据的数据结构,主要是用来提高数据检索的效率,降低数据库的IO成本,同时通过索引列对数据进行排序,降低数据排序的成本,也能降低了CPU的消耗。索引的底层数据结构MySQL的默认的存储引擎InnoDB采用的B+树的数据结构来存储
  • 2024-05-08CF566E 做题记录
    link比较常规的一道构造题,练习自己的构造水平。首先对于一条边\((u,v)\),如果有边\((x,u),(v,y)\),我们可以对\(x,y\)的距离不超过\(2\)的点集\(S_x,S_y\)进行求交\(S_x\capS_y\),结果恰好就是\(\{u,v\}\)。我们枚举两条信息,对两个集合求交,如果结果为两个点,那么这两个
  • 2024-04-29mysql-B+树
    MySQL中的InnoDB存储引擎广泛使用了B+树作为索引的数据结构,这是因为它特别适合于磁盘I/O密集型操作,能够高效地处理大量的数据查询。B+树的基本特性有序性:B+树的所有叶子节点包含了全部的关键字以及对应的数据记录指针,并且这些叶子节点是按关键字的大小顺序链接在一起的。这使
  • 2024-04-27MySQL(1)-索引底层为什么用B+树
    最近在看面经,发现有很多跟B+树相关的问题,为此需要单独总结一下让自己形成一个体系。核心内容是为什么MySQL采用B+树作为索引?|小林coding所以可以直接看小林code的讲解,很到位。进入正题前,首先要对B树、B+树、二分查找树、自平衡二叉树、索引这些概念了初步解再分析具体问题
  • 2024-04-25mysql系列04---索引及性能分析
    1、索引的结构 mysql索引的数据结构,对经典的B+Tree进行了优化,在原B+Tree上增加了一个指向相邻叶子结点的链表指针,就形成了一个带有顺序指针的B+Tree,提高了区间访问的性能。 选择B+Tree的优点:a、相对于二叉树,层级更少,搜索效率更高b、相对于B-Tree,B+Tree只在叶子节点上存储
  • 2024-04-23leedcode-左叶子之和
    自己写的,使用了经典的广度优先搜素(BFS):classSolution:defsumOfLeftLeaves(self,root:Optional[TreeNode])->int:#初始化队列,将根节点放入队列中queue=[root]#初始化结果变量res=0#遍历队列,直到队列为空
  • 2024-04-17实习记录-腾讯一面
    1.mysql的优化。建表的时候、使用索引、sql语句的编写、主从复制,读写分离,还有一个是如果量比较大的话,可以考虑分库分表在定义字段的时候需要结合字段的内容来选择合适的类型,如果是数值的话,像tinyint、int、bigint这些类型,要根据实际情况选择。如果是字符串类型,也是结
  • 2024-04-17P3978 [TJOI2015] 概率论 题解
    题意:求一棵\(n\)个节点的有根二叉树的叶子节点的期望个数。设\(f_n\)表示\(n\)个点的二叉树个数,\(g_n\)表示\(n\)个点的所有二叉树的叶子节点数之和。显然\(f_n\)为\(\text{Catalan}\)数,考虑如何求\(g_n\)。一个结论是:\(g_n=f_{n-1}\timesn\)。证明:对于每一
  • 2024-04-12P10064 [SNOI2024] 公交线路
    显然只需要考虑叶子结点的连边情况,设一个结点\(u\)仅经过一条路径能到达的点的集合为\(S_x\),则条件等价于对于任意两个叶子结点\(x,y\),\(S_x\)与\(S_y\)有交.由树的性质,所有\(S_x\)的交集非空(否则存在环),于是交集为一个连通块,上点边容斥.于是问题转化为两部分:求所有\(
  • 2024-04-1018. 索引组织表
    在InnoDB存储引擎中,Row都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(indexorganizedtable),或者叫聚集索引(clusteredindex) 每张表必须有一个主键根据主键的值构建一个B+树这颗B+树的叶子节点存放所有记录非叶子节点存放主键和指针(若干个{主键,指针}组成一个非
  • 2024-04-09dp 练习 2024.3.9
    Luogu8389[ZJOI2022]树考虑容斥,每个点有三个状态:不钦定、钦定都是叶子、钦定都是非叶子。对于每一种钦定状态都计算答案,然后乘上对应容斥系数即可。叶子的钦定是可做的,考虑非叶子的钦定,我们可以用“容斥套容斥”的思想理解:对于钦定都是非叶子的点\(i\),考虑用总方案数减去钦定
  • 2024-03-31算法 B树
    B树是一种自平衡的树形数据结构,用于解决磁盘存储器上的数据管理问题B树更适合做磁盘上的增删改查,而平衡二叉树和红黑树更适合做内存中的增删改查。因此B树广泛应用于数据库当中 某个节点的度:该节点的孩子数阶:所有节点中,孩子数最多的那个值 B树的特性:1.除根节点和叶子节
  • 2024-03-30B树、B+树
    文章参考:终于把B树搞明白了(三)_B树的查找,B+树的引入_哔哩哔哩_bilibiliMySQL体系构架、存储引擎和索引结构_mysqlsegment为什么分为叶节点和非叶节点-CSDN博客B树、B+树详解-Assassinの-博客园(cnblogs.com)一.B树1.概述1.1为什么使用B树对数据进行IO的耗时:影
  • 2024-03-30P2168 [NOI2015] 荷马史诗
    原题链接题解1.该题等价于构建一颗k叉树,每个叶子节点都有一个权值\(leaf_i\),树的权值为\(\sum_{1}^{n}leaf_i\),在使树的权值尽可能小的情况下,使最深的叶子节点的深度也尽可能小,即使数的高度尽可能小这个叫做哈夫曼树2.构建过程如下:每次从队列中取出\(k\)个节点,然后把他