06 2011 档案
摘要:将目录C:/Windows/System32/drivers/etc下的hosts进行修改。添加内容Google code66.249.89.104 code.google.com66.249.80.104 code.google-com.proxy.qq.com66.249.80.104 encrypted.google.com66.249.80.104 suggestqueries.google.com66.249.80.104 mail.google.com66.249.80.104 groups.google.com66.249.80.104 groups.google.com.hk6
阅读全文
摘要:1.编辑距离编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。俄罗斯科学家Vladimir Levenshtein在1965年提出这个概念。例如将kitten一字转成sitting:sitten (k→s)sittin (e→i)sitting (→g)最小编辑距离代码实例View Code #include<iostream>#include<stdlib.h>#include<stdio.h>#i
阅读全文
摘要:http://www.cnblogs.com/wxbjs/articles/1507657.html一、什么是算法算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n的函数f(n),算法执行的时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度(Asymp
阅读全文
摘要:1.解析Prim算法和Dijkstra算法非常类似,他们的伪码几乎相近,只是他们优先队列所排序的键值不同而已。Prim算法的键值为节点与集合S中顶点间的最轻边的权重,而在Dijkstra算法中,键值为由起始点到某节点的完整路径长度。在后面的博客中会说明最小生成树MST与最短路径的区别。2.代码实例#include<iostream> #include<malloc.h> #include<queue> #include <algorithm> #include<stdlib.h> #include<functional>u
阅读全文
摘要:转自:http://blog.csdn.net/whwjn/archive/2006/04/20/670852.aspx1.进程与线程进程和线程是两个相对的概念,通常来说,一个进程可以定义程序的一个实例(Instance)。在Win32中,进程并不执行什么,它只是占据应用程序所使用的地址空间。为了让进程完成一定的工作,进程必须至少占有一个线程,正是这个线程负责包含进程地址空间中的代码。实际上,一个进程可以包含几个线程,它们可以同时执行进程地址空间中的代码。为了做到这一点,每个线程有自己的一组CPU寄存器和堆栈。每个进程中至少有一个线程在执行其地址空间中的代码。如果没有线程执行进程地址空间中的代
阅读全文
摘要:1.说明这个快速排序算法是对前面的快速排序算法QuickSort一种改进。只是修改了int Partition(int arry[],int start,int end)这个方法。2.思路仔细观察我们可以发现,我们前面Partition方法中,都需要swap(arry,start,end),但是这一步中有些步骤是可以省略的。在(<-end)过程中,碰到第一个小于等于pivot的元素时,只需要进行一次赋值arry[start]=arry[end];因为当前的arry[start]是值就是pivot;在(start->)过程中,碰到第一个大于等于pivot的元素之,只需要进行一次赋值a
阅读全文
摘要:1.说明快速排序法(quicksort)是目前所公认最快的排序方法之一(视解题的对象而定),虽然快速排序法在最差状况下可以达O(n2),但是在多数的情况下,快速排序法的效率表现是相当不错的。快速排序法的基本精神是在数列中找出适当的轴心,然后将数列一分为二,分别对左边与右边数列进行排序,而影响快速排序法效率的正是轴心的选择。这边所介绍的第一个快速排序法版本,是在多数的教科书上所提及的版本,因为它最容易理解,也最符合轴心分割与左右进行排序的概念,适合对初学者进行讲解。2.解法这边所介绍的快速演算如下:一趟快速排序的算法是:设置两个变量start、end,排序开始的时候:start=1,end=N;
阅读全文
摘要:1.解析while循环其实不是只循环V-1次,因为如果找出的边能够形成环的话,这条边并不是我们需要的边,所以本次循环无效。while循环中其实包含了找出最小的功能,这个其实可以通过单独的一个函数来实现。就是按边长度升序来排列。kruskal算法其实是一个找边的算法,对于一V个顶点的图,必定由V-1条边构成一个最小生成树,那么按边的权值遍历图每一条边。判断如果添加这条选出的当前权最小的边,图中会不会生成一个环,如果生成环,则当前找到的这条边无效,继续找下一条权值最小边。每找出一条边,相当于图中合并了两个连通部件(初始化是一个顶点算一个连通部件),因此找到V-1条边就相当于是将原来分离的V个连通部
阅读全文
摘要:更新所有的边,每条边更新V-1次,时间复杂度为O(V*E).有些更新操作是重复了的,这里可以考虑检查多余的重复操作作,如果没有更新发生,则立即终止算法。#include<iostream> #include<malloc.h> #include<queue> #include <algorithm> #include<stdlib.h> #include<functional>using namespace std; #define maxNum 100 //定义邻接举证的最大定点数 #define maxWeight 1
阅读全文
摘要:1.解析该算法其实就是广度优先算法的改版,只是将广度优先算法中的普通队列改为了这里的优先队列。2.算法实例#include<iostream> #include<malloc.h> #include<queue> #include <algorithm> #include<stdlib.h> #include<functional>using namespace std; #define maxNum 100 //定义邻接举证的最大定点数 #define maxWeight 1000000 //边权最大值 //顶点信息ty
阅读全文
摘要:本文实现的Dijkstra算法是最简单的方法,就是暴力搜索,其时间复杂度为O(V^2),后面会使用优先队列的方法,修改广度优先遍历来实现Dijkstra算法,这样的算法时间复杂度上会有所改善。代码实例:/*参考文献:http://baike.baidu.com/view/7839.htm算法流程:在以下说明中,s为源,w[u,v]为点u和v之间的边的长度,结果保存在dist[]1.初始化:源的距离dist[s]设为0,其他的点距离设为无穷大,同时把所有的点的状态设为没有扩展过。2.循环n-1次: 在没有扩展过的点中取一距离最小的点u,并将其状态设为已扩展。 对于每个与u相邻的点v,执行Rel.
阅读全文
摘要:1.Ctrl+A选中要整理的代码2.Ctrl+K3.Ctrl+F
阅读全文
摘要:1.前言复习算法第四章——图中的路径,首先完成算法广度优先遍历,其中使用到了队列结构2.参考资料http://blog.csdn.net/lengyuhong/archive/2010/01/06/5145100.aspx3.相关博客在之前的博客中完成了图的深度优先遍历,也是使用邻接矩阵表示法。图的深度优先遍历(邻接矩阵表示法)4.代码实现#include<iostream> #include<malloc.h> #include<queue>#include<stdlib.h>using namespace std; #define maxNu
阅读全文
摘要:发现在平常的编码中,stack和queue用到的频率都非常高,自己写一个stack和queue又显得麻烦,今天特地研究如何使用STL中的stack和queue。研究的并不输入,只是一些简单用法而已。下面附上我的stack和queue使用代码#include<iostream>#include<stack>#include<queue>#include<stdlib.h>//system("pause");需要用到using namespace std;int main(){ stack<int> s; queue&
阅读全文
摘要:没有找到原文出处,请参考一下链接:http://www.cnblogs.com/hiside/archive/2010/12/01/1893878.htmlhttp://topic.csdn.net/u/20071023/11/3edb81fc-37b2-4506-906e-44dc0fc521f2.html一、无向图:方法1:如果存在回路,则必存在一个子图,是一个环路。环路中所有顶点的度>=2。 n算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一。 第二步:将度数变为1的顶点排入队列,并从该队列中取出一个顶点重复步骤一。 如果最后还有未删除
阅读全文
摘要:1.前言期末复习算法,第三章讲到了图,所以想将课本中的算法实现。当写完代码的时候才发现这样的复习效率太低了,看书复习是复习,写代码是写代码。不过写完以后还是有点成就感的。2.参考文献http://blog.csdn.net/lengyuhong/archive/2010/01/06/5145100.aspx3.代码实现#include<iostream>#include<malloc.h>using namespace std;#define maxNum 100 //定义邻接举证的最大定点数int visited[maxNum];//通过visited数组来标记这个顶
阅读全文
摘要:1.Hadoop: The Definitive Guide(Hadoop权威指南) 这本书很全,Hadoop中的圣经级教材,不过看起来挺累。 内容简介 Discover how Apache Hadoop can unleash the power of your data. This comprehensive resource shows you how to build and maintain reliable, scalable, distributed systems with the Hadoop framework -- an open source implement...
阅读全文
摘要:1. 前言 通过基于MapReduce云计算平台的海量数据处理实验,我们了解了Hadoop的基本架构,已经如何编写MapReduce程序,本实验中我主要使用到的两个程序分别是WordCount(词频统计)和InvertedIndex(反向索引)。在将这两个程序之前,我会介绍我对Hadoop的理解。 2. Hadoop简介及特性 2.1. Hadoop分布式文件系统(HDFS) Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的...
阅读全文
摘要:本文主要是总结自己学习《microsoft windows workflow foundation 4.0 cookbook》第一章的内容。下面给出本章程序的源代码,下载地址如下:Chapter01.rar。下面简要介绍解决方案Chapter01中所有项目。解决方案中的各个项目如下图所示1.Creating the first WF program:HelloWorkflowHelloWorkflow is a Workflow Console Application. The workflow we created in WF Designer is actually an XML file
阅读全文