- 博客(41)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注

原创 Spark下的FP-Growth和Apriori(频繁项集挖掘并行化算法)
频繁项集挖掘是一个关联式规则挖掘问题。关联挖掘是数据挖掘中研究最早也是最活跃的领域,其中频繁模式的挖掘是关联挖掘的核心和基础,是产生关联规则挖掘的基础。其中FP-Growth和Apriori算法是最为经典的频繁项集挖掘算法。本文在spark下利用scala编写,充分利用了spark的内存计算方式和scala简洁的语法模式和先天性的并行化特性,充分发挥了FP-Growth。
2015-02-01 11:46:41
11564

原创 Python爬虫抓取csdn博客
昨天晚上为了下载保存某位csdn大牛的全部博文,写了一个爬虫来自动抓取文章并保存到txt文本,当然也可以 保存到html网页中。这样就可以不用Ctrl+C 和Ctrl+V了,非常方便,抓取别的网站也是大同小异。 为了解析抓取的网页,用到了第三方模块,BeautifulSoup,这个模块对于解析html文件非常有用,当然也可以自己使用正则表达式去解析,但是比较麻烦。 由于csdn网站的robots.txt文件中显示禁止任何爬虫,所以必须把爬虫伪装成浏览器,而且不能频繁抓取,得sleep一会再抓,使用频繁会
2014-09-19 11:43:37
6556
1

原创 在树莓派上使用火焰,声音,震动,光敏传感器
作为一个软件工程专业的学生,对传感器等硬件的使用一直不太顺手,而在树莓派使用Python的RPi.GPIO,进行传感器等硬件的使用却是非常方便。而且使用树莓派这个网络功能强大的控制中心,其在物联网方面的使用也将更加广泛。 这次我主要使用了火焰,声音,震动,光敏这四个传感器进行了简单的测试,对其进行扩展组合使用就靠大家的想法了。话不多说,下面开始。
2014-08-01 14:17:30
8953
1

原创 西门子数据集的软件错误定位应用
Siemens Suite 使用指南Siemens Suite 是做软件测试中故障定位算法研究时最有代表性和最常用到的测试套件。其他测试套件诸如space,gzip,grep 等与Siemens Suite 的文件组织结构和使用方法大同小异。掌握Siemens Suite 的使用以后,会为研究其他测试套件扫清障碍。本文档主要的目的是对Siemens Suite 套件及其使用做一
2014-05-16 14:27:33
5063
19
原创 360笔试题————计算器格式输出一个数的素因子乘积
#include #include #include using namespace std;int n;//存放素数因子int arr[1000000];//数字矩阵char number[10][5][3] ={ {' ','-',' ','|',' ','|',' ',' ',' ','|',' ','|',' ','-',' '}, {' ',' '
2015-09-15 21:05:32
1099
原创 去哪儿网面试 -- HR面跪了
前几天去西安邮电笔试,三道程序题。昨天早上去 去哪儿网 面试,一共两轮技术面,一轮hr面。3个小时内面完。 一面: 自我介绍。 进程通信方式,sql语句优化,数据库索引内部原理,两个算法题。 然后根据项目问了数据挖掘和搜索引擎的知识。 面完的时候才知道面试官是无线端搞数据挖掘和搜索引擎的
2015-09-13 10:48:38
5535
1
原创 最大整数
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。 这道题具有贪心选择性质和最优子结构性质,可以用贪心算法来解决。首先可以将n个正整数转化为字符串,然后根据a+b和b+a的大小进行排序。#include #include using namespace std;int n;string a[100];string result = "";int compare(
2015-06-25 16:01:27
1692
原创 跳马问题
#include #include using namespace std;typedef struct{ int row; int col;}Node;int n;int sx,sy;//start nodeint ex,ey;//end nodeint map[200][200];//mark arrayint a[8][2] = {{1,2},{2,1
2015-06-20 13:52:28
1521
原创 Hadoop新版和旧版中InputSplit大小的区别
Hadoop旧版中InputSplit的个数由下面三个参数决定: goalSize:totalSize/numSpilt.totalSize为文件大小,numSplit为用户设定的map task个数,默认为1. minSize:InputSplit的最小值,由配置参数 mapred.min.split.size,默认为1. blockS
2015-05-26 11:05:39
1682
原创 Spark下的TopK实现(Java)
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Serializable;import java.util.Arrays;im
2015-05-10 16:18:45
1614
原创 Spark下的PageRank实现
val sc = new SparkContext(...)val links = sc.parallelize(Array(('A',Array('D')),('B',Array('A')),('C',Array('A','B')),('D',Array('A','C'))),2).map(x => (x._1,x._2)).cache()var ranks = sc.paralleliz
2015-05-07 17:37:35
2424
原创 win32编程————简单计算器
#include "stdafx.h"#include #include #include #include #include #include "resource.h"//标记按钮#define IDEDIT 30000#define IDC_BUTTON7 30001#define IDC_BUTTON8 30002#define IDC_BUTTON9 30003#
2015-03-04 18:21:10
1294
1
原创 win32编程中不能使用printf等C库函数的解决方案
win32编程中源程序的第一条语句必须是#include "stdafx.h"。如果没有将它作为第一条语句,那么就不能使用C库中的函数,比如printf,scanf,atof等函数。当我们使用AppWizard来自动生成某些项目的时候,系统会自动把所需要include的头文件在stdafx.h中先include一下,这样,我们只需要直接include这个stdafx.h文件即可.因为同一个项目
2015-03-04 18:10:34
1421
原创 Spark架构及运行机制
Spark架构 Spark架构使用了分布式计算中master-slave模型,master是集群中含有master进程的节点,slave是集群中含有worker进程的节点。
2015-02-02 17:16:05
3006
1
原创 Scala初探(三)
11. curry化def inject(arr:Array[Int],initial:Int)(operation: (Int,Int) => Int): Int ={ var carryOver = initial arr.foreach(element => carryOver = operation(carryOver,element)) carryOver}val ar
2015-02-01 14:18:46
925
原创 Scala初探(二)
5. 单例模式class Marker(val color: String){ //类中的任何代码段作为构造函数的一部分 println("Creating " + this) override def toString(): String = "marker color " + color }object MarkerFactory{ private val markers
2015-02-01 13:51:27
729
原创 scala初探(一)
Scala语言是在JVM上编程的优秀语言之一,其为并发,表达式和可扩展性而设计。这门语言及其程序库可以让你专注于问题而无需深陷于线程和同步等底层基础结构细节。Scala是一门混合了函数式和面向对象的语言。有以下特性: 1. Scala对函数式编程的支持可以写出非常简洁而有表现力的代码; 2. 对于多线程应用,Scala提供了基于actor的消息传递模型,消除了涉及并发的痛苦问题,利用该模型,可以很方便简单的写出多线程代码,而不用考虑线程之间的数据竞争和加锁释放锁等问题; 3. Scala和java一样
2015-02-01 12:53:13
814
原创 MD5压缩算法心得
MD5算法的全称是Message Digest Algorithm(消息摘要算法第五版),是计算机安全领域广泛使用的一个压缩加密的哈希算法,主要提供消息完整化。知道这个算法可以压缩加密就可以了。 算法的主要思想就是:讲输入的信息分割成许多分组(长度为L),每个分组有512位(注意是位,MD5中是以位操作的)。然后又将每个分组划分为16个分组,每个分组有32组,经过一些处理后,输出一个128位的散列值。
2014-11-11 20:28:27
3102
1
原创 MD5压缩算法心得
MD5算法的全称是Message Digest Algorithm(消息摘要算法第五版),是计算机安全领域广泛使用的一个压缩加密的哈希算法,主要提供消息完整化。知道这个算法可以压缩加密就可以了。 算法的主要思想就是:讲输入的信息分割成许多分组(长度为L),每个分组有512位(注意是位,MD5中是以位操作的)。然后又将每个分组划分为16个分组,每个分组有32组,经过一些处理后,输出一个128位的散列值。
2014-11-07 22:35:12
402
原创 有了这个公式,妈妈再也不用担心我计算日期差了
一直以来计算两个日期的间隔天数很让我们头大,比如计算2014/3/23和1993/3/4之间距离多少天,传统的想法是先判断年份是不是闰年,然后计算差了多少年,再算差了几个月,几天等等。这种方法虽然可以帮助我们理清其中的逻辑,但是写这样一段程序很容易出错,而且效率也不是很高。那么有没有好一点的办法呢?当然有! Unix和Linux系统中都是从1970年1月1号开始计算时间的,以秒为单位。虽然用秒作单位有点冗余,但是数学上却很简单。将日期转化为从基准日期之后过了多少秒,然后再执行操作,这样就消除了随着日历
2014-11-03 13:28:07
1470
原创 有了这个公式,计算日期差再也不愁了
一直以来计算两个日期的间隔天数很让我们头大,比如计算2014/3/23和1993/3/4之间距离多少天,传统的想法是先判断年份是不是闰年,然后计算差了多少年,再算差了几个月,几天等等。这种方法虽然可以帮助我们理清其中的逻辑,但是写这样一段程序很容易出错,而且效率也不是很高。那么有没有好一点的办法呢?当然有! Unix和Linux系统中都是从1970年1月1号开始计算时间的,以秒为单位。虽然用秒作单位有点冗余,但是数学上却很简单。将日期转化为从基准日期之后过了多少秒,然后再执行操作,这样就消除了随着日历
2014-11-02 21:44:42
483
原创 获取新浪开放平台的Access token
最近想用树莓派结合传感器制作一个微博机器人,但是在申请新浪开放平台的Access token的过程中可谓是吃尽了口头,其中最主要的是对于使用Post的方式获得网页不懂。 在新浪开放平台创建一个应用很简单,而且获得App key,app secret和回执代码也很简单,网上的教程很多,但是接下来获得Access token对于我这样小白很是不方便,于是仔细研究了一下,写出了下面的Python脚本供大家参考。
2014-08-07 23:54:41
3668
原创 正则表达式——从匹配北美电话号码和邮箱地址学习
一般北美电话号码的格式为: 999-999-9999或者999x999x9999 (x表示任意字符)用字符组来匹配:[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]用字符组简写式:\d\d\d-\d\d\d-\d\d\d\d括选文字符:^(\(\d{3}\)|^\d{3}[.-]?)?\d{3}[.-]?\d{4}$
2014-06-27 14:01:32
4794
转载 DBUS基础知识
1. 进程间使用D-Bus通信 D-Bus是一种高级的进程间通信机制,它由freedesktop.org项目提供,使用GPL许可证发行。D-Bus最主要的用途是在Linux桌面环境为进程提供通信,同时能将Linux桌面环境和Linux内核事件作为消息传递到进程。D-Bus的主要概率为总线,注册后的进程可通过总线接收或传递消息,进程也可注册后等待内核事件响应,例如等待网络状态的转变或者计算机
2014-06-22 00:31:07
1019
原创 字符串在内存中的存储——C语言进阶
字符串是以ASCII字符NUL结尾的字符序列。ASCII字符NUL表示为\0.字符串通常存储在数组或者从堆上分配的内存中。不过,并非所有的字符数组都是字符串,字符数组可能没有NUL字符。字符数组也用来表示布尔值等小的整数单元,以节省内存空间。 C中有两种类型的字符串: 单字节字符串 由char数据类型组成的序列 宽字符串 由wchar_t数据类型组成的序列 wchar_t数据类型用来表示宽字符,要么是16位宽,要么是32位宽。这两种字符串
2014-06-20 00:25:50
8979
1
原创 C语言之不规则数组和指针
不规则数组是每一行的列数不一样的二维数组。 在了解不规则数组之前,先了解一下用复合字面量创建的二维数组。复合字面量是一种C构造,前面看起来像是类型转换操作,后面跟的是花括号括起来的初始化列表。(const int) {100}(int[3]) {1,2,3}
2014-06-18 23:34:06
2583
原创 栈帧的组织——C/C++内存管理必须掌握的
栈帧由下面几个元素组成: 返回地址:函数完成后要返回的程序内部地址 局部数据存储:为局部变量分配的内存 参数存储:为函数参数分配的内存 栈指针和基指针:运行时系统用来管理栈的指针 栈指针通常指向栈顶部。基指针通常存在并指向栈帧内部的地址,比如返回地址,用来协调访问栈帧内部的元素。这两个指针都不是C指针,他们是运行时系统管理程序栈的地址。
2014-06-18 22:57:18
1479
原创 函数指针的用法
函数指针的用法函数指针试吃由于函数地址的指针。针织能够指向函数对于C/C++来说很重要也很有用,这为我们编译时未确定的顺序呢执行函数提供了另一种选择,而不需要使用条件语句。
2014-06-06 23:48:58
1710
原创 简易版推箱子问题
房间是N行N列的矩阵,其中0代表空的地板,1代表墙,2代表箱子的起始位置,3代表箱子要被推去的位置,4代表搬运工的起始位置,求最后搬运工推箱子的步数。 问题实质就是五个状态:箱子的位置(bx,by),人的位置(px,py),推箱子的步数。然后用广搜去一一搜索。
2014-05-29 09:34:43
1772
原创 Dijkstra算法的C++实现
#include #include #include #define MAX_VALUE 1000using namespace std;int **a;int num_ver;int *pre;void init();//初始化全局变量void readData();//读取数据void ShortPath(int v);//寻找最短路径void printPath(
2014-05-20 17:19:24
609
原创 Qt中设置快捷键
QPushButton *button = new QPushButton; ui->buttion->setShortcut(tr("Alt+C"));
2014-05-16 13:35:41
2084
Ubuntu下localhost,127.0.0.1和本机IP都不能访问
2015-07-22
java多线程中两个容器之间的同步
2015-07-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人