Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

关于推荐算法的讨论

关于推荐算法的讨论

关于推荐算法的讨论2013-08-17 infoq 霍泰稳于笔者而言,虽然也曾从事过技术研发相关的工作,但是对算法这类很“高深”和数学关系又比较紧密的技术来说,要 真正地了解起来确实是一个难度很大的动作。但是在笔者参加了一些和算法以及推荐系统相关的活动之后,发现这一高深的 学问已经被从事软件开发的朋友应用的非常广泛。特别是在电商火爆的今天,各种和推荐相关的网站风起云涌,算法进入平 常百姓家也就是水到渠成了。这也是为什么InfoQ在2...
算法研究:深入研究Lvs调度策略

算法研究:深入研究Lvs调度策略

算法研究:深入研究Lvs调度策略2013-08-18Lvs基本问题:在ipvsadm 的用法中,很多文档对于persistent参数是这样说明的。-p –persistent [timeout]持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。“来自同一个客户”该怎么理解呢,是基于IP的客户端还是基于浏览器客户端的Cookie呢,应该是基于源地址....
详解.Net下的加密解密算法(4) 玩转Hash加密

详解.Net下的加密解密算法(4) 玩转Hash加密

详解.Net下的加密解密算法(4) 玩转Hash加密2013-08-19 csdn ghostbear在本系列文章的第一部分里,我们感性的认识了.Net下的几种常用的Hash加密。虽然这些功能强大的代码碎片能解决你目前碰到的hash任务,但却不利于后期维护。好吧,我们就把他们糅合到一起吧,是时候给他们打扮下啦。文章第部分提到的哈希算法有:MD5,SHA1,SHA256,SHA384,SHA512。5种算法,但功能都一致:就是把输入的数据进行哈希处理。好吧,...
详解.Net下的加密解密算法(5) 玩转对称加密

详解.Net下的加密解密算法(5) 玩转对称加密

详解.Net下的加密解密算法(5) 玩转对称加密2013-08-19 ghostbear 上篇博文介绍了怎么玩转Hash算法,不过那篇文章没有交代清楚。这篇博文我将力争将那些没交代清楚的东东都说明白了。当然本文的主题是玩转对称加密。.NET下的对称加密技术主要有这么几种:DES,AES,Rijndael,TripleDES(3DES)。现在就来玩转它们吧!与上篇博文一样,首先创建一个接口:“IEncryptAndDecrypt”,然...
详解.Net下的加密解密算法(6) 玩转非对称加密

详解.Net下的加密解密算法(6) 玩转非对称加密

详解.Net下的加密解密算法(6) 玩转非对称加密2013-08-19 csdn ghostbear本博文来聊聊怎么玩转非对称加密吧,这里主要介绍.NET算法下的3种非对称加密算法:DSA,RSA,ECDsa。上两篇博文分别为Hash家族和非对称加密家族找到了lead,现在我们就为非对称加密技术找个合适的lead吧。首先创建一个接口:“IEncryptAndDecrypt”,然后为上面的3中算法分别创建3个实现类并让这些类实现接口&...
希尔排序算法的实现

希尔排序算法的实现

希尔排序算法的实现2013-08-19希尔排序(shellsort)又叫增量递减(diminishing increment)排序,是由D.L. Shell发明的,这个算法是通过一个逐渐减小的增量使一个数组逐渐趋近于有序从而达到排序的目的。假设有一个数组int data[16] = {...}。 首先将这个增量设为16 / 2 = 8,这样就将这个数组分成了8个子数组,它们的索引是0, 8 1, 9 2, 10等等 。对这些子数组进行排序。然后再使增量...
算法研究:AOE网与关键路径简介

算法研究:AOE网与关键路径简介

算法研究:AOE网与关键路径简介2013-08-20 csdn Simba888888前面我们说过的拓扑排序主要是为解决一个工程能否顺序进行的问题,但有时我们还需要解决工程完成需要的最短时间问题。如果我们要对一个流程图获得最短时间,就必须要分析它们的拓扑关系,并且找到当中最关键的流程,这个流程的时间就是最短时间。在前面讲了AOV网的基础上,来介绍一个新的概念。在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,用边上的权值表示活动的持续时间,这...
算法研究:AOV网与拓扑排序

算法研究:AOV网与拓扑排序

算法研究:AOV网与拓扑排序2013-08-20 csdn Simba888888在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称之为AOV网(Activity on Vextex Network)。AOV网中的弧表示活动之间存在的某种制约关系,AOV网中不能存在回路,让某个活动的开始要以自己完成作为先决条件,显然是不可以的。设G= { V, E }是一个具有n个顶点的有向图,V中的顶点序列v1,...
算法研究:堆栈与深度优先搜索(迷宫问题)

算法研究:堆栈与深度优先搜索(迷宫问题)

算法研究:堆栈与深度优先搜索(迷宫问题)2013-08-20 csdn Simba888888堆栈的访问规则被限制为Push和Pop两种操作,Push(入栈或压栈)向栈顶添加元素,Pop(出栈或弹出)则取出当前栈顶的元素,也就是说,只能访问栈顶元素而不能访问栈中其它元素。现在我们用堆栈解决一个有意思的问题,定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1...
算法研究:二叉排序树及其图形化

算法研究:二叉排序树及其图形化

算法研究:二叉排序树及其图形化2013-08-20 csdn Simba888888二叉排序树(BST,Binary Sort Tree)具有这样的性质:对于二叉树中的任意节点,如果它有左子树或右子树,则该节点的数据成员大于左子树所有节点的数据成员,且小于右子树所有节点的数据成员。排序二叉树的中序遍历结果是从小到大排列的。二叉排序树的查找和插入比较好理解,主要来看一下删除时的情况。如果需要查找并删除如图8-6-8中的37, 51, 73,93这些在二叉排序...
算法研究:静态查找表

算法研究:静态查找表

算法研究:静态查找表2013-08-21查找表(Search table)是由同一类型的数据元素(或记录)构成的集合。关键字(key)是数据元素中某个数据项的值, 又称为键值,用它可以表示一个数据元素,也可以标识一个记录的数据项(字段),称之为关键码。若此关键字可以唯一地 标识一个记录,则称此关键字为主关键字(primary key)。而对于那些可以识别多个数据元素(或记录)的关键字,称为次 关键字(Secondary Key),次关键字也可以理解为不以唯...
算法研究:求解AOE网的关键路径

算法研究:求解AOE网的关键路径

算法研究:求解AOE网的关键路径2013-08-21 csdn Simba888888前面我们简要地介绍了AOE网和关键路径的一些概念,本文接着对求解关键路径程序的主要函数进行分析。现有一AOE网 图如图7-9-4所示,我们使用邻接表存储结构,注意与拓扑排序时邻接表结构不同的地方在于,这里弧表结点增加了weight 域,用来存储弧的权值。求解事件的最早发生时间etv的过程,就是我 们从头至尾找拓扑序列的过程,因此在求关键路径之前,需要先调用一次拓扑序列算法...
算法研究:图的广度优先遍历

算法研究:图的广度优先遍历

算法研究:图的广度优先遍历2013-08-21 csdn Simba888888图的遍历和树的遍历类似,我们希望从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程 就叫做图的遍历(Traverse Graph)。图的遍历方法一般有两种,第一种是我们在前面讲过的《深度优先遍历 (Depth First Search)》,也有称为深度优先搜索,简称为DFS。第二种是广度优先遍历(Breadth First Search), 也有称为广度优...
算法研究:图的深度优先遍历

算法研究:图的深度优先遍历

算法研究:图的深度优先遍历2013-08-21 csdn Simba888888图的遍历和树的遍历类似,我们希望从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程 就叫做图的遍历(Traverse Graph)。图的遍历方法一般有两种,第一种是深度优先遍历(Depth First Search),也 有称为深度优先搜索,简称为DFS。第二种是《广度优先遍历(Breadth First Search)》,也有称为广度优先搜索, 简称为B...
算法研究:图解最小生成树之克鲁斯卡尔算法

算法研究:图解最小生成树之克鲁斯卡尔算法

算法研究:图解最小生成树之克鲁斯卡尔算法2013-08-21 csdn Simba888888我们在前面讲过的《克里姆算法》是以某个顶点为起点,逐步找各顶点上最小权值的边来构建最小生成树的。同样的思 路,我们也可以直接就以边为目标去构建,因为权值为边上,直接找最小权值的边来构建生成树也是很自然的想法,只不过 构建时要考虑是否会形成环而已,此时我们就用到了图的存储结构中的边集数组结构,如图7-6-7假设现在我们已经通 过邻接矩阵得到了边集数组edges并按权...
<< 61 62 63 64 65 66 67 68 69 70 >>