【算法日记 four】教程文章相关的互联网学习教程文章

最大网络流——增广路算法【代码】【图】

几句废话:读了刘汝佳的书之后,感觉一切都是那么茫然,于是自己在网上找教程,自己一点点码的,大概用了三天。网络流基础:看来我很有必要说一下网络流的基础网络流问题就是给你一个图,每个图的边权叫做这条边的流量,问你从起始点出发,有多少值能通过这些边流到重点我知道你没看懂,举个例子:如图:最大值为从1到2到4运6个从1到2到3到4运1个从1到3到4运3个一共运10个。举例说完了,那么我说几个定义:容量,就只一条边的权值,...

算法导论三剑客之 动态规划 0-1背包问题【代码】

1 #include "iostream" 2usingnamespace std;3 4float MAX(float m1,float m2){5if(m1>=m2)6return m1;7else 8return m2;9} 1011float bag_Zero_One(int n,float v,float p[],float w[]){ 12if(n==0||v==0) 13return0; 14else{ 15float m2; 1617 m2=bag_Zero_One(n-1,v,p,w); 18if(v>=w[n]){ 19float m1; 20 m1=bag_Zero_One(n-1,v-w[n],p,w)+p[n]; 21 m2=MAX(m1,m2); 22 } 23return m2; 2...

JS随机数生成算法【代码】

------------------------------------------知乎上边淘到的知识,又学到了~http://www.zhihu.com/question/22818104------------------------------------------ 见到这个随机数生成算法好几次了,乍看有点鸡肋本来用Math.random()就可以的事。想不清楚为什么他要用9301,49297,233280这三个数字?其中有道理吗?还是仅是随意选的三个数?但是这个组合貌似流传很广。好多小网站源码里都见到过。functionrnd(seed){seed=(seed*9301+...

HttpWebRequest 基础连接已经关闭: 接收时发生错误 GetRequestStream 因为算法不同,客户端和服务器无法通信。【代码】

在代码行 HttpWebRequest objRequest = (HttpWebRequest)HttpWebRequest.Create(sUrl前面加上ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; 。https禁用TLS1.0 开启TLS1.2 就会报这个错误。我感觉是链接数据库时通讯失败造成的。官放的读不大懂。。。原文:https://www.cnblogs.com/lonelyxmas/p/11148916.html

7月目标 socket , 一致性哈希算法 ; mongodb分片; 分布式消息队列; 中间件的使用场景【图】

分布式的基础:一致性哈希 路由算法的一致性hashhttp://www.jiacheo.org/blog/174http://www.tuicool.com/articles/vQVbmaihttp://www.cnblogs.com/huangxincheng/p/3708316.html redis 和 mongodb的使用,要能自己写 helper帮助类,和多台机器上的使用 sockethttp://www.cnblogs.com/JimmyZhang/archive/2008/09/07/1286300.htmlsocket一般都是用在控制台、form程序(winform、wpf)等能够持续运行的环境。asp.net也可以使用(你可以...

CRC32算法【代码】

1 unsigned int table[256] = 2{30x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,40x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,50x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,60x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D6...

树,二叉树和算法总结【代码】【图】

一.思维导图二.概念笔记树的存储结构双亲表示法:当算法中需要在树结构中频繁地查找某结点的父结点时,使用双亲表示法最合适 孩子表示法:适用于查找某结点的孩子结点 孩子兄弟表示法:可以用孩子兄弟表示法将普通树转化为二叉树二叉树的性质性质一: 在二叉树的第k层上最多有2^(k-1)个结点 性质二: 高度为k的二叉树至多有2^k-1个结点,最少有k个结点 性质三: 对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0 = n2 + ...

各种加密算法比较【图】

算法选择:对称加密AES,非对称加密: ECC,消息摘要: MD5,数字签名:DSA对称加密算法(加解密密钥相同)名称密钥长度运算速度安全性资源消耗DES56位较快低中3DES112位或168位慢中高AES128、192、256位快高低 非对称算法(加密密钥和解密密钥不同)名称成熟度安全性(取决于密钥长度)运算速度资源消耗RSA高高慢高DSA高高慢只能用于数字签名ECC低高快低(计算量小,存储空间占用小,带宽要求低) 散列算法比较名称安全性速度SHA-1高慢MD5中快 ...

HMAC-SHA1算法签名及Authorization头认证【代码】

使用PHP进行HMAC-SHA1签名,并通过Authorization头认证Deom $app_id = ‘id‘; $host = "test.abc.com"; $port = "80"; $app_Key = "key"; $app_timestamp = time(); $app_nonce = "8FINtYTUsKbSZGfl".time().rand(10,1000); $uri = "/account/ass/verify.do";//build string$arr = array($app_timestamp, $app_nonce, "POST", $uri, $host, $port); $text = join("\n", $arr) . "\n\n"; var_dump($text); $sig = get_signature($t...

python实现排序算法(一)——插入排序算法【代码】

1‘‘‘ 2插入排序算法3原始数据data4排序数据后数据SortedData,默认是从小打大排序5 61.从data第一个元素开始,该元素赋值给SortedData[0],可以认为SortedData已经被排序 7 82.取出data的一个元素data[i],9 (1)从左到右扫描SortedData, 10 如果data[i]小于SortedData的某个元素SD,那么将data[i]插入SD的位置,选取下一个元素 11 (1)如果data[i]大于SortedData最后一个元素,将data[1]插入到SortedData的末尾,选取下...

C/C++算法竞赛入门经典Page15 习题1-1 平均数【代码】

题目:输入3个整数,输出他们的平均值,保留3位小数。 首先,声明三个整数a,b,c和一个浮点数d:int a,b,c; double d;输入三个整数a,b,c:scanf("%d%d%d",&a,&b,&c);将a,b,c取平均值以后复制给d:d=(double)(a+b+c)/3;最后输出d:printf("%.3lf",d);%.3lf表示保留3位小数的long float。注意:不能直接这样输出:printf("%.3lf",(a+b+c)/3);否则会得到不正确的输出。完整代码://P15 习题1-1 平均数 //疑问:为什么不能直接printf("%.3lf",(a+b...

LeetCode面试题 08.12. 八皇后---回溯算法解决N皇后问题(C++实现)【代码】

N皇后问题源于著名的八皇后问题:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法!将8x8扩展为NxN即为N皇后问题,要解决此问题,最简单的方法就是暴力枚举,此时的时间复杂度为N^2,回溯算法与简单暴力枚举类似,不同点在于当判定某种状态不符合答案时,便不再继续枚举此状态的后续状态,而是回溯到该状态之前,继续遍历其他的可能值。 1 #include <ios...

十大经典排序算法【代码】【图】

算法复杂度 1、冒泡排序  冒泡排序(Bubble sort),他重复的走访要排序的数列,一次比较两个元素,如果顺序错误,就将它们交换位置。无论是最坏时间复杂度还是平均时间复杂度都为O(n^2),但算法稳定  算法步骤:  1、比较相邻的两个元素,如果第一个比第二个大,就交换,对每一对相邻元素做同样的工作,从开始到结束,这一趟结束之后,最后那个元素就是最大的数  2、对所有的元素重复以上步骤1,除了最后一个元素  3、持...

记一道有意思的算法题Rotate Image(旋转图像)【代码】

题出自https://leetcode.com/problems/rotate-image/ 内容为:You are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Follow up: Could you do this in-place?简单的说就是给出一个n*n的二维数组,然后把这个数组进行90度顺时针旋转,而且不能使用额外的存储空间。最初拿到这道题想到的就是找出每个坐标的旋转规律。假设我们是2*2的矩阵:a b c d进行旋转后,那么就变成了:c a ...

基础算法之选择排序【代码】【图】

选择排序的思路比较简单,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。选择排序虽然实现起来比较简单,但是效率也比较低, 为O(n2)。C语言的代码实现如下 : 1//选择排序的C语言实现 2void selection_sort(int a[])3{4int i , j;5int min = 0;6for(i=0; i<MAXSIZE-1; i++)7 {8for(j=i; j<MAXSIZE; j++)9 { 10if(a[j] <= a[min]) { 11 ...