java
文章平均质量分 95
追梦混球
这个作者很懒,什么都没留下…
展开
-
二叉树、平衡二叉树、B-Tree、B+Tree简单理解
1 二叉树二叉树binary tree是指每个节点最多含有两个子树的树结构。 特点:1.所有节点最多拥有两个子节点,即度不大于22.左子树的键值小于根的键值,右子树的键值大于根的键值。 因为二叉树只是定义了简单的结构,所以存在多种深度可能,导致二叉树的效率低,所以引入了平衡二叉树。2 平衡二叉树2.1 avl树平衡二叉树,基于avl算法,即是avl树(avl tree)特点...原创 2021-02-25 15:54:57 · 890 阅读 · 0 评论 -
二叉树
1|0定义:二叉树(Binary Tree)是n(n>=0)个节点的有限集合,该集合或者空集(称为空二叉树),或者由一个根节点和两棵互不相交的,分别称为根节点的左子树和右子树的二叉树组成。2|0特点:每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。注意不是只有两棵子树,而是最多有。没有子树或者有一棵子树都是可以的。 左子树和右子树是有顺序的,次序不能任意颠倒。就像人是双手、双脚,但显然左手、左脚和右手、右脚是不一样的,右手戴左手套、右脚穿左鞋都会极其别扭和难受。 .转载 2021-02-18 16:30:58 · 215 阅读 · 0 评论 -
十大经典排序算法
十大经典排序算法(动图演示)0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。0.2 算法复杂度0.3 相...转载 2019-03-15 09:26:35 · 147 阅读 · 0 评论 -
java线程安全问题以及使用synchronized解决线程安全问题的几种方式
一、线程安全问题1.产生原因 我们使用java多线程的时候,最让我们头疼的莫过于多线程引起的线程安全问题,那么线程安全问题到底是如何产生的呢?究其本质,是因为多条线程操作同一数据的过程中,破坏了数据的原子性。所谓原子性,就是不可再分性。有物理常识的小伙伴可能要反驳了,谁说原子不可再分?原子里边还有质子和中子。我们不在这里探讨物理问题,我确实也没深究过为什么被称为原子性,也许是这个原则出现...转载 2019-10-11 15:50:53 · 238 阅读 · 0 评论