Algorithm
文章平均质量分 93
boonya
知止而后有定,定而后能安,安而后能静,静而后能虑,虑而后能得。有什么比没有什么更重要,好高骛远不专注于一事,最终一事无成。
展开
-
Raft共识算法
目录什么是Raft?等等-什么是共识?Raft可视化刊物会谈Raft课程我在哪里可以问问题?我在哪里可以买到筏子?官网地址:https://raft.github.io/什么是Raft?Raft是一种共识算法,旨在使其易于理解。在容错性和性能上与Paxos等效。不同之处在于它被分解为相对独立的子问题,并且干净地解决了实际系统所需的所有主要部分。我们希望Raft能够使更多的受众获得共识,并且这个更广泛的受众将能够开发出比当今更高质量的基于共识的系统。等等-什翻译 2021-05-26 23:07:21 · 929 阅读 · 0 评论 -
Hashtable和ConcurrentHashMap如何实现线程安全
未做同步控制时,代码在多线程下是安全的吗?代码执行都是靠线程调度执行的,默认情况下就是多线程的,所以不做同步控制理论上代码在多线程情况下存在线程安全问题。我们可以通过对方法和变量操作加锁、使用线程安全的方法和操作方式解决。HashMap的是线程安全的吗?非线程安全,本身没有任何线程安全的控制。比如put,remove这些操作都是普通方法。那么线程安全的Map-HashTable是如何实现线程安全的呢?HashTable在和数据本身操作的方法上都加了一个synchronized关键字,原创 2020-11-23 22:07:43 · 469 阅读 · 0 评论 -
HashMap数据结构与算法
目录HashMap的特点HashMap JDK1.8以前(链表解决hash碰撞-冲突)HashMap JDK1.8以后(红黑树-二叉树解决hash碰撞)HashMap的特点数组[Entry]、链表[Entry[]]、红黑树(jdk1.8 链表长度大于8时触发)快速存储(put) 快速查找(时间复杂度O(1)) 可伸缩(loadFactor=0.75, default size=16 ,2倍扩容:16,16*0.75->32,32*0.75->64,64*0.75-&.原创 2020-11-16 22:21:35 · 264 阅读 · 0 评论 -
面试算法题刷题资源库
0x00 收割 offer 版不管是找工作笔试面试白板试进大厂,还是研究生参加初试复试机试,数据结构和算法都是绕不过去的坎,刷题就成了很多人的需求,快来看看下面这些网站,变身刷题机器,收割 offer 吧!1、leetcode 英文网址:https://leetcode.com/ 中文网址:https://leetcode-cn.com/估计 leetcode(力扣...转载 2020-01-31 10:33:06 · 1140 阅读 · 0 评论 -
百度ak验证sn生成算法
参考地址:http://developer.baidu.com/map/index.php?title=lbscloud/api/appendix假设ak=yourak(yourak为一个字符串),在 http://lbsyun.baidu.com/apiconsole/key 中配置了该ak的验证方式是sn签名的验证方式,点击下面那排星号,显示Security Key,可以看到此ak转载 2014-12-03 13:26:08 · 15056 阅读 · 3 评论 -
二分查找原理及代码拓展
概念 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查原创 2016-05-19 11:21:32 · 2347 阅读 · 0 评论 -
二叉树的原理和实现
在计算机科学中,二叉树(Binary Tree)是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^原创 2016-05-19 15:13:55 · 9759 阅读 · 1 评论 -
哈夫曼编码
哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。原理设某信源产生有五种符号u1、u2、u3、u4和u5,对应概率P1=0.4,P2=0.1,转载 2016-05-20 18:25:26 · 11489 阅读 · 0 评论 -
Fibonacci斐波那契数列面试与算法分析
问题:有一数列1,1,2,3,5,8.........................,n,它的后一项是前两项之和,求第n项=?分析:要求出n的值需要知道它的前两项是n-2,n-1;所以由此可以推导在某种情况下有f(n)=f(n-2)+f(n-1)。原创 2015-03-17 19:52:12 · 1035 阅读 · 0 评论