自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 windows7环境下Eclipse集成Python开发环境+安装TensorFlow

本篇文章介绍windows7环境下Eclipse集成Python开发环境,以及安装TensorFlow

2017-10-31 12:12:49 4740

转载 中国计算机学会推荐国际学术期刊

中国计算机学会推荐国际学术期刊 (计算机系统与高性能计算)一、A类序号刊物简称刊物全称出版社网址1TOCSACM Transactions on Computer SystemsACMhttp://tocs.acm.org/2

2017-05-12 20:37:41 2495

原创 ProgrammableWeb数据说明

ProgrammableWeb数据说明1.简介使用ProgrammableWeb提供的API爬取其网站的相关数据,截至2013-11-25,一共获取的数据存入四张表ws表(service10050条),mp(mashup 7155条),userinfo(user表,69385条),watchlist(280611条)。数据库版本为SqlServer2005,下载地址为: http://ti

2016-04-21 15:16:58 3221 15

原创 单机和集群环境下的FP-Growth算法java实现(关联规则挖掘)

1 FP-Growth简要描述     和Apriori算法一样,都是用于关联规则挖掘的算法。Apriori算法每生成一次k频繁项集都需要遍历一次事务数据库,当事务数据库很大时会有频繁的I/O操作,因此只适合找出小数据集的频繁项集;而FP-Growth算法整个过程中,只有两次扫描事务数据库,一次发生在数据预处理(包括去掉事务的ID编号、合并相同事务等),另一次发生在构造FP-Tree的头项

2015-10-20 19:15:01 2872

原创 基于Spark on Yarn的apriori算法java实现

一  前言处理一个大数据集,找出其中的强关联规则,本文基于spark使用java语言实现了apriori算法,算法已经通过测试,后边附带一个测试实验及运行结果。二  apriori算法描述apriori是一种经典的数据挖掘算法,可以挖掘出数据库中哪些物品经常一起出现,满足最小支持度和最小置信度的的规则为强关联规则。因此,算法需要找出所有的强关联规则,从而为实际提供决策或者预测未来的结果

2015-10-14 17:28:54 2098 3

原创 遗传算法(GA)

遗传算法(Genetic Algorithms,简称GA)是一种基于自然选择原理和自然遗传机制的搜索(寻优)算法,它是模拟自然界中的生命进化机制,在人工系统中实现特定目标的优化。遗传算法的实质是通过群体搜索技术,根据适者生存的原则逐代进化,最终得到最优解或准最优解。它必须做以下操作:初始群体的产生、求每一个体的适应度、根据适者生存的原则选择优良个体、被选出的优良个体两两配对,通过随机交叉其染色体的基因并随机变异某些染色体的基因后生成下一代群体,按此方法使群体逐代进化,直到满足进化终止条件。

2015-10-08 08:41:01 1298

原创 模拟退火算法(SA)

模拟退火算法的目标是求NP难组合优化问题的全局最优解。该方法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。

2015-10-08 08:40:58 1642

原创 蚂蚁运动轨迹之并行计算

1. 问题描述:有一个正方形的桌子,边长为a,四个角上分别各有一只蚂蚁A,B,C,D,每只蚂蚁以相同的速度v,同时以逆时针方向向着离它最近的蚂蚁运动,从而得出各蚂蚁的运动轨迹。2.      算法设计对于蚂蚁A(x1,y1)而言,先假定蚂蚁B(x2,y2)(是不动的,则时间t后它的位置发生变化,走到A‵(x1‵,y1‵)如图1.1所示。图1.1计算蚂蚁的下一坐标根据图中的公司可以计算出A走t时间

2015-10-08 08:40:56 1281 1

原创 centos6.6环境下配置PHP,apache与m…

最近我们在开发一个小系统,由于访问量比较大,在windows平台下部署很容易崩掉。于是我们将虚拟主机搬迁到了linux(centos)环境下。php在windows平台下运行不稳定,究其原因,可能有如下几点:a)php是基于UNIX平台开发的通用开源脚本语言,每个请求都交给一个不同的进程来处理,由于进程之间不       共享数据,一个进程崩溃了不会影响其他进程的运行,因此整个程序运行环境

2015-10-08 08:40:53 660

原创 屏幕右下角可弹出的临时聊天室

A,背景需求:有时对于一个交易平台而言,为交易双方提供一个简易的聊天室是必要的。下面将介绍自己设计的一种简易即时聊天室,前台使用的jquery等,为了达到实时性,信息的传输使用html5的新特性websocket。该聊天室会一直悬浮在屏幕的右下角,界面简洁友好。B,实现代码:js核心代码:scroll函数是在滚动条滚动时动态改变聊天框的垂直位置。html代码部分:C,效果图

2015-10-08 08:40:51 1054

原创 Node.js+websocket+mongodb实现即…

A,nodejs简介:Node.js是一个可以让javascript运行在服务器端的平台,它可以让javascript脱离浏览器的束缚运行在一般的服务器下面,你可以用Node.js轻松地进行服务器端应用的开发。Node.js是一个为实时Web应用开发而诞生的平台,它充分考虑了在实时响应和超大规模数据下架构的可扩展性,这使得它摒弃了传统的平台依靠多线程来实现高并发的的设计思路,而采用了单线程,异步式

2015-10-08 08:40:48 1512 1

原创 分支限界法之最大团问题

A,最大团问题:给定一个无向图G=(V,E),其中V代表顶点集合,E代表边的集合。,如果U是V的子集,且对于U中任意两个顶点u和v都是相连的,即u-->v属于E,则称顶点子集U是图G的完全子图或者G的图。显然最大团就是指满足上述条件且含有顶点数最多的团。比如下图所示:子集{A, B}是G 的大小为2 的团。这个团不是极大团(因为顶点数不是最多的),因为它包含在G 的更大团{A,B,E}中。

2015-10-08 08:40:46 16633 6

原创 js实现滚动文本显示

A,需求背景:对于一个实时更新信息的网站来说,通常需要有一个模块动态的显示动态信息,通常会使用异步更新。由于模块空间大小有限而展示的信息比较多,这时我们可以采用类滚动新闻的方式展示动态信息。下面将使用js实现类似这样的功能。B,实现下面是javascript部分,需要导入相应的jQuery包:function dynamicnews(){//下面通过异步Ajax获取服务器数据,假设下

2015-10-08 08:40:43 2086

原创 Node.js学习总结(一)

A,什么是Node.js.      Node.js是一个可以让javascript运行在服务器端的平台,它可以让javascript脱离浏览器的束缚运行在一般的服务器下面,你可以用Node.js轻松地进行服务器端应用的开发。Node.js是一个为实时Web应用开发而诞生的平台,它充分考虑了在实时响应和超大规模数据下架构的可扩展性,这使得它摒弃了传统的平台依靠多线程来实现高并发的的设计思路,

2015-10-08 08:40:41 501

原创 贪心法之最短路径之Dijkstra算法

A,问题描述:假如A地为仓库,要向不同的售货点供货,为了节约成本,因此要计算出从A点出发通向每个售货点的最短距离路径。也就是求解图中顶点A到图中其它各顶点的最短路径,图中每个顶点代表一个售货点。Dijkstra算法就是用于求解带权有向图中从一点出发到其它各顶点的最短路径的算法。下面详细介绍该算法。B,Dijkstra算法:该算法用于求解从一个顶点出发到其余各顶点的最短路径的算法解决的是有向图中

2015-10-08 08:40:38 5773

原创 贪心法之最小生成树之Prim算法

A,最小生成树:最小生成树在现实生活中有很多重要的应用,它要求从一个带权无向完全图G(假设有n个顶点)中选择n-1条边并使图(没有回路的树)仍然连通,同时还要求生成树的总权重最小,为了构造这样一棵树,通常的算法有Kruskal和Prim算法,上一篇介绍Kruskal算法,下面将介绍Prim算法。B,普里姆(Prim)算法:和Kruskal算法不同的是,Prim算法操作的对象不是边而是顶点,因此

2015-10-08 08:40:35 4432

原创 贪心法之最小生成树之Kruskal算法

A,实际应用:现实生活中经常需要计算某种方案的最小成本问题,比如希望利用最少量的电缆线连接一座建筑物中所有的计算机;再比如希望以最小的成本连接一个网络中的所有路由器等问题。把整个问题抽象成一个无向图,解决问题就是要构建一棵包含图中所有节点的树,并使构造出的树的总权值最小,即求解图的最小生成树问题。下面将介绍用于构造该种树的方法,Kruskal算法。B,克鲁斯卡尔(Kruskal)算法:假设无向

2015-10-08 08:40:33 3305

原创 贪心法之背包问题

A,贪心算法:该算法应用于优化问题,即问题涉及通过一组配置来找出定义在这些配置上的目标函数的最小值或者最大值。为了求解给定的优化问题需要进行一系列的选择,这个序列开始于某些易于理解的起始配置,然后从当前可能的配置中,反复做出看起来是最好的决策。这个特点说明,从一个良好的定义的配置开始,通过一系列局部最优选择,可以得到全局最优配置。当然贪心算法不会总是导致问题的最优解,但是可以很好的解决下面将要介绍

2015-10-08 08:40:30 1024

原创 动态规划之任意顶点间最短距离

A,动态规划思想:假设带权有向图G中的任意编号为(V1,V2,V3,...,Vn),如果 Vi到Vj的最短路径是d(i,j),那么对于路径上任一中间节点k,d(i,k)与d(k,j)都是最短路径。Vi到Vj的最短路径要么经过k,要么不经过k,就如同动态规划解矩阵连乘问题一样,我们只要从i到j枚举k,有j-i个选择,但是矩阵加括号后,其子问题之间不会有交点。对于图而言,如果不加限制d与d可能会有交集

2015-10-08 08:40:28 1054

原创 动态规划之矩阵连乘问题

A,动态规划:动态规划技术主要用于求解优化(optimization)问题,在优化问题中希望找出求解问题的“最佳”方式,但是这些求解的方式常常是指数级的。B,矩阵连乘是一个利用动态规划求解的例子。问题描述:给定n个二维矩阵集合,希望计算矩阵乘积A=A1•A2•••An,由于矩阵相乘具有结合律,因此我们可以给等式右边适当的添加括号,改变相乘的顺序,从而使整个计算过程乘法次数最少。例如:设B是一个

2015-10-08 08:40:25 742

原创 图的遍历

A,图的存储结构:通常图有两种存储结构,邻接矩阵存储和邻接表存储。(1)邻接矩阵:该存储结构用两个数组来表示图的信息,一个一维矩阵数组存储顶点信息,一个二维数组存储图中边的信息。一般如果一个图它的边数很多或者边很密集,这时邻接矩阵是一种比较好的存储结构。a)设无向图G中有n个顶点,则其邻接矩阵是一个n阶方阵,定义为:     下图为无向图的邻接矩阵:b)设有向图G有n个节点,其邻接

2015-10-08 08:40:23 576

原创 树的遍历

A,二叉树:二叉树是具有如下特点的树,(1)二叉树是一棵树;(2)每个节点最多有两颗子树;(3)子树有左右之分。遍历二叉树通常会有三种方法,即先序遍历,中序遍历,后序遍历。(a)先序遍历:先访问根节点,再访问左孩子节点,最后访问右孩子节点;(b)中序遍历:先访问左孩子节点,再访问根节点,最后访问右孩子节点;(c)后序遍历:先访问左孩子节点,再访问右孩子节点,最后访问根节点。三种方式访问的顺

2015-10-08 08:40:20 353

原创 查找算法之折半搜索算法

A,折半查找算法:该算法是在一个有序表中查找给定的元素,并返回该元素的所在序列的下标或者查找失败返回一个代表失败的数,比如-1代表查找失败。B,算法原理:1)给定有序序列a1,a2,a3,...,an,升序排列;2)查找指定元素e在序列中的下标,首先用e与array[n/2]比较大小;3)如果e小,则继续在0-n/2之间的元素中去找,否则到n/2-n之间的元素中去找;4)重复 2) 和

2015-10-08 08:40:18 863

原创 排序算法之归并排序

A,归并排序:该算法是分治法的一个应用,先将整个待排序列分成若干子序列,然后使每个子序列有序,再使字序列之间有序,最终使整个序列有序。B,算法原理:1)假设我们采用二路归并对{a1,a2,a3,a4,...,an}进行排序;2)首先将整个序列分成若干段,每段包好两个元素,即{a1,a2},{a3,a4},{a5,a6},{a7,a8}...;3)然后分别对每个子序列排序(可以采用插入排

2015-10-08 08:40:15 328

原创 排序算法之快速排序

A,快速排序:通过一趟排序将待排序序列A划分成两个独立的序列B和C,其中B中的每个元素都小于或等于C中的任何一个元素,然后再按照此方法分别对B和C进行排序。B,一趟快排过程:1)假设待排序元素个数为n,设置两个位置指针变量i和j,初始值i=0,j=n-1;2)赋值key=array[i](其中i=0)作为关键数据;3)从后往前遍历序列元素,--j,直到遇到第一个array[j]4)接着

2015-10-08 08:40:13 333

原创 排序算法之直接插入排序

A,直接插入排序:排序过程中,整个序列被分成两部分,前一部分有序,后一部分无序。每次从无序表中取出一个元素,然后把它插入到有序表中的合适位置,使有序表保持有序,直到无需表部分元素个数为0,排序结束。B,算法原理:1)假设数组序列依次为a1,a2,.....,an;2)第一趟比较a1和a2,时前两个元素升序排序,第二趟比较a1,a2,a3,使前三个元素升序排序;3)每次新元素i插入到前i-

2015-10-08 08:40:10 481

原创 排序算法之简单选择排序

A,简单选择排序:每次从剩余待排序元素中找出最小元素与第一个元素交换。执行n-1趟后,结果为升序排序。B,算法原理:1)假设数组长度为n,取i依次取0,1,...,n-2,每次找出数组中从i到n-1的最小数min;2)然后将min与i对应的元素交换,直到i=n-1时排序结束,所有元素即为升序排序。下图为一组乱序数组的排序过程:C,算法实现:#include "iostream"us

2015-10-08 08:40:08 428

原创 排序算法之冒泡排序

A,冒泡排序:该算法从前往后对每一个元素进行一趟若干次相邻元素比较及交换的过程,找出每一趟中的最元素,然后依次排放在后面,最终得到一个从小到大的有序数列。B,算法原理(每次从前往后):1)比较相邻两个元素,如果第一个比第二个大就交换它们;2)每一趟找出待排序元素中的最大元素,经过若干比较和交换之后,最大元素便浮到最后了;3)如果某一趟中没有进行一次交换,说明已经有序了,便停止后续过程,排序

2015-10-08 08:40:05 362

原创 centos系统下安装java环境

本文章主要介绍如何卸载centos自带的openjdk并重新配置java环境变量。1,centos自带的openjdk有时不包含javac命令,这时我们需要卸载它并重新安装工具齐全的jdk。    1)首先我们可以查看centos的openjdk版本,使用如下命令:java-version.    2)卸载openjdk,先查看使用命令:rpm -qa | grep java.

2015-10-08 08:40:02 482

原创 一个例子解释MapReduce计算模型

最近在学习关于Hadoop相关的知识,了解到了MapReduce这个优秀的编程模型。MapReduce是一个分析和处理大量数据的通用的解决方案,它许多的底层的细节处理,比如说数据切分,任务调度,存储,容错等这些对使用者来说是透明的,因此我们可以很方便的编写代码来并行的分析处理海量的数据。这个模型就是把一个大的任务划分成若干小的任务然后在不同的计算机中并行处理,最后化简合并得到一个结果,从而充分的利

2015-10-08 08:40:00 593

原创 一道网易笔试题

题目描述如下: 现有一个m行n列的格子棋盘,每一个格子附有一个权值,权值可以为正负零。现在要求找出一条走线,将一个棋子从第一行移到第m行,使得经过所有格子的权值之和最大,说明算法思想,给出具体的实现,并分析时间和空间复杂度,这条走棋路线需要满足如下要求:1)起始格子可以为第1行的任意一个格子2)终止格子可以为第m行的任意一个格子3)走棋招法要求不许后退,并满足象棋中的兵路,士路,或者马路

2015-10-08 08:39:57 354

原创 java线程笔记

1. 什么是线程?答:线程是操作系统独立调度的基本单位。2.为什么使用线程?答:对于一个程序而言,它或多或少的包含一些相互独立的代码段,如果这些代码能在时间上重叠执行,会具有更高的效率。线程提供了一种方法可以做到这一点。多线程可以加快一个任务的完成。3. java线程的两种创建方法. A. 一种方法是将其定义为Thread类的子类,并重写Thread中的run()方法。public

2015-10-08 08:39:54 323

原创 围城

java与c++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙里的人想出来。

2015-10-08 08:39:52 315

原创 java集合框架浅析

一,什么是java集合框架?答:Java集合框架是一套用来创建集合类(collectionclass)的泛型。集合类提供了多种方式用于存储和管理内存中任意类型的对象。集合类是以诸如链表或者堆栈之类的方式组织一套给定类型的对象的类。构成集合框架的主要类型定义在java.util包中。二,集合框架中的接口java.util包中定义了8个泛化的集合接口,它们决定了每种集合类可以使用的方法,这些接

2015-10-08 08:39:49 642

原创 LDA模型简介、源码分析及实验

一  概率主题模型简介    隐含狄利克雷分布(LatentDirichlet Allocation,LDA)[1]是一种文档生成模型,包含文档、主题和词三层结构。如图1所示,LDA假设每篇文档由若干隐含的主体组成,每个主题下有一系列与主题相关的词汇。当要生成一篇文章时,是通过以一定的概率选择某个主题,然后再以一定的概率选择主题下某个词语。LDA是一种非监督机器学习技术,可以用来发现大规模文档

2015-10-05 20:30:03 2603

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除