- 博客(83)
- 收藏
- 关注
转载 ipcs和ipcrm用法简介
ipcs和ipcrm用法简介命令名称:ipcs使用权限:所有使用者使用方式:ipcs [-m|-q|-s]-m 输出有关共享内存(shared memory)的信息-q 输出有关信息队列(message queue)的信息-s 输出有关“遮断器”(semaphore)的信息命令名称:ipcrm使用权限:所有使用者使用方式:
2014-06-19 13:12:01
538
转载 db2 9.7 for linux 5.4安装详细步骤
db2 9.7 for linux 5.4安装详细步骤1、解压缩安装包#gunzip v9.7_linuxia32_server.tar.gz#tar -xvf v9.7_linuxia32_server.tar2、进入解压后的文件目录,执行安装:(我们选择手动安装)注意:DB2_install为手动安装 db2_setup为图形安装www.2cto.com #
2014-06-19 13:06:15
418
原创 linux 常用命令
###DOS### cd /d d:\ //强制跳转到d:\####vi#####:set ic //忽略大小写:set nu //显示行号:1,$d //delete all content in vi:1,$y //copy all content in vi :x //相当于:wqggVGy //:1 the textd$ or D //d
2014-06-19 12:59:09
400
原创 从一个升序数组中二分查找第一个大于等于val的数
#include #include #include int findval(int a[], int len, int val){ int begin, end, mid; begin = 0; end = len -1; while (begin < end) { mid = (begin + end) / 2; if (val > a[mid]) be
2014-01-08 22:45:58
1125
原创 从一个字符串中删除指定字符串
如abcdefg 删除子字符串ef后得到abcdg,被删除的字符串必须全部连续匹配上才算,子字符有可能出现多次。一次扫描,变扫描边删除。这么简单的题目当时因为紧张没有写出来,太遗憾了。#include #include #include void deletestr(char str[], char substr[]){ char *p, *q, *end; int i,
2014-01-08 21:59:32
967
原创 TCP 与 UDP 的区别
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目
2014-01-08 19:59:27
377
原创 n个整数中删除重复的整数
边扫面边与前面的比较#include void delDupData(int a[], int n){ int i, end, j; end = 0; for (i = 1; i < n; i++) { for (j =0; j <=end; j++) { if (a[j] == a[i])
2014-01-02 13:46:13
735
原创 最长公共子串(有序)
LCS[i][j] = LCS[i-1][j-1] + 1; if a[i] = b[j];else LCS[i][j] = 0;#include #include #include using namespace std;const int max_len = 20;void LCS(char a[], char b[]){ if (a == NULL ||
2013-12-30 10:56:38
423
原创 编程之美 --- 最短摘要生成
思路就是 比如 我的关键词为 abde我的句子 hello are you bottom of do the is bot doke astring.在一个句子里面找到包含关键词的 最短的句子。当然 关键词可以无序排列。编程之美的思路 就是设置一个begin 一个end 起初都指向句子头end向后移动一直到包含所有关键词 停止。
2013-12-28 11:46:11
416
转载 TCP&UDP伪首部
2009-12-02 13:29TCP&UDP伪首部详解最近在读Stevens 的tcp/ip详解,其中介绍到了UDP和TCP伪首部但是介绍的不够详细,只说是为了UDP和TCP校验和存在的 ,同时给出了一个伪首部的图,是直接加在UDP首部前面的,给我的困惑貌似是真实存在的,其实这个图应该用虚线表示,下面就我的理解,介绍一下伪首部: 1. 伪首部并非TCP
2013-12-27 17:23:57
643
转载 TCP socket 阻塞和非阻塞
什么是阻塞socket,什么是非阻塞socket?对于这个问题,我们要先弄清什么是阻塞/非阻塞。阻塞与非阻塞是对一个文件描述符指定的文件或设备的两种工作方式。 阻塞的意思是指,当试图对该文件描述符进行读写时,如果当时没有东西可读或者暂时不可写,程序就进入等待状态,直到有东西可读或者可写为止。 非阻塞的意思是,当没有东西可读或者不可写时,读写函数就马上返回,而不会等待。现在来理解
2013-12-27 16:48:37
3993
原创 快速排序
#include#includeusing namespace std;int m_partition(int a[], int low, int high){int temp = a[low];while (low = temp)high--;a[low] = a[high];while (low <= high && a[low] <= temp)low++;a[high] = a[low];
2013-12-13 12:21:27
374
转载 Trie树
之前一直以为trie树多么的高深,董老师讲的非常简单易懂。http://dongxicheng.org/structure/trietree/
2013-12-09 05:05:12
362
原创 编程之美---数组中超过出现次数超过一半的数字
每次删除两个不同的数,因此我们可以考虑在遍历数组的时候保存两个值:一个是数组中的一个数字,一个是次数。当我们遍历到下一个数字的时候,如果下一个数字和我们之前保存的数字相同,则次数加1。 如果下一个数字和我们之前保存的数字不同,则次数减1。如果次数为零,我们需要保存下一个数字,并把次数重新设为1。 #include #include //find the king which ap
2013-12-07 12:52:22
528
原创 编程之美---数组中超过出现次数超过一半的数字
因此我们可以考虑在遍历数组的时候保存两个值:一个是数组中的一个数字,一个是次数。当我们遍历到下一个数字的时候,如果下一个数字和我们之前保存的数字相同,则次数加1。 如果下一个数字和我们之前保存的数字不同,则次数减1。如果次数为零,我们需要保存下一个数字,并把次数重新设为1。 #include #include //find the king which appear time is mo
2013-12-07 12:49:10
104
原创 第一个只出现一次的字符
#include #include //find the first letter which one appear once//input abacddaef, the reture should be 'b'char * findLetter(char * str){ int hashTable[256] = {0}; if (str == NULL) return NUL
2013-12-07 11:30:37
392
转载 编程之美 ---- 桶中取黑白球问题
有一个桶,里面有白球、黑球各100个,人们必须按照以下规则把球取出来:每次从桶里面拿两个球如果是两个同色的球,就再放入一个黑球;如果是两个异色的球,就再放入一个白球。问题是:最后桶里面只剩下一个黑球的概率是多少?针对这样一个问题,我们有两种不一样的解法:方法一: 首先,我们可以通过相应的数学式来建立与上述三个条件等同的表达方式。在这里,我们可以使用集
2013-12-04 21:56:26
558
原创 A家的笔试题 --- 计算等式
Given an array with positive integers and another integer for example{7 2 4} 9, you are required to generate an equation, by inserting operator add ("+") and minus ("-") among the array . The left sid
2013-11-27 20:08:21
489
原创 KMP 算法--- 搜索匹配字符串
#include #include #include using namespace std;//next[j] 表示s[i]<>p[j],下一个需要比较的字符从next[j]开始//生成next[]的过程相当于自身匹配前缀串和后缀串, i指向后缀串,j指向前缀串void getNextVal(char p[], int len, int next[]){
2013-11-27 16:36:17
381
原创 A家笔试题 --- 计算买卖时机
Let's assume that there is a simple market for beans. Every day there is a published bean price in the market. Traders can buy or sell at the published price. There is a trader who time travelled to f
2013-11-25 22:57:07
421
转载 十道海量数据处理题
第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几
2013-11-25 14:40:58
498
原创 大数据处理 --- 求中位数
中位数并不是大小位于中间的数,而是排序之后,位置位于中间的数。若是n个数,n为奇数,则中位数是数组a[ ]排序之后 a[(n+1)/2] ; 若n为偶数,中位数是(a[n/2] + a[n/2+1])/2如: 5 5 5 6 7 8 9 中位数是6题目:只有2G内存的pc机,在一个存有10G个整数的文件,从中找到中位数,写一个算法对于海量数据求中位数,在网上看到两种方法。
2013-11-25 14:34:35
1708
原创 大数据处理 --- 求中位数
中位数并不是大小位于中间的数,而是排序之后,位置位于中间的数。若是n个数,n为奇数,则中位数是数组a[ ]排序之后 a[(n+1)/2] ; 若n为偶数,中位数是(a[n/2] + a[n/2+1])/2如: 5 5 5 6 7 8 9 中位数是6题目:只有2G内存的pc机,在一个存有10G个整数的文件,从中找到中位数,写一个算法对于海量数据求中位数,在网上看到两种方法。
2013-11-25 14:20:21
1919
转载 大数据处理 --- 布隆过滤器(Bloom Filter)
布隆过滤器 假如有1亿个不重复的正整数(大致范围已知),但是只有1G的内存可用,如何判断该范围内的某个数是否出现在这1亿个数中?最常用的处理办法是利用位图,1*108/1024*1024*8=11.9,也只需要申请12M的内存。但是如果是1亿个邮件地址,如何确定某个邮件地址是否在这1亿个地址中?这个时候可能大家想到的最常用的办法就是利用Hash表了,但是大家可以细想一下,如果利用Hash表来
2013-11-25 10:05:18
482
原创 编程之美 --- 将一个正整数n分解成m个连续自然数的和
将一个正整数n分解成m个连续自然数的和如:6 = 1+2+39 = 2+3+49 = 4+5#includevoid getSeqSum(int n){ int begin, i,j, sum; begin = 1; sum = begin; for (i = 1; i <= (n+1)/2; ) { //re
2013-11-22 14:20:12
1739
原创 回溯算法 --- N 皇后问题
#include #include #include using namespace std;int const N = 20; //max support queen numbervoid printResult(int result[], int n, int m){ cout<<"output the "<<m<<" result:"<<endl;
2013-11-22 10:31:08
524
原创 句子反转
先把每个单词反转,再反转整个句子 #include #include #include using namespace std;void reverseWord(char *begin, char *end){ assert(begin != NULL && end != NULL); char c; while (begin < end)
2013-11-21 11:05:17
758
原创 树 --- 创建+中序遍历+按层次输出+计算树的高度+输出和为n的所有路径
#include #include #include using namespace std;typedef struct lnode { int data; struct lnode *left, *right;}node;void createTree(node * &root, int x){ if (root == NU
2013-11-20 09:12:36
590
原创 链表 -- 合并两个有序链表 (递归 + 非递归)
#include#includeusing namespace std;typedef struct lnode{ int data; struct lnode * next;}node;void createLink(node *&head){ int x; node * p = head; while (scanf(
2013-11-19 10:18:53
595
原创 链表 -- 反转 (递归 + 非递归)
#include#includeusing namespace std;typedef struct lnode{ int data; struct lnode * next;}node;void createLink(node *&head){ int x; node * p = head; while (scanf(
2013-11-19 09:25:17
576
原创 Dijkstra 算法 -- 从单节点到所有节点的最短距离
和prim非常相似#include #include using namespace std;#define MAXLEN 10#define INFINITE 0xffffint d[MAXLEN];int visited[MAXLEN] = {0};int m_min(int x, int y){ return ((x > y)? y :
2013-11-16 20:39:34
440
原创 最小生成树prim算法实现
最小生成树prim算法实现今天从志权师兄那里学会了最小生成树。所谓生成树,就是n个点之间连成n-1条边的图形。而最小生成树,就是权值(两点间直线的值)之和的最小值。 首先,要用二维数组记录点和权值。如上图所示无向图:int map[7][7]; map[1][2]=map[2][1]=4; map[1][3]=ma
2013-11-15 16:29:22
406
原创 寻找最大的k个数
#include#includeusing namespace std;const int k = 5;void heapAdjust(int a[], int first, int last){ int key = a[first]; for (int i = 2*first; i < last; i = 2*i) { if (i+1 <
2013-11-14 18:26:10
505
原创 动态规划 -- 背包问题
//动态规划 -- 背包问题//dp[i][j] = max{dp[i-1][j], dp[i-1][j-w[j]] + val[i]}#include# include# define max(a,b) a>b?a:busing namespace std;int main(){ int dp[101][1001],m,W,w[101],val[10
2013-11-14 16:20:49
496
原创 分治法---归并排序
分支法的步骤:1. devide2. conquer3. combine #include#includeusing namespace std;//Below algorithm is according MIT's charles.void merge(int a[], int first, int mid, int last){ int* res = new
2013-11-14 16:06:32
491
原创 动态规划求连续元素的和最大
/***********dynamic algorithm to get the max sum of the continous elements of a integer array**/#include#includeusing namespace std;/**********sum[i] = max{sum[i-1] + a[i], a[i]}start[i]
2013-11-14 15:37:18
526
原创 动态规划法求两个序列的最长公共子序列
动态规划法求两个序列的最长公共子序列问题,MIT的perfessor讲的非常详细,根据他的算法的两种实现注意,这里所指的最长公共子序列是可以不相邻的,与平常所说的最长公共子串(相邻的)不一样。 #include#includeusing namespace std;#define max_num(x, y) (x)>(y)?(x):(y)int c[100][100
2013-11-14 14:49:49
837
原创 虚函数指针的大小
#include using namespace std; class A{public:A(){coutvirtual void fA(){};};class B{public:B(){coutvirtual void fB(){};};class C{public:C(){cout
2013-11-01 16:28:21
894
转载 LTE 是什么?LTE能干什么?
LTE (Long Time Evolution)长期演进。LTE也被通俗地称为3.9G,具有100Mbps的数据下载能力,被视作从3G向4G演进的主流技术。(摘自百度百科)实际上,LTE与SAE是3GPP当年的两大演进计划,其中LTE负责无线空口技术演进,SAE负责整个网络架构的演进。 LTE的相关术语EPC: Evolved Packet Core LTE的核心网EPS:
2013-08-23 09:44:12
1539
原创 CDMA IS95 A/B 与CDMA2000的区别
CDMA是QualComm提出的基于3GPP2的标准。CDMA IS95 A/B也就是1995年的标准 CDMA2000 也就是CDMA 2000 1XEV,分两个阶段:CDMA 2000 1X EV-DO: data onlyCDMA 2000 1X EV-DV: data and voice CDMA2000 VS CDMA IS95 A/B原有的电路交换
2013-08-19 17:18:18
1493
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人