51dev.com IT技术开发者社区

51dev.com 技术开发者社区

java之对称加密算法

java之对称加密算法

对称加密算法是以一种使用频率高的初等的加密算法,如你所想,之所以称之为对称加密算法,说明加密秘钥是相同,加密过程可逆,而前面介绍的base64加密,和消息摘要加密算法是不可逆的.一般的对称加密算法有DES,DES秘钥长度不够,易被破解,进而衍生出了3DES,在DES的基础上又出现了AES算法,还有PBE,IDEA等算法...

临接表转化矩阵和图和散列表存储详解

临接表转化矩阵和图和散列表存储详解

Algorithm算法分析:017.06.03专项:临接表转化矩阵和图,并实现图遍历;已知有向图的邻接表如下图所示(1)给出该图的邻接矩阵;(2)从结点A出发,写出该图的深度优先遍历序列。 回答:(根据表可以的知,A有到B和C的有向线路,所以(0,1)和(0,2)为1,其他都为0,以此类推,可以得到现在的矩阵...

java多线程之龟兔赛跑问题

java多线程之龟兔赛跑问题

/** *Description:龟兔赛跑游戏<br/> *Copyright(c),2016,Jansonxu<br/> *Thisprogramisprotectedbycopyrightlaws.<br/> *ProgramName:ToristAndRabbitRunGame...

几个简单的对数增长阶算法

几个简单的对数增长阶算法

最近在看scip,不得不说,这本书的确是经典之作,每天抽出时间看一会上面所讲的东西,对我这样编程算法基础薄弱的人,也是受益匪浅。所以想把上面的一些好的算法用自己熟悉的javascript重新写一遍,加深记忆。两个整数a和b的最大公约数(GCD)定义为能除尽这两个数的那个最大的整数。在SCIP中提到了一种基于欧几里得算法...

拜占庭将军问题----口头协议

拜占庭将军问题----口头协议

拜占庭将军问题是一个共识问题: 首先由LeslieLamport与另外两人在1982年提出,被称为TheByzantineGeneralsProblem或者ByzantineFailure。核心描述是军中可能有叛徒,却要保证进攻一致,由此引申到计算领域,发展成了一种容错理论。随着比特币的出现和兴起,这个著名问...

区块链技术六大核心算法

区块链技术六大核心算法

区块链是以比特币为代表的数字加密货币体系的核心支撑技术。区块链技术的核心优势是去中心化,能够通过运用数据加密、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。 而...

几种经典的数据排序及其Java实现

几种经典的数据排序及其Java实现

选择排序思想n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为R[1..n],有序区为空。②第1趟排序在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新...

算法笔记:提取拼音首字母(Java)

算法笔记:提取拼音首字母(Java)

在很多软件中,输入拼音的首写字母就可以快速定位到某个词条。比如,在铁路售票软件中,输入:“bj”就可以定位到“北京”。怎样在自己的软件中实现这个功能呢?问题的关键在于:对每个汉字必须能计算出它的拼音首字母。GB2312汉字编码方式中,一级汉字的3755个是按照拼音顺序排列...

算法笔记:找零问题(Java实现)

算法笔记:找零问题(Java实现)

现需找零金额为n,则最少需要用多少面值为d1<d2<d3<...<dm的硬币?(PS:假设这m种面值d1<d2<d3<...<dm的硬币,其中d1=1,且每种硬币数量无限可得)本文编码思想参考自《算法设计与分析基础》第三版,具体讲解如下:  具体代码如...

海量数据处理算法总结

海量数据处理算法总结

【BloomFilter】BloomFilter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。BloomFilter有可能会出现错误判断,但不会漏掉判断。也就是BloomFilter判断元素不再集合,那肯定不在...

每个程序员都应该收藏的算法复杂度速查表

每个程序员都应该收藏的算法复杂度速查表

这篇文章覆盖了计算机科学里面常见算法的时间和空间的大O(Big-O)复杂度。我之前在参加面试前,经常需要花费很多时间从互联网上查找各种搜索和排序算法的优劣,以便我在面试时不会被问住。最近这几年,我面试了几家硅谷的初创企业和一些更大一些的公司,如Yahoo、eBay、LinkedIn和Google,每次我都需要准备这个,...