摘要:
一、下载、安装 下载libxml2,官方网站,下载合适自己版本的源码包,这个很重要。 http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-devel 俺下载的版本为libxml2-devel-2.6.32-11.10.i586 解压缩,编译运行 ./configure –prefix /usr/local/xml #安装目录 ma... 阅读全文
摘要:
#include #include #include #include #include using namespace std;#define MAX_NUMBER 100000000 int G[510][510];int current_team[510];bool visit[510];int dist[510];int paths[510];int max_teams[510];void... 阅读全文
摘要:
此问题是2014年微策略校园招聘软件工程师第一题: 问题 给定一棵二叉树,判定该二叉树是否是二叉搜索树(Binary Search Tree)? 解法1:暴力搜索 首先说明一下二叉树和二叉搜索树的区别。二叉树指这样的树结构,它的每个结点的孩子数目最多为2个;二叉搜索树是一种二叉树,但是它有附加的一些约束条件,这些约束条件必须对每个结点都成立: 结点node的左子树所有结点的值都小于node的值。... 阅读全文
摘要:
学习分布式, 一致性哈希是最最基础的知识, 所以要理解好. 那什么是一致性哈希呢?(what) 百度百科 上的解释很专业术语. 要一句话定义貌似也有难度: 一致性哈希算法是在哈希算法基础上,提出的在动态变化的分布式环境中,哈希算法应该满足的几个条件: 平衡性, 单调性和分散性. 1.平衡性是指 hash的结果应该平均分配到各个节点, 这样从算法上就解决了负载均衡问题. 2.单调性是指 在新增或者删... 阅读全文
摘要:
转自:http://gongstring.iteye.com/blog/768316 B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就... 阅读全文
摘要:
//转自http://www.cnblogs.com/hicjiajia/archive/2010/08/27/1810055.html#include using namespace std;typedef struct node { char data; struct node *lchild; struct node *rchild; ... 阅读全文
摘要:
现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数。 分析:设数A出现次数超过一半。每次删除两个不同的数,在剩余的数中,数A出现的次数仍超过一半。通过重复这个过程,求出最后的结果。这个题目与编程之美中寻找水王相同 #includeusing namespace std;//size为数组A的大小//返回数组中出现超过一半的数int search(int *A,i... 阅读全文
摘要:
现在有一个整数数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数。 方法1:Hash链表 方法2:使用两个变量A和B,其中A存储某个数组中的数,B用来计数。开始时将B初始化为0。 遍历数组, 如果B=0,则令A等于当前数,令B等于1; 如果当前数与A相同,则B=B+1; 如果当前数与A不同,则令B=B-1。 遍历结束时,A中的数就是要找的数。 这个算法的时间复杂度是O(n)... 阅读全文
摘要:
转:http://blog.csdn.net/shawnjsp/article/details/6249093今天主要实现的sqrt,即开方功能。一开始也没有什么头绪,在csdn的论坛上看到解决办法,思路简单,但是方法很奇妙。自己稍微添加其他部分,sqrt功能就实现了。#include#includeint main(void){ double _sqrt(double ); /*使用函数原型,即不带参数名,可以减少错误*/ double n,s; printf("Input number:"); scanf("%lf",&n); /*doubl 阅读全文
摘要:
多线程编程之线程安全退出(原创)---by cacorot 在多线程编程的时候,我们会建立线程去完成某项任务。例如杀毒软件点击开始后,就会创建一个线程开始杀毒。如果想取消杀毒,就会通过另外一个按钮来结束这个线程。但是该如何结束杀毒线程呢?如果在windows下,该操作系统在ring3层提供了一个函数TerminateThread。原型如下BOOL TerminateThread(HANDLE hThread,DWORD dwExitCode);该函数能够“杀死”任何线程。hThread标识了要终止的那个线程的句柄。线程终止运行时,其退出代码将变成你作为dwExitCode参数传递的值。同时线. 阅读全文