算法相关
puyuma
位于广州大学城的2020计算机应届毕业生,现就职于Infosys。
展开
-
转:雪花算法的原理和实现Java
SnowFlake 算法,是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上保持自增的,后面的代码中有详细的注解。 这 64 个 bit 中,其中 1 个 ...转载 2020-04-26 10:08:03 · 209 阅读 · 1 评论 -
深入浅出学Java——HashMap
深入浅出学Java——HashMap 哈希表(hash table) 也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中HashMap的实现原理进行讲解,并对JDK7的HashMap源码进行分析。 一、什么是哈希表 在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作...转载 2020-04-29 09:34:05 · 5887 阅读 · 2 评论 -
转:二叉树的前序遍历、中序遍历和后序遍历之间还原二叉树
目录1、概念2、前序遍历和中序遍历还原二叉树3、中序遍历和后序遍历还原二叉树4、前序遍历和后序遍历还原二叉树 1、概念 (1)前序遍历 a、访问根节点;b、前序遍历左子树;c、前序遍历右子树。(2)中序遍历 a、中序遍历左子树;b、访问根节点;c、中序遍历右子树。(3)后序遍历 ...转载 2020-04-28 10:35:14 · 621 阅读 · 2 评论 -
你知道Java中的位移动运算符代表什么意思吗?
<< 表示左移,不分正负数,低位补0 >> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1 >>> 表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0 实例: System.out.println("8 << 2 : " + (8 << 2)); S...原创 2020-04-26 10:58:54 · 148 阅读 · 0 评论 -
转:计算时间复杂度--(简单版)
步骤: 1、找到执行次数最多的语句 2、语句执行语句的数量级 3、用O表示结果 计算时间复杂度的3个出发点,掌握这三个出发点,那么一向搞不懂的时间复杂度就可以迎刃而解啦。 然后: 1、用常数1取代运行时间中的所有加法常数 2、在修改后的运行次数函数中,只保留最高阶项 3、如果最高阶项存在且不是1,那么我们就去除于这个项相乘的常数。比如3n2我们取n2 最后就可以得到你们想要的结果了。 举几个例子:...转载 2020-02-25 16:57:46 · 1076 阅读 · 0 评论