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

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 算法 >>列表
· java 字符数字组合算法发布时间:2014-11-13
从指定集合中获取元素组合成不同的字符串.组合生成类(Combination.java)importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;/****@authorhymanz506600909@qq.com**/publicclassCombination{privatechar[]base;publicCombination(char[]base){this.base=base;... 查看全文
· 简单注水算法发布时间:2014-11-13
importjava.util.Arrays;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***@version0.1*@authorQuarterLifeForJava*说明:1.思路见程序下面的图*2.未经大量反复测试*3.必有更好更精简方式,你可以写的更好*/publicclassTest{//简单测试下publicstaticvoidmain(String[]args){inttest1[]=newint[]... 查看全文
试题来源:http://student.csdn.net/mcs/programming_challenges?&page=1观看世界杯以前在学校参加每年的ACM程序设计大赛,感觉程序算法还是挺有意思的,这两天发现一个网站上放出一些算法试题,有点当年的那种心情,看到了,感觉能干掉,那就干掉它。目前还在公司守夜中,闲着没事就试了试算法题。速手打,没有详细检查,可能有瑕疵请见谅,但是读题、解题、算法设计,一个不少。if(type==1){...}这段里,虽然写的有点小复杂... 查看全文
1概述本文对比较常用且比较高效的排序算法进行了总结和解析,并贴出了比较精简的实现代码,包括选择排序、插入排序、归并排序、希尔排序、快速排序等。算法性能比较如下图所示:2选择排序选择排序的第一趟处理是从数据序列所有n个数据中选择一个最小的数据作为有序序列中的第1个元素并将它定位在第一号存储位置,第二趟处理从数据序列的n-1个数据中选择一个第二小的元素作为有序序列中的第2个元素并将它定位在第二号存储位置,依此类推,当第n... 查看全文
· C#排序算法的比较发布时间:2014-11-06
首先通过图表比较不同排序算法的时间复杂度和稳定性。排序方法平均时间最坏情况最好情况辅助空间稳定性直接插入排序O(n2)O(n2)O(n)O(1)是冒泡排序O(n2)O(n2)O(n)O(1)是简单选择排序O(n2)O(n2)O(n2)O(1)是希尔排序-O(nlog2n)~O(n2)O(nlog2n)~O(n2)O(1)否快速排序O(nlog2n)O(n2)O(nlog2n)O(log2n)否堆排序O(nlog2n)O(nlog2n)O(nlog2n)O(1)否2-路归并排序O(nlog2n... 查看全文
· 白话排序算法--快速排序发布时间:2014-11-06
前言:写到快速排序时,之前已经进行了冒泡、选择、插入排序,发现算法问题很多东西都是和实际问题相逆的,实际你可能会由外及里,由上及下,可是算法里面它有时就需要你由里往外去扩散,好比最里面的是小成果,然后一次次往外变化,成果也慢慢变大,最后直至达到最终成果为止。本篇快速排序方法因为调用了递归,你就可以逆着由里及外来思考问题。写这篇文章光画图就花费了我2小时时间,越抽象就越不好形容和比喻,画的不好,希望各位不要吐槽。快速排序:先快速排序将队列一分为二,然后对每个队列进行递归调用快速排序方法... 查看全文
在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散列表,也叫哈希表(HashTable)什么是哈希表哈希表就是一种以键-值(key-indexed)存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单... 查看全文
· 八大排序算法 转发布时间:2014-10-31
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;1.插入排序—直接插入排序(StraightInsertionSort)基本思想... 查看全文
· 排序算法之选择排序发布时间:2014-10-30
选择排序定义:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。classProgram{staticvoidMain(string[]args){int[]array=new[]{234,632,23,643,2,6,-2,423,2342,43};Console.WriteLine("排序前:");Console.WriteLine(string.Join(",",array))... 查看全文
· 排序算法之直接插入排序发布时间:2014-10-30
直接插入排序定义:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。直接插入排序属于稳定的排序,最坏时间复杂性为O(n^2),空间复杂度为O(1)。classProgram{staticvoidMain(string[]args){int[]array=new[]{234,632,23,643,2,6,-2,423,2342,43};Console.WriteLine("排序前:");Console.WriteLine(string.Join(",",array))... 查看全文
· 排序算法之冒泡排序发布时间:2014-10-30
publicvoidBubbleSort(int[]array){inti,j,temp;for(i=0;i<array.Length-1;i++){for(j=0;j<array.Length-1-i;j++){if(array[j]<array[j+1])//>升序,<降序{//交换元素temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}}foreach(intninarray){Console... 查看全文
· 算法生成太极八卦图发布时间:2014-10-30
前面一篇文章是通过算法生成一幅太极图,有道是:无极生太极,太极生两仪,两仪生四象,四象生八卦.那么这一节就为太极生成一个八卦图.八卦图衍生自汉族古代的《河图》与《洛书》,传为伏羲所作。其中《河图》演化为先天八卦,《洛书》演化为后天八卦。八卦各有三爻,“乾、坤、震、巽、坎、离、艮、兑”分立八方,象征“天、地、雷、风、水、火、山、泽”八种性质与自然现象,象征世界的变化与循环,分类方法如同五行,世间万物皆可分类归至八卦之中... 查看全文
· 记一次笔试面试题之算法发布时间:2014-10-29
快到年底了,考虑到一些情况,加之现在工作业务没那么多了,本着想在技术上想在多学点东西的想法,突然间萌生了想换工作的想法,恰好一不错的公司Hr给我说他们在招人,于是我就偷偷的给了份简历,时隔几天她给了我一份笔试题,我一看有算法题,这是我最头疼的问题,我不反对面试算法,但是我感觉很多用人单位还是要本着自己的业务水平去面试,招适合本公司业务处理,相对比较实用又符合发展的人才就行了,当你真正拿出一些很高深的算法去面试的时候,我感觉你要看看你开出来招人的预算是不是能达到答出来这些题的待遇... 查看全文
Google上周宣布更新搜索算法降低盗版网站的排名,努力将网民导向合法网站。一周之后,Google的做法确实生效了,盗版网站的搜索排名被降低之后流量大幅下降。根据Searchmetrics的报告,受算法影响最大的是一家叫free-tv-video-online.me的网站,在Searchmetrics的排名中它下降了98%,kickass.to和海盗湾thepiratebay.se也都受到很大影响,排名下降了五成左右。Google改变搜索算法对中国用户基本没影响。... 查看全文
· 常用的查找算法发布时间:2014-10-27
顺序查找二分法查找分块查找散列表查找(哈希表)顺序查找的基本思想:从表的一端开始,顺序扫描表,依次将扫描到的结点关键字和给定值(假定为a)相比较,若当前结点关键字与a相等,则查找成功;若扫描结束后,仍未找到关键字等于a的结点,则查找失败。说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效率低。适用于线性表的顺序存储结构和链式存储结构。计算平均查找长度。例如上表,查找1,需要1次,查找2需要2次,依次往下推,可知查找16需要16次,可以看出... 查看全文
· 小算法:递归实现回文判断发布时间:2014-10-23
staticvoidMain(string[]args){DateTimedt1=DateTime.Now;stringtext="abcdedcba";boolbYes=Recv(text);Console.Write("{0}:{1}回文!",text,bYes?"是":"不是");DateTimedt2=DateTime.Now;Console.Write("耗时:{0}毫秒",(dt2-dt1).TotalMilliseconds.ToString());Console... 查看全文
· Google调整搜索算法遏制盗版发布时间:2014-10-21
Google准备更新搜索算法,新加入的变化将影响全球盗版网站的排名。搜索巨人于2012年在RIAA和MPAA等版权组织的压力下作出了改变搜索算法降低盗版网站排名帮助遏制盗版的承诺,Google称新的反盗版搜索算法将在本周推出。Google还发布了报告《HowGoogleFightsPiracy》,介绍了Google的各种反盗版系统如YouTube的ContentID,透露它在2013年收到了超过2.24亿条搜索结果的DMCA删除请求,最终移除了2.22亿条结果,拒绝比率不到1%... 查看全文
· java排列组合算法代码实现发布时间:2014-10-20
原文:java排列组合算法代码实现源代码下载地址:http://www.zuidaima.com/share/1550463479024640.htmjava排列组合算法,有需要研究的童鞋可以下载,运行结果如下:packagecom.zuidaima.test;/***@authorwww.zuidaima.com**/publicclassPailie{publicstaticvoidmain(String[]args){int[]ia={1,2,3,4,5,6,7,8,9,10}... 查看全文
当你发起一项众筹时,并非每次都能达到既定的筹资目标。这里有两个问题:什么样的项目最能吸引到投资?投资人怎样找到与他们的目标相统一的项目?近日,剑桥大学一个团队表示,他们通过对已有的众筹数据进行挖掘试图去回答这两个问题。他们根据2013年7月至10月在著名众筹平台Kickstarter的数据做的算法,这个期间共有一千多个项目、近8万名投资人。同时,他们还收集了这个期间Twitter上提到“Kickstarter”的信息,共计有7万多条,如果这条信息还附带有项目链接... 查看全文
· C#快速排序算法发布时间:2014-10-13
今天重温了下排序算法,包括冒泡排序法和直接排序法,这些都比较简单,只是快速排序法比较难,于是重点研究了下。先说一说原理:快速排序法是采用递归的方式对待排序的数列进行若干次的操作,每次操作使得被操作的数列部分以某个元素为分界值分成两部分,一部分小于该分界值,另一部分大于该分界值.该分界值一般被称为"枢轴".一般先以左边第一个数作为分界值,将数列按该分界值分成左右两部分,左边部分小于该分界值,右边部分大于该分界值,然后再对左右两部分做重复的操作,直到最后完成排序。以数列14,11,25,37,9... 查看全文