![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
RunMonster
要么颓废得像坨屎,要么认真得像个疯子!!
展开
-
java算法- B-Tree和B+Tree(个人整理,实用版)
一、介绍B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。 B+树中的B代表平衡(balance)。(平衡多路查找树) B+树是从最早的平衡二叉树演化而来的。二、B-TreeB-Tree是为磁盘等外存储设备设计的一种平衡查找树。 每个节点最多有m个孩子。 除了根节点和叶子节点外,其它每个节点至少有Ceil(m/2)个孩子。 若根节点不是叶子...原创 2020-01-07 18:30:47 · 685 阅读 · 0 评论 -
java算法- 红黑树
treeMap 也是使用红黑树实现的package com.numberone.tree;/** * 红黑树 */public class RBTree<T extends Comparable<T>> { private final RBTreeNode<T> root; //node number private j...转载 2020-01-07 14:25:00 · 230 阅读 · 0 评论 -
java算法- AVL树
当前节点的左子树高度减去右子树高度,高度在-1到1之间。平衡二叉树(又称AVL树)和AVL树的比较AVL树是一棵严格的平衡树,它所有的子树都满足二叉平衡树的定义。因此AVL树高被严格控制在XXX,因此AVL树的查找比较高效。但AVL树插入、删除结点后旋转的次数比红黑树多。红黑树用非严格的平衡来降低插入删除时旋转的次数。因此,如果你的业务中查找远远多于插入、删除,那选AVL树;...转载 2020-01-07 14:08:01 · 144 阅读 · 0 评论 -
麻将胡牌算法-癞子牌特别多(一)
麻将内最核心的算法,每一次出牌,摸牌都需要使用到。(仅个人想法,想要更快速度,建用把算出来的结果存储下来,通过查表法来使用)1、计算前准备 /*癞子数量*/ protected byte laiNumber; /*癞子牌*/ protected List<Byte> laiPoker; /*手牌数量总计*/ protecte...原创 2020-01-06 18:26:07 · 2571 阅读 · 0 评论 -
Java 个人学习笔记—基本算法
算法的概念:空间复杂度:一句来理解就是,此算法在规模为n的情况下额外消耗的储存空间。 时间复杂度:一句来理解就是,此算法在规模为n的情况下,一个算法中的语句执行次数称为语句频度或时间频度。 稳定性:主要是来描述算法,每次执行完,得到的结果都是一样的,但是可以不同的顺序输入,可能消耗的时间复杂度和空间复杂度不一样。一、二分查找算法二分查找又称折半查找,优点是比较次数少,查找速度快...转载 2019-07-01 11:18:58 · 172 阅读 · 0 评论 -
Java 个人学习笔记—数据结构
数据结构:Data_Structure,它是储存数据的一种结构体,在此结构中储存一些数据,而这些数据之间有一定的关系。 而各数据元素之间的相互关系,又包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。 而一个数据结构的设计过程分成抽象层、数据结构层和实现层。数据结构在Java的语言体系中按逻辑结构可以分为两大类:线性数据结构和非线性数据结构。线性数据结构1:一维...原创 2019-07-01 11:16:29 · 136 阅读 · 0 评论 -
java算法-二叉树
1、求二叉树最大或最小深度 public int maxDepth(Tree root){ if(root == null) return 0; return 1 + Math.max(maxDepth(root.left), maxDepth(root.right)); } public int minDept...原创 2019-04-18 17:12:40 · 459 阅读 · 0 评论 -
java算法- 递归回溯法
1、随机输入手机上的数字,使字母组成不同的组合public class base01 { private String letterMap[][] = { {}, //0 {}, //1 {"a","b","c"}, //2 {"d","e","f"}, //3 ...原创 2019-04-23 11:32:58 · 534 阅读 · 0 评论 -
java算法-Array
1、给定一个数组nums和值val,删除数组中等于val的数组,返回剩余元素个数 public static int run02(int[] arrayData, int val) { int endSit = arrayData.length - 1; for (int i = 0; i < arrayData.length; i++) { ...原创 2019-04-17 17:42:01 · 146 阅读 · 0 评论