算法_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 算法 >>列表
· 为什么Android使用弱加密算法?发布时间:2013-10-15
Android2.2.1默认使用的加密算法是AES256-SHA1,但从2010年发布的Android2.3开始,它默认使用的是一种更弱的加密算法RC4-MD5。当Android应用建立SSL加密连接,如果没有指定的话它将默认使用RC4-MD5进行加密。有人可能会怀疑美国国家安全局(NSA)收买了Android开发者以降低破解加密连接监视Android用户的难度。但GeorgLukas在分析了Android源代码之后发现,默认加密算法的次序是Sun/甲骨文的Java定义的... 查看全文
英文原文:Arealgorithms(andefficiencyingeneral)gettinglessimportant?本文翻译自程序员的问答社区stackexchange.com上的一个问题。追求算法(特别是普遍高效的)已经不再重要?因为现在计算机硬件的成本,比起以前已经很便宜,是否意味着算法和改进算法的技能已经不那么重要了?大部分时候,只要别写出一个死循环就行了。但当你拥有了强悍的硬件,是不是意味着烂代码也不是什么大问题?PavelZaichenkov11票:我特别喜欢《算法导论... 查看全文
· 指定概率的一个算法发布时间:2013-10-09
5个概率,分别返回值指定的一个数值,大家瞧瞧还有什么问题没。privatestaticIntegerresizableProbabilityOf5(doublep1,doublep2,doublep3,doublep4,doublep5){if(p1+p2+p3+p4+p5>1){thrownewIllegalArgumentException("传入参数错误,概率之和不能大于1");}Randomr=newRandom();intn=r.nextInt(100000);intnum=0... 查看全文
问题:给定任意一个正整数,求比这个数大且最小的“不重复数”,“不重复数”的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数。——引自百度2014校招笔试题目题解问题的提法:为代码简便,将问题等价地改为,求大于等于指定正整数的不重复数。由find()函数实现。调用:find(i+1u)原型:unsignedfind(unsigned);算法:以19922884u为例。首先确定高位是否是重复数... 查看全文
前言近期有个项目需要用到号码归属查询,归属地数据库可能比不上ip138,淘宝上也有卖的-,-!文本提供一个279188条记录并压缩成562KB的归属地数据。我在互联网上搜索了相关文章,要不是数据库查询或者是访问网上的api,到底有没有更好的方式,我想各大手机软件的归属地都是属于本地查询的。当我发现了AndroidJni使用C++对二进制文件查询这篇文章,发现效率真是高,作者的算法也相当出色。于是直接把它用C#来实现了一个版本,并且加上号码的类型,效率上没相差太多,起码我们的项目已经够用了... 查看全文
前言近期有个项目需要用到号码归属查询,归属地数据库可能比不上ip138,淘宝上也有卖的-,-!文本提供一个279188条记录并压缩成562KB的归属地数据。我在互联网上搜索了相关文章,要不是数据库查询或者是访问网上的api,到底有没有更好的方式,我想各大手机软件的归属地都是属于本地查询的。当我发现了AndroidJni使用C++对二进制文件查询这篇文章,发现效率真是高,作者的算法也相当出色。于是直接把它用C#来实现了一个版本,并且加上号码的类型,效率上没相差太多,起码我们的项目已经够用了... 查看全文
研究人员发现Google、微软、雅虎等广泛使用的哈希加密算法存在拒绝服务漏洞。攻击针对哈希算法允许多个哈希碰撞发生的弱点,导致任何使用这些哈希的应用程序迅速超负荷(即出现拒绝服务状况)。存在漏洞的哈希算法包括了流行的MurmurHash算法,Python使用的一种哈希,Google的CityHash和微软的.NetMarvin32哈希。SipHash哈希未受影响,已被Mozilla、OpenDNS、Perl5、Rust和Rails采用。研究人员去年中就向甲骨文报告了Java的哈希漏洞... 查看全文
你能想象一个致力于打破语言障碍的项目小组里竟然没有一位语言学家吗?但是谷歌就是这么做了,这家公司打算依靠算法和大数据最终“干掉”语言学家。Google是一家极度看重算法、充满工程师文化的公司,但或许你还是会为此而感到惊奇——他们认为翻译是一个数学和统计学方面的问题。最近,位于Google总部的GoogleTranslate团队正迅速扩张,他们新招了数名德国计算机科学家,但却没有招收一名语言学家... 查看全文
· 24点算法的Java低级简易实现发布时间:2013-09-16
packagetest;/***@authorQuarterLifeForJava*/publicclassTest{publicstaticvoidmain(String[]args){intx[]={8,8,3,3};inty[]=newint[x.length];for(inta=0;a<4;a++){for(intb=0;b<4;b++){for(intc=0;c<4;c++){for(intd=0;d<4;d++){if(a!=b&&b... 查看全文
· Dota分组算法发布时间:2013-09-13
今天群里的同学说要写一个dota分组算法,即有一个数组,数组里面的元素是他各个同事的战斗力,问有没有什么算法能将他们按战斗力尽可能的分成两组。开始我没有很好地想法,想dota最多十个人,用枚举也不会太久,不过后来受群里讨论的启发,实现了如下方法:zdl=[1,2,3,4,5,6,7,8,9,10000000]#zdl=[1,2,3,4,5,6,7,8,9,10]defpartitionarrifarr.size.even?a,b=arr[0,arr.size/2],arr[arr.size/2... 查看全文
· 二分查找算法(Binary Search)发布时间:2013-09-13
项目中遇到需要从数组中查找数据,但是算法很多,于是根据项目需求,选定了二分查找算法!二分法检索(binarysearch)又称折半检索,二分法检索的基本思想是设字典中的元素从小到大有序地存放在数组(array)中。所以使用二分查找算法要求数组是已经排好序的数组!排序代码:java.util.Arrays.sort(Object[]a)查找代码:java.util.Arrays.binarySearch(Object[]a,Objectkey)二分查找算法(BinarySearch... 查看全文
· 常见内部排序算法之归并排序发布时间:2013-09-12
常见内部排序算法之归并排序来自百度百科的解释:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的(一开始每个子序列只有一个,也是有序)。然后再把有序子序列合并为整体有序序列。算法描述:归并操作的过程如下:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列设定两个指针,最初位置分别为两个已经排序序列的起始位置比较两个指针所指向的元素,选择相对小的元素放入到合并空间... 查看全文
· 常见内部排序算法之插入排序发布时间:2013-09-11
常见内部排序算法之插入排序今天来写写插入排序算法,包括直接插入,折半插入,希尔排序(Shell)。插入插入,就是将数组分成已排序,未排序,然后将未排序中的第一个插入已排序中的适合位置,这样,未排序越来越少,直到没有就算排序完成!而默认开始则是第一个是已排序,剩下的则是未排序。直接插入算法:packagetest.aglorith;importjava.util.Arrays;publicclassInsertSort{publicstaticvoidsort(int[]data)... 查看全文
· 常见内部排序算法之交换排序发布时间:2013-09-09
交换排序,就是不断的交换,一直到适合为止。选择排序主要是不断的选择,然后才交换。交换排序有两种:冒泡排序:就像是气泡一样,小的(轻的)一直向上浮动。从最后一个开始一直向前比较,如果比较它小的话就交换。一直滚到最前(相对,如果前面已经循环一次了,则是第二位)。下面是代码:(下降,大的往后排)packagetest.aglorith;importjava.util.Arrays;publicclassBubbleSort{publicstaticvoidsort(int[]data)... 查看全文
· 常见内部排序算法之选择排序发布时间:2013-09-09
常见内部排序算法包括选择排序算法,交换排序算法,插入排序算法,基数算法,桶式算法还有归并算法。其中选择排序算法又包括:简单选择排序算法与堆排序。选择算法,顾名思义,就是从中选择需要的,然后再与目标地址进行交换。简单选择排序算法:packagetest.aglorith;publicclassSelectSort{//从小到大publicvoidsort(int[]data){intdata_len=data.length;for(inti=0;i<data_len;i++)... 查看全文
· 面试时复习的几个排序算法发布时间:2013-08-31
前段时间面试时复习的几个排序算法。一、冒泡排序:packagecom.sort.test;publicclassBubbleSortTest{publicstaticvoidmain(String[]args){int[]data5=newint[]{5,3,6,2,1,9,4,8,7};print(data5);bubbleSort(data5);System.out.println("排序后的数组:");print(data5);}publicstaticvoidswap... 查看全文
· 快速排序算法发布时间:2013-08-28
快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。算法是:1)设置两个变量I、J... 查看全文
· memchched分布式一致性算法实现发布时间:2013-08-28
importjava.util.Collection;importjava.util.SortedMap;importjava.util.TreeMap;publicclassConsistentHash<T>{privatefinalHashFunctionhashFunction;privatefinalintnumberOfReplicas;privatefinalSortedMap<Integer,T>circle=newTreeMap<Integer... 查看全文
· Reddit排名算法工作原理发布时间:2013-08-27
英文原文:HowRedditrankingalgorithmswork这是一篇继《HackerNews排名算法工作原理》之后的又一篇关于排名算法的文章。这次我将跟大家探讨一下Reddit的文章排名算法和评论排名算法的工作原理。Reddit使用的算法也是很简单,容易理解和实现。这篇文章里我将会对其进行深入分析。首先我们关注的是文章排名算法。第二部分将重点介绍评论排名算法,Reddit的评论排名跟文章排名使用的不是同一种算法(这点跟HackerNews不一样),Reddit的评论排名算法非常有趣... 查看全文
研究机构Fiksu日前发布报告显示,苹果在7月底悄悄修改了应用商店(AppStore)和iTunes中应用排行的算法,而新算法首次将用户对应用评级纳入排行时参考的因素。根据Fiksu,在7月份前,苹果应用排行的算法一般只参考应用的“下载数量”和“下载速度”。但是在7月底,Fiksu研究员发现,部分应用的排名出现令人意外的上升和下降,而这些应用在“下载数量”和“下载速度”方面却没有呈现相应的变化... 查看全文