算法
lkforce
这个作者很懒,什么都没留下…
展开
-
红黑树简介,以及ConcurrentHashMap如何平衡红黑树
ConcurrentHashMap基础1,ConcurrentHashMap维护了一个Node数组(JDK1.8),保存了各节点链表的头节点。2,当链表长度超过8时,ConcurrentHashMap会考虑把链表转为红黑树,但不一定真的转。3,当链表长度超过8,但Node数组长度小于64时,优先考虑数组扩容。如果Node数组长度大于64,则把链表转为红黑树。红黑树基础红黑树是一种近似平衡的二叉查找树,它并非绝对平衡,但是可以保证任何一个节点的左右子树的高度差不会超过二者中较低...原创 2020-07-29 12:02:57 · 1311 阅读 · 0 评论 -
java的直接插入排序代码
直接插入排序/** * 直接插入排序 * 保证第i个值前面的列表是拍好序的,然后从第i-1个值开始从后往前比较, * 如果如果队列中的值比较大就把队列中的值往后移一位,直到找到该值在队列中的合适位置 * @param a * @return */ void insertSort(){ int[] a = {49,38,65,97,76,13,27,49,7原创 2017-04-13 17:34:37 · 964 阅读 · 0 评论 -
java写的辗转相除法求两个数的最大公约数和最小公倍数
辗转相除法的原理在于,数字a对数字b求模,假设余数为c,那么a和b的最大公约数就等于b和c的最大公约数。所以java的代码如下:public class Test { public static void main(String[] args) { int a = 12; int b = 9; int result = getResult(a, b); System.ou原创 2017-04-06 11:20:51 · 5101 阅读 · 0 评论 -
关于B树的学习总结和B+树,B*树的简介
概念B树,英文是B-tree,是一种平衡多路树,这个不叫B减树,就是B树。B树是一种多路树。因为他的子节点不止2个,可以是多个。B树是一种平衡树。所谓平衡树,指的是他的左右两个子树的高度差小于等于1,而且左右子树的子树高度差也小于等于1。其实B树算是一种特殊的平衡树,因为B树的要求更高,要求左右子树高度相同,也就是说,根节点到每个叶子节点的距离都相同。约定1,ceil(原创 2018-01-12 11:33:56 · 7873 阅读 · 11 评论