加密算法:平凡算法

参考:[http://www.crazycoder.cn/]算法6.1为最简单的依次比对的方法,简单易实现,然而,却有相当大的改进余地。参考:[http://www.crazycoder.cn/]设text长度为text_length, 被查找的字符串长patt_length,在平凡算法中,最少要比较patt_length次,而最坏为O(patt_length * text_length)参考:[... [阅读全文]

kmp算法vb:KMP算法

SimpleSM每次移动个而KMP算法每次移动段距离~# stdlib.h# stdio.h# .hvoid usage(char * prog){ prf(\"Usage: %s text pattern\\n\", prog); exit(123);}/*Caculate the next */void kmp_next(char * patt, pat... [阅读全文]

fft算法:BM算法

当比对每个字串时从右边开始匹配...# stdlib.h# stdio.h# .h/*Show usage*/void usage(char * prog){ prf(\"Usage: %s text pattern\\n\", prog); exit(123);}/*Get dist for \'a\' to \'z\'*/void bm_dist(char... [阅读全文]

md5加密算法:RK算法

这是个有个性算法他两位提出者都是Turing奖获得者.:)基本思想就是把串映射成个值指纹Hash...但是text太大时候预处理时间也是得考虑进来~不过最坏时候也就和平凡算法样了(还可能更坏吗...)# stdlib.h# stdio.h# .hvoid usage(char * prog){ prf(\"Usage: %s text pattern\\n\",... [阅读全文]

冒泡排序算法:冒泡排序算法研究

冒泡排序(Bubblesort)是基于交换排序的一种算法。它是依次两两比较待排序元素,若为逆序(递增或递减)则进行交换。为最简单的一种. 一般教材提供的案例是: /*冒泡法排序*/ for(i=0;iNUM-1;i++)/*外循环:控制比较趟数*/ for(j=NUM-1;ji;j--)/*内循环:进行每趟比较*/ if(data[j]data[j-1]) /*如果data[j]大于data[j-... [阅读全文]

平方根的算法:求平方数的算法

题目: 在条长长走廊上依次排列着100把锁着锁头你从把这100把锁全部打开开始(第1遍)然后你把所有序号是2倍数锁头再锁上(第2遍)接下来你依次走到所有序号是3倍数锁头前如果它是打开就把它锁上;如果它是锁上就把它打开——我们把这称为“切换锁头状态”(第3遍)你继续像这样在第N遍去切换所有序号是N倍数锁头状态当进行到第100遍时你将只切换第100把锁头状态 请问:... [阅读全文]

算法世界的十位大师

伟大智者——DonE.Knuth中文名:高德纳(1938-)算法和设计技术先驱者Oh,God!些国外网站WebSite这样评价他般说来不知道此人员是不可原谅其经典著作计算机设计艺术更是被誉为算法中“真正”圣经像KMP和LR(K)这样令人不可思议算法在此书比比皆是难怪连BillGates都说:“如果能做对书里所有习题就直接来微软上班吧!”   对于DonE.Knu... [阅读全文]

后缀表达式算法:后缀表达式求值的算法

后缀表达式的求值比较简单,扫描一遍即可完成。它需要使甩一个栈,假定用S表示,其元素类型应为操作数的类型,假定为浮点型float,用此栈存储后缀表达式中的操作数、计算过程中的中间结果以及最后结果。假定~一个后缀算术表达式以字符,@,作为结束符,并且以一个字符串的方式提供。后缀表达式求值算法的基本思路是:把包含后缀算术表达式的字符串定义为一个输入字符串流对象,每次从中读人一个字符(空格作为数据之间的分... [阅读全文]

角的度量:算法效率的度量

算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量,而度量一个程序的执行时间通常有两种方法: (1)事后统计法。因为很多计算机内部都有计时功能,有的甚至可以精确到毫秒级不同算法的程序旬以通过一组或若干组相同的统计数据以分辨优劣。但这种方法有两个缺陷:一是必须先运行依据算法编制的程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素,有时容易掩盖算法本身的优劣。因此人们常... [阅读全文]

bp神经网络:BP神经网络(C代码)

这是段不算不错代码 3层BP神经网络用于自适应用Levenberg-Maquardt法进行训练新手可以拿来研究下 #EPSILON1E-6 //3层神经网络结构 typedefstructtag_bpnnt ...{ in_n;//输入层神经元数 hidd_n;//隐层神经元数 out_n;//输出层神经元 double*in_unit;//输入层神经元 do... [阅读全文]

排列组合算法:JohnsonTrotter排列算法

#includeiostream#includecstdiousing namespace std;typedef struct {int val; int row; /*箭头指向,0表示指向左,1指向右*/}INTS;int maxmove(INTS *a,int n) /*找出最大的移动整数K的下标maxi*/{int i,maxi=-1,max=0;if(a[0].row && a[0].v... [阅读全文]

回溯算法讲解:装箱问题算法实现讲解

有一个箱子容量为V(正整数,0≤V≤20000),同时有n个物品(0≤n≤30),每个物品有一个体积(正整数)。要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 [样例]输入: 24 一个整数,表示箱子容量 6 一个整数,表示有n个物品 8 接下来n行,分别表示这n个物品的各自体积。 3 12 7 9 7输出: 0 一个整数,表示箱子剩余空间 算法分析:本题是经典问题:0-1背包的特... [阅读全文]

堆排序:堆排序算法

堆排序在最坏情况下其时间复杂度也能达到O(nlogn)相对于快速排序来说这是它最大优点此外堆排序仅需要个记录大小供交换用辅助存储空间堆排序数据结构是 2叉堆 2叉堆特点有两个个是它是棵完全 2叉树另个是它根结点小于孩子结点所以我们很容易找到它最小结点----根结点;当然如果你想找到最大结点话那就要扫描所有叶子结点这是很费时间如果你想找是最大结点话你最好把它弄成个... [阅读全文]

rsa算法:VFP算法示例RSA

*******************RSA算法示例************************ *公开密钥 n:两个素数p和q的乘积* e: 与(p-1)(q-1)互素**私人密钥 d: e的负一次方((mod(p-1)(q-1)))*加密 c=m的e次方 mod n*解密 m=c的d次方 mod n**********************************************... [阅读全文]

素数算法:求素数的算法实现方法

C++ Code:VC++ 6.0 SP6+Windows XP/////////////////////////////////////////////////////////////////////////////////#include \"iostream.h\"#include \"math.h\"int main(int argc, int* argv[]){bool isPrime=... [阅读全文]

des算法代码:m选n算法实现代码

Cmn高中数学概率论基础 为了解决一个算法题目中的一个小功能自己写的........ voidcnm1(int*a,intstart,intn,intm) { if(start==n) { for(inti=0;in;++i) couta[i]; coutendl; return; } ints=0; if(start==0) s=a[0]+1; else s=a[start-1]+1; for(... [阅读全文]

图的深度遍历:图的深度遍历源代码

这段代码好像不怎么常见,所以发上来给大家研究一下看看。 #includestdio.h #includemalloc.h #defineINFINITY32767 #defineMAX_VEX20//最大顶点个数 bool*visited;//访问标志数组 //图的邻接矩阵存储结构 typedefstruct{ char*vexs;//顶点向量 intarcs[MAX_VEX][MAX_VE... [阅读全文]

算法研究:逆序对算法研究学习

个很有趣算法哦实现思路方法很巧妙值得大家研究学习定义:对于个给定数列{An},如果有ij,且AiAj,则称(i,j)为逆序对. 要解决问题是,给出个数列,求出这个数列包含多少个逆序对 solution1:最原始思路方法就是列举两重循环代码: count_inversion(*a,N) { count=0; i,j; for(i=0;iN;i) for(j=i... [阅读全文]

加密算法源代码:字典树算法源代码

算法描述为:由字母a~z所组成的字符串的一个集合中,各个字符的长度之和为n。设计一个O(n)时间的算法,将这个集合中所有字符串依字典进行排序。注意,这里可能存在非常长的字符串。 #includestdio.h #includemalloc.h typedefstructtire { structtire*next[26]; chardate; intcnt; }*_tire; voidinit_... [阅读全文]

数独游戏源代码:数独算法源代码

数独算法相信很多人没有见过吧呵呵起来看看学习下吧/*** 数独*/public ShuDu { /**存储数字*/ n = [9][9]; /**生成随机数字源随机数字从该中产生*/ num = {1,2,3,4,5,6,7,8,9}; public void (String args) { //生成数字 for( i = 0;i 9;i){ ... [阅读全文]

算法及其实现:反转算法的实现方法

我们一起通过实例来学习一下吧,看下面这个例子:把一个32位整数按位反转,即第1位转到第32位,第2位转到第31位,依次下去。一牛人写的算法如下: unsignedintbit_reverse(unsignedintn) { n=((n1)&0x55555555)|((n1)&0xaaaaaaaa); n=((n2)&0x33333333)|((n2)&0xcccccccc); n=((n4)&0... [阅读全文]

素数算法:素数产生算法的代码

Solovag-Strasson RobertSolovag和VolkerStrasson开发了一种概率的基本测试算法。这个算法使用了雅可比函数来测试p是否为素数: (1)选择一个小于p的随机数a。 (2)如果gcd(a,p)1,那么p通不过测试,它是合数。 (3)计算j=a^(p-1)/2modp。 (4)计算雅可比符号J(a,p)。 (5)如果jJ(a,p),那么p肯定不是素数。 (6)如果j... [阅读全文]

什么是凸壳:凸壳串行算法介绍

有关凸壳串行算法可以说有好多种有时间复杂度O(n^2)也有O(nlogn)下面依次介绍几种算法:1我认为最土种思路方法时间复杂度为O(n^2) 叫做 卷包裹法由Chand 和 Kapur 于1970年提出基本思想:首先过y坐标最小点p1画条水平直线L,显然该点是凸壳个顶点然后L绕p1按逆时针方向旋转碰到S(顶点集合)中第 2个点p2时直线绕p2按逆时针旋转而在p... [阅读全文]

格雷码:格雷码算法C代码实例

格雷码是一个长度为2^n的序列,序列中无相同元素,且每个元素都是长度为n的二进制位串,相邻元素恰好只有1位不同。例如长度为2^3的格雷码为(000,001,011,010,110,111,101,100)。设计分治算法对任意的n值构造相应的格雷码。#include \"stdio.h\"void putsgray(int a[],int m){ int i; for(i=m;i0;i--) pr... [阅读全文]

旋转矩阵算法:矩阵旋转算法介绍及代码实例

题目描述:将一个N*N方阵旋转四次,再回到原来的样子,过程如下(以N=3为例):123456789741852963987654321369258147123456789现要求编程模拟该过程。算法分析: 对于该矩阵旋转,我们可采用类似堆栈的操作来实现,方法是定义两个数组,从数组1中按列取出(弹栈)数显示出来,并按行放入数组2中(压栈),然后从数组2中按原规则取出数据显示并放入数组1中,如此每进行一... [阅读全文]

链表的算法:拷贝链表的O(n)算法代码

拷贝链表O(n)算法不知道大家接触过没有下面来看他结构和实现代码如结构:struct List{ struct List* data; struct List* next;};其中next为下个节点data指向链表中随机个节点实现拷贝:struct List * CopyList(struct List* head){}要求返回个新链表注意:1、新链表中节点d... [阅读全文]

最短路径算法:floyd最短路径算法的实现方法

floyd最短路径算法实现思路方法很多人可能还不清除看了下面这段代码你应该能基本了解floyd最短路径算法了#stdio.h\" align=top#.h\" align=top#stdlib.h\" align=top#conio.h\" align=top#MAX_NAME20\" align=top#MAX_INFO200\" align=toptype... [阅读全文]

crc32算法:crc32算法介绍附C#版

最近项目中要用到crc32算法项目组数据层技术员给了个perl里面crc32算法版本(c语言),自己修改后改成c#版本了c版本:# stdio.hunsigned crcTable[256] = {0x0, 0x77073096, 0xee0e612c, 0x990951ba, 0x76dc419, 0x706af48f, 0xe963a535, 0x9e64... [阅读全文]

寻路算法java:用JAVA写的一个寻路算法

在我了解到“寻路算法”这一说法后,明白A与A*算法前,曾经自己认真思考过,最后在梦里得到了一种寻路算法。基于几何的。下面是图。        ●Start    A********BC******D E*****F        ●END 假如从Start出发要去End,最短路线应该是Start到End的线段。于是联结两点。然后在中间遇到障碍物AB。这个时候线段被阻隔。于是向两方向旋转直到Star... [阅读全文]

循环冗余校验码:循环冗余校验算法的实现方法

CRC全称为CyclicRedundancyCheck中文名称为循环冗余校验它是类重要线性分组码编码和解码思路方法简单检错和纠错能力强在通信领域广泛地用于实现差错控制实际上除数据通信外CRC在其它很多领域也是大有用武的地例如我们读软盘上文件以及解压个ZIP文件时偶尔会碰到“BadCRC”由此它在数据存储方面应用可略见斑 差错控制理论是在代数理论基础上建立起来... [阅读全文]
<< < 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 > >> 共792条 分27页