算法
文章平均质量分 75
chenxiaokang97
目标设到月球,即使失败,也能落到众星之间。
展开
-
Ques1017勇者斗恶龙
Description你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍掉一个头(且不能被雇佣两次)。Input输入包含多组数据。每组数据的第一行为正整数n和m(1<=n,m<=20 000);以下n行每行原创 2017-09-29 13:47:19 · 420 阅读 · 0 评论 -
红黑二叉树
红黑二叉树 红黑二叉树的基本思想是想用标准的二叉查找树(完全由2-结点构成)和一些额外的信息(替换3-结点)来表述2-3树。 树中的链接有两种类型: 红链接将两个2-结点连接起来构成一个3-结点 黑链接则是2-3树中的普通链接 或者说,我们将3-结点表示为由一条左斜的红色链接相(两个2-结点其中之一是另一个的左子节点)连的两个2-结点。 这种表示的优点:我们无需修改...原创 2018-07-16 23:09:26 · 1361 阅读 · 0 评论 -
SnowFlake算法
SnowFlake算法 问题:如何在分布式集群中生成全局唯一的ID? 方法一:UUID UUID是通用唯一识别码 (Universally Unique Identifier),在其他语言中也叫GUID,可以生成一个长度32位的全局唯一识别码。 //e493a18e-61d0-499a-87c1-650d03735edb String uuid = UUID.randomUUI...原创 2018-07-26 13:12:04 · 962 阅读 · 0 评论 -
2-3树
2-3树为了保证查找树的平衡性,我们需要一些灵活性,因此在这里我们允许树的一个结点保存多个键。我们将一颗二叉查找树的结点称为2-结点(包含一个键和两条链接),现在我们引入3-结点(包含两个键和三条链接)。一颗2-3查找树或为一颗空树,或由以下结点组成:2-结点,含有一个键和两条链接,左链接指向的2-3树中的键都小于该结点,有链接都大于。3-结点,含有两个键和三条链接,中链接指向的2-3树中的键都位...原创 2018-07-16 10:15:54 · 406 阅读 · 0 评论 -
二叉查找树
二叉查找树也称为有序二叉树,或者已排序二叉树,是指一根空树或者具有下列性质的二叉树:若任意结点的左子树不空,则左子树上所有结点的值均小于它的根节点的值若任意结点的右子树不空,则右子树上所有结点的值均大于它的根节点的值任意结点的左右子树也分别为二叉查找树没有键值相等的节点因为一颗由n个结点随机构造的二叉查找树的高度为lgn,所以顺理成章,二叉查找树的一般操作的执行时间为O(lgn)。但二叉查找树若退...原创 2018-07-14 21:41:49 · 226 阅读 · 0 评论 -
二分查找
package cn.chen.tree;public class BS { public int bs(Integer key,int low,int high){ if(low > high) return low; int mid = low + (high - low) / 2; int cmp = key.compareTo(mid)...原创 2018-07-14 21:41:29 · 165 阅读 · 0 评论