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

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 算法 >>列表
<?PHP******插入排序(一维数组)1,从第一个元素开始,该元素可以认为已经被排序2,取出下一个元素,在已经排序的元素序列中从后向前扫描3,如果该元素(已排序)大于新元素,将该元素移到下一位置4,重复步骤3,直到找到已排序的元素小于或者等于新元素的位置5,将新元素插入到该位置中6,重复步骤2*/functioninsert_sort($arr){$len=count($arr);for($i=1;$i<$len;$i++){$tmp=$arr[$i];$j=$i-1... 查看全文
广度/宽度优先搜索(BFS)【算法入门】郭志伟@SYSU:raphealguo@qq.com2012/04/271.前言广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想成立的。算法导论里边会给出不少严格的证明,我想尽量写得通俗一点... 查看全文
publicclassMain1{finalstaticintMULTI_0=19;finalstaticintMULTI_1=27;/***字符串加密算法**/publicstaticvoidmain(String[]args){Stringt0="!@#$%!@#$%^&()_+HJkjk123j";byte[]tb0=t0.getBytes();//加密的byte数组byte[]temp=newbyte[tb0.length];for(inti=0,len=tb0.length... 查看全文
packagea;publicclassdigui{publicstaticvoidmain(Stringargs[]){newFeidiguiFibonacci();System.out.println(f(5));}publicstaticintf(intn){if(n==1||n==2){return1;}else{return(f(n-2)+f(n-1));}}}//求fibonacci费布尼奇数列的第n个数的算法,前一个是递归算法。... 查看全文
importjavax.crypto.Cipher;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;/***DES加解密算法(使用Base64做转码以及辅助加密)**/publicclassAES{privatestaticbyte[]iv={0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8}... 查看全文
堆排序(HeapSort)是一种应用于海量数据处理的一种常用算法,它的时间复杂度为O(nlogn),其平均时间复杂度接近与其最坏的复杂度,所以堆排序对处理大数量的数据很有优势。堆排序定义n个关键字序列Kl,K2,…,Kn称为(Heap),当且仅当该序列满足如下性质(简称为堆性质):(1)ki<=k(2i)且ki<=k(2i+1)(1≤i≤n),当然,这是小根堆,大根堆则换成>=号。//k(i)相当于二叉树的非叶结点,K(2i)则是左孩子,k(2i+1)是右孩子。换句话说... 查看全文
· 各种排序算法发布时间:2012-03-28
冒泡排序:int[]a={345,7,32,5,4,7};for(inti=0;i<a.length-1;i++){for(intj=i+1;j<a.length;j++){if(a[i]>a[j]){inttemp=a[i];a[i]=a[j];a[j]=temp;}}}for(inti=0;i<a.length;i++){System.out.println(a[i]);}快速排序(无重复值):publicclassSortTest... 查看全文
· Java 扑克发牌算法实现发布时间:2012-03-20
A.扑克发牌算法是棋牌游戏中常用的基础算法,也是游戏开发人员需要熟悉的基础算法之一。下面介绍一下该算法的一种实现方式。首先给扑克牌中每张牌设定一个编号,下面算法实现的编号规则如下:u红桃按照从小到大依次为:1-13u方块按照从小到大依次为:14-26u黑桃按照从小到大依次为:27-39u梅花按照从小到大依次为:40-52u小王为53,大王为54算法实现如下:u首先按照以上编号规则初始化一个包含108个数字的数组u每次随机从该数组中抽取一个数字,分配给保存玩家数据的数组实现该功能的代码如下所示... 查看全文
· java排序算法发布时间:2012-03-06
Java中有两个对数组排序的静态算法,这里用了小例子测试了下效率packagealgorithm;importjava.util.Arrays;importjava.util.Collections;importjava.util.List;importjava.util.Random;publicclassSortTest{publicstaticvoidmain(String[]args){int[]arr=getArr();testCollections(arr);testArrays... 查看全文
· java实现MD5算法发布时间:2012-02-23
importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;publicclassMain{publicstaticStringmd5(Stringstr){if(str==null||str.length()==0){returnnull;}else{MessageDigestMD5=null;try{MD5=MessageDigest.getInstance("md5")... 查看全文
· 威盾PHP加密专家解密算法发布时间:2012-02-08
<?php/************************************威盾PHP加密专家解密算法By:Neeao*http://Neeao.com*2009-09-10***********************************/$filename="play-js.php";//要解密的文件$lines=file($filename);//0,1,2行//第一次base64解密$content="";if(preg_match("/O0O0000O0\('... 查看全文
· crc16位算法 java 与 c# 版本发布时间:2011-12-28
前段时间做一个考勤系统,用到一个crc16的算法,于是上网搜索,很多资料,奈何版本各不相同,都不能满足现有的需求,于是还是看合作方实现的c#代码:整理如下:C#代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;classProgram{publicstaticclassCRC16{//MethodspublicstaticushortGetCRC16(byte[]inf)... 查看全文
· java排序算法综合发布时间:2011-12-20
packagetemp;importsun.misc.Sort;/***@authorzengjl*@version1.0*@since2007-08-22*@Desjava几种基本排序方法*//***SortUtil:排序方法*关于对排序方法的选择:这告诉我们,什么时候用什么排序最好。当人们渴望先知道排在前面的是谁时,*我们用选择排序;当我们不断拿到新的数并想保持已有的数始终有序时,我们用插入排序;当给出的数*列已经比较有序,只需要小幅度的调整一下时,我们用冒泡排序... 查看全文
· java 加密算法 base64发布时间:2011-12-15
<spanstyle="color:#464646;font-family:simsun;font-size:14px;line-height:21px;background-color:#ffffff;">自己写加密算法</span>?importjava.io.UnsupportedEncodingException;publicclassBase64{privatestaticchar[]base64EncodeChars=newchar[]{'A','B'... 查看全文
· 一些有意思的算法代码发布时间:2011-11-30
KeithSchwarz是一个斯坦福大学计算机科学系的硕士研究生。他对编程充满了热情。他的主页上他自己正在实现各种各样的有意思的算法和数据结构,http://www.keithschwarz.com/interesting/,目前这个网页上有88个(见下面的列表),但这位大哥要干135个,你可以看看他的To-DoList。从这个列表上,我们可以看到,他从去年7月份就在自己实现这些东西了,我把他实现的这些算法转过来,一方面我们可以学习一下这些算法和代码,因为很多东西对我来说都比较新... 查看全文
· 骰子作画的算法发布时间:2011-11-28
程序员ScottMacDonald做了一个很有趣的项目----骰子作画。他用黑底白点的骰子。模拟出一张人像照片。把图像放大,就可以看得更清楚。他一共用了2500多颗骰子。最后的成品就是这样。任何一张图片都可以用骰子模拟出来,算法非常简单:将图片分成若干个区域,每个区域经过计算以后,用1-6之间的一个整数表示,代表骰子的一个面。这种将连续的量转化成不连续的整数的算法,属于vectorquantization(矢量量化)的一个应用。具体来说,第一步,将图片分割成16像素x16像素的小方块。for... 查看全文
这是一个用java实现逆序输出一个数字的方法。比如输入12345输出54321其实在网上也能找到一个利用数学计算三行就搞定的方法,还有一个利用正则表达式的方法也都能实现。下面发上来我的代码这是第一个实现方法。是利用数学计算得来的。publicclassgetNum2{publicstaticvoidmain(String[]args){inttoarrayofintinti1=12345;while(i1>=1){System.out.println(i1%10);i1/=10;}... 查看全文
· PHP实现克鲁斯卡尔(kruscal)算法发布时间:2011-11-07
<?phprequire'edge.php';$a=array('a','b','c','d','e','f','g','h','i');$b=array('ab'=>'10','af'=>'11','gb'=>'16','fg'=>'17','bc'=>'18','bi'=>'12','ci'=>'8','cd'=>'22','di'=>'21','dg'=>'24','gh'=>'19','dh'=>'16'... 查看全文
· 如何实现数组的高效移位算法发布时间:2011-11-04
问题:编写一个能够支持数组快速移位的算法,时间复杂度在O(N)以内。答:要实现在线性的时间内实现数组的快速移动,就要考虑如何使用逆序算法来达到移动的目的。例如,我要移动的数组元素称为A,剩余的部分称为B,那么原来次序为AB,如何变成BA呢?其实根据倒置的算法是可以实现移位操作的,我们先取A'为A的逆序序列,B'为B的逆序序列,进行(A'B')'操作即可得到BA序列。实现算法如下:////main.cpp//MyProjectForCPP////Createdbylabuseron11/2/11... 查看全文
问题:请使用C/C++写一个程序实现将一个整数拆分成两个整数的平方和,把所有的可能的组合都要计算出来。答:假定输入的整数为n,则扫描1-(n的平方根)之间的整数,令row=1,column=(int)(sqrt((double)given)+0.5),使得row*row+column*column=n的数输出即可。代码如下所示:////main.cpp//MyProjectForCPP////Createdbylabuseron11/2/11... 查看全文