- 博客(102)
- 资源 (5)
- 收藏
- 关注
原创 select
思路:初始化一个socket建立一个socket列表用于管理socket将初步连接的socket放入列表中用select判断列表中未处理的socketWin API版本1. USHORT nPort = 4567; // 此服务器监听的端口号// 创建监听套节字SOCKET sListen = ::socket(AF_INET, SOCK_STREAM,
2015-01-09 11:31:32 507
原创 Hadoop MapReduce中如何处理跨行Block和InputSplit
1. Hadoop的一个Block默认是64M,那么对于一个记录行形式的文本,会不会造成一行记录被分到两个Block当中?2. 在把文件从Block中读取出来进行切分时,会不会造成一行记录被分成两个InputSplit,如果被分成两个InputSplit,这样一个InputSplit里面就有一行不完整的数据,那么处理这个InputSplit的Mapper会不会得出不正确的结果?对于上面的两
2014-12-08 11:59:54 1083 2
转载 MapReduce高级编程——自定义InputFormat
0、测试集样例Java代码 ball, 3.5, 12.7, 9.0 car, 15, 23.76, 42.23 device, 0.0, 12.4, -67.1 1、测试Point3D InputFormatJava代码 import java.io.IOException;
2014-12-03 09:20:32 1540
原创 hashmap
package com.test;import java.util.Scanner;import java.io.*;public class Test { public static void main(String[] args) throws IOException { int length = 16; char[] c= new char[]{'a
2014-10-13 20:37:20 456
原创 lucene基础
Index:package TestLucene; import java.io.File; import java.io.FileReader; import java.io.Reader; import java.util.Date; import org.apache.lucene.analysis.Analyzer; import org.apache.luce
2014-09-11 15:00:40 457
原创 保留ip地址
保留IP地址的分配 互联网上的IP地址统一由一个叫IANA(Internet Assigned Numbers Authority,互联网网络号分配机构)的组织来管理。根据用途和安全性级别的不同,IP地址还可以大致分为两类:公共地址和私有地址。公用地址在Internet中使用,可以在Internet中随意访问。私有地址只能在内部网络中使用,只有通过代理服务器才能与Internet通信。
2013-10-28 13:00:05 719
原创 网络服务器宕机
1.服务器进程终止当服务器进程终止时,服务器发送FIN给客户端,客户端回以ack,客户端进入CLOSE-WAIT状态,但还没有结束连接。此时客户端阻塞于fgets,客户端继续发送buffer,服务器发送RST,客户端readline返回0。而如果客户端不理睬readline返回的RST,继续write,如:Write()sleep()Write()第二次write会收到sigp
2013-10-07 17:44:15 748
原创 华为机试题
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则:1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"要求实现函数:
2013-10-05 17:55:22 652
原创 堆排序算法复杂度解析
堆排由两部分组成:1.建初堆2.堆顶元素与堆中的最后一个元素交换并重建堆。建初堆的复杂度已经有人证明如下:下来就是第二步的复杂度了:总共交换n-1次,每次重建堆的复杂度是log2n,所以第二步的复杂度为[log2(n-1)+log2(n-2)+...+log2(2)]因此堆排的算法复杂度也就近似的认为是nlog2(n)。
2013-10-05 16:39:32 4333
原创 二叉查找树删除节点
Status DeleteBST(BiTree &T, KeyType key){//若二叉排序树T中存在关键字等于key的数据元素时,则删除该数据元素,并返回//TRUE;否则返回FALSE if(!T) return false; //不存在关键字等于key的数据元素 else{ if(key == T->data.key) { // 找到关键字等于
2013-10-02 15:51:23 669
原创 最短路径Dijkstra 算法
其实也是求最小生成树的算法。。。const int N=110;const int INF=0x3f3f3f3f;int visit[NUM];int dist[NUM];int map[NUM][NUM];int ans=0;Dijkstra(){ visit[0]=1; dist[0]=0; for(int i=0;i<NUM;i++) {
2013-09-20 16:52:09 752
原创 先序中序非递归 图的深度遍历
/* 先序 */inorder(bitree root){initstack(s);p=root;s.push(p);while(!isempty(s)){visit(s.top);s.pop(&p);if(p-r) s.push(p-r);if(p-l) s.push(p-l);}} /* 中序 */inorder(bitree roo
2013-09-20 14:55:25 691
原创 文件读写基础
对文件的读写都忘光了。前些天酷派的笔试有个题就是把文件中的内容读出并计算。他的意思是将文件中的16进制数读出,但当时只想到文件中存的是字节。。。1.fgetc FILE *f=fopen("exist",r);char ch;while(ch=fgetc(f)!=EOF)printf("%c",ch);fclose(ch);} 2. c++ fstrea
2013-09-20 13:51:00 709
原创 hadoop 命令行运行任务
好多的教程是通过eclipse提交的任务。当然这只是玩玩。如果在ubuntu-server集群中这当然行不通。因此jobtracker通过命令行的形式提交任务看起来比较实际。比如file1.txt:2012-3-1 a2012-3-2 b2012-3-3 c 2012-3-4 d 2012-3-5 a 2012-3-6 b2012-3-7 c2012-3-3 c
2013-09-17 21:51:35 1723
原创 读者写者问题
读者写者问题描述如下:1.同一时刻允许多个进程读2.只要有进程在写读进程就应该阻塞3.只要有进程在写写进程就应该阻塞所以利用记录型信号量代码如下:var rmutex,wmutex:semaphore :=1,1readcount:integer :=0; Reader:beginrepeatwait(rmutex);if(readcount==0) wa
2013-09-10 17:13:10 929
原创 笔面试经典题目
#include int main() { int a[2][4] = {{1, 2, 4, 8},{ 16, 32, 64, 128}}; int (*p)[4] = a; printf("%d\n", *(a[1]+0)); printf("%d\n", *(*(&a[1])+0)); printf("%d\n", *(*(p+1)+0));//(p+1)为&a[1
2013-09-04 15:39:34 491
转载 海量数据相似度计算之simhash和海明距离
通过 采集系统 我们采集了大量文本数据,但是文本中有很多重复数据影响我们对于结果的分析。分析前我们需要对这些数据去除重复,如何选择和设计文本的去重算法?常见的有余弦夹角算法、欧式距离、Jaccard相似度、最长公共子串、编辑距离等。这些算法对于待比较的文本数据不多时还比较好用,如果我们的爬虫每天采集的数据以千万计算,我们如何对于这些海量千万级的数据进行高效的合并去重。最简单的做法是拿着待比较的文本
2013-08-26 19:33:48 1058
原创 AVL树插入算法
没有用到平衡因子。。。数据结构如下:struct avl{ int data;//节点数字 int frequency;//插入的次数 int hight;//节点高度 avl *left;//左子树 avl* right;//右子树};code:#include#includestruct avl{ int data;//节点数字 int frequency;//插
2013-08-26 13:00:12 2007
原创 python 抽取信息
获取网页中的信息,用到了BeautifulSoup和tornado#!/usr/bin/env python3from bs4 import BeautifulSoup#import tornado.httpclientimport tornadofrom tornado import httpclientcli=tornado.httpclient.HTTPClient()lin
2013-08-22 19:55:01 1573
原创 条件变量
#include#include#include#include#include#include #include #include //#include#include #include #include#include#include#define MAXNITEMS 1000000#define MAXNTHREADS 10
2013-08-14 16:07:01 563
原创 《unix网络编程》生产者消费者问题
首先是多个生产者单个消费者问题:/* include main */#include #include#include#include#include#define NBUFF 10#define MAXNTHREADS 100int nitems, nproducers; /* read-only by producer and consumer
2013-08-07 20:35:22 827
原创 unix条件变量
条件变量(Condtion Variable)是在多线程程序中用来实现“等待->唤醒”逻辑常用的方法。举个简单的例子,应用程序A中包含两个线程t1和t2。t1需要在bool变量test_cond为true时才能继续执行,而test_cond的值是由t2来改变的,这种情况下,如何来写程序呢?可供选择的方案有两种:第一种是t1定时的去轮询变量test_cond,如果test_cond为false,
2013-08-05 10:15:16 897
原创 TCP回射程序
服务器:#include #include /* basic system data types */#include /* basic socket definitions */#include /* sockaddr_in{} and other Internet defns */#include /* ANSI C header file */#include /*
2013-07-17 12:14:45 535
原创 多进程与多线程
多进程要用到fork()函数,多线程要用到pthread_create()函数,但是在核内执行的都是do_fork(),dofork()提供了很多参数,例如:CLONE_VM(共享内存空间)、CLONE_FS(共享文件系统信息)、CLONE_FILES(共享文件描述符表)、CLONE_SIGHAND(共享信号句柄表)和CLONE_PID(共享进程ID,仅对核内进程,即0号进程有效)。创建多进程
2013-07-12 10:03:34 539
原创 Peterson算法(线程间互斥)
#include#includeunsigned int flag[2] = {0}; unsigned int turn = 1; void* process1() { while(1) { flag[0] = 1; turn =1; while(flag[1] && (turn ==1)); printf("process1\n"); fl
2013-07-11 16:44:41 2142
原创 生产者与消费者
#include#include#include#include #include using namespace std;sem_t mutex;sem_t fillCount;sem_t emptyCount;list l;int x;pthread_t thread[2];void *producer(void *);void *consumer(void *);
2013-07-11 13:44:41 587
原创 sh细节
从一个shell小白来写一个if else shell,鸟哥的代码居然也是错的!!!他的sh17.sh代码如下:#!/bin/bash# Program# Use ping command to check the network's PC state.# History# 2009/02/18 VBird first releasePATH=/b
2013-07-08 21:24:25 567
转载 内存泄露
首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,分如下两种情况:一. 在 MFC 中检测内存泄漏假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的功能。我们
2013-07-06 15:59:02 553
原创 自动登录
gedit /etc/lightdm/lightdm.conf. 修改配置文件[SeatDefaults]allow-guest=falseautologin-user=rootautologin-user-timeout=0autologin-session=lightdm-autologinuser-session=ubuntugreeter-session=un
2013-07-04 11:50:28 794
原创 动态规划 最长公共子序列
问题的递归式写成: 回溯输出最长公共子序列过程:下列代码只是求解c[i][j];#include#include#include#includeusing namespace std;int max(int a,int b){ return a>b?a:b; }int main(){ int c[10][10]; mems
2013-07-02 10:04:04 592
转载 贝叶斯分类(下)
转载地址:http://www.cnblogs.com/phinecos/archive/2008/10/21/1316044.html此篇主要介绍贝叶斯文本分类的具体实现。-------------------------------------------------------------------------------------------------------------
2013-06-23 16:01:10 513
转载 贝叶斯分类(上)
在cnblog上看到这篇文章写得很好。最近也在找贝叶斯分类的问题.遂仔细研究了一下.转载地址:http://www.cnblogs.com/phinecos/archive/2008/10/21/1315948.html----------------------------------------------------------------------------------------
2013-06-23 15:54:57 799 1
转载 Linux下暴力破解工具Hydra详解
一、简介Number one of the biggest security holes are passwords, as every password security study shows. Hydra is a parallized login cracker which supports numerous protocols to attack. New modules are
2013-06-18 22:18:23 945
转载 屏蔽搜索引擎机器人的抓取
如果你的网站涉及个人隐私或者机密性非公开的网页,怎样告诉禁止搜索引擎收录抓取,下面侯庆龙说下以下方法,希望对不想被搜索引擎收录抓取网站有所帮助。第一种、robots.txt方法搜索引擎默认的遵守robots.txt协议,创建robots.txt文本文件放至网站根目录下,编辑代码如下:User-agent:*Disallow:通过代码,即可告诉搜索引擎不要抓取采取收录本网站。
2013-06-18 20:51:35 1026
转载 C++中如何防止类被继承
在C++学习中,尤其在涉及类这一内容时,我们往往会遇到这样一个问题:如何设计一个类,要求该类不能被继承? 最简单的方法就是将该类的构造函数声明为私有方法,但是这又带来另一个弊端:那就是该类本身不能生成对象了,当然这样能够满足该类不能被继承的要求,却得不偿失。下面介绍一种比较巧妙的方法来供大家参考,也算是自己学习中的一个小小的总结吧。 主要思想就是:通过一个构造函数和析构函数都是私有的辅
2013-06-08 13:44:52 589
原创 生成随机数
// 随机数的生成#include #include #include #include using namespace std;// 随机生成某范围的随机整数,调用前记得srand设置种子int range_random(int start, int end){ return ( start + rand() % (end - st
2013-06-07 15:35:19 523
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人