- 博客(16)
- 收藏
- 关注
原创 图论 欧拉回路
欧拉回路/欧拉路:通过图G中每条边仅一次的一个回路(回到原点)。性质1: 无向图为欧拉回路,当且仅当图上的每个点度数都是偶数。性质2: 有向图为欧拉回路,当且仅当图上的每个点入度等于出度。半欧拉回路/欧拉路径:每一条边仅走一次,不需要回到原点。推论1:无向图为半欧拉图,当且仅当两顶点度数为奇数,其它点度都为偶数,且图连通。推论2:有向图为半欧拉图,当且仅当一个顶点入度比
2013-05-28 19:33:04 1276
原创 OpenCV Haar 检测
#include "cv.h" #include "highgui.h"#include #ifdef _EiC #define WIN32 #endifstatic CvMemStorage* storage = 0; static CvHaarClassifierCascade* cascade = 0;void detect_and_draw( IplImage*
2013-05-24 16:59:13 2142
原创 C/C++ 多线程
Linux:编译gcc: 连接线程库 -lpthread#includevoid* Function(void* pf) { return NULL;}int main(int argc, char *argv[]) { pthread_t thread_id; pthread_create(&thread_id, NULL, &Function, arg);
2013-05-24 14:44:35 929
原创 Python 使用Cookie访问
例子: 访问http://www.towords.com/网站,抽出一共掌握的单词。# coding=GBKimport urllib, urllib2, cookielibimport re, sysdef LogInByCookie(): cookie = {"toWords_sId": "84bffb5f172f1a9539bda7e7606d6d7f"}
2013-05-24 09:59:18 2232
原创 图论 LCA在线算法 倍增法
Lowest Common Ancestor:如求A,B两点的LCA,先计算出各个结点的深度depth[],然后,通过递推公式求出各个结点的2次方倍的祖先ancestor[],假设depth[A] > depth[B],则找到depth[ancestor[A][i]] == depth[B]也就是A的某一祖先与B深度相同,然后,u = ancestor[A][i],通过ancestor[u][
2013-05-22 17:30:36 2931 2
原创 图论 LCA离线算法 Tarjan
Least Common Ancestors:对于一棵树求A,B两点的最小公共祖先。从根节点DFS,在回溯时将当前点加入集合,如搜索到A时判断B是否已在集合中,如B已在集合中则合集中最浅的结点为A,B的最小公共祖先;如B不在集合中,则继续搜索B。离线算法Tarjan:在O(n + q)时间内,一次性计算出所有请求的LCA,但结果是无序的,得到结果的次序与请求发出的次序不相同。(n 为结点数
2013-05-22 15:23:02 1052
原创 Cmake 基础
一个CMakeLists例子:project(CMAKETEST)cmake_minimum_required(VERSION 2.8)include_directories(${PROJECT_SOURCE_DIR}/Include/)set(CMakeTest ${PROJECT_SOURCE_DIR}/Src/CMakeTestMain.c ${PRO
2013-05-21 09:45:53 1053
原创 OpenCL的使用
例子: 对res数组求平均值ans为结果#include"CL/cl.h"#include#define SIZE_X 10#define SIZE_Y 10const char* KernelAverage = "const int dir[9][2] = { 1 , 0 , 0 , 1 , -1 , 0 , 0 , -1 , 1 , 1 , 1 , -1 , -1 , 1 ,
2013-05-21 08:48:36 3350
原创 Debug Valgrind
总结信息的详解:still reachable: 指的你的指针指向的动态内存还没有被释放就退出了,一般来讲这种不会出现问题,OS会负责回收definitely lost: 检测到内存一定泄漏了,这类错误一定要处理。possibly lost: 说可能有泄漏,一般都是中间有二级指针分配的情况会报错。suppressed: 统计了使用valgrind的某些参数取消了的错
2013-05-17 15:46:30 959
原创 快速Crc32附录
快速Crc32实现:http://blog.csdn.net/edwardvsnc/article/details/8901438用汇编写了一个FastCrc32,比用_mm_crc32_u32慢了1倍。代码:inline uint32_t MyFastCRC32(char *src, uint32_t len) { static uint32_t re = 0xfffff
2013-05-17 11:54:08 3505
原创 Jni 使用
Java操作: 定义函数(关键字native): public native void FunctionName(byte arglist1[], char arglist2[], .....); Load库文件 : 1. System.loadLibrary("Name") 加载在library.path下Name.dll文件,注意linux下.so文件的命
2013-05-17 11:26:02 919
转载 CentOS5启用Telnet服务
转载地址: http://yuanbin.blog.51cto.com/363003/129030配置步骤如下:一、安装telnet软件包(通常需要两个) 1、 telnet(或 telnet-client),这个软件包提供telnet 客户端程序; 2、 telnet-server,这个软件包提供telnet 服务器端程序;安装之前先检查系统是否已安装
2013-05-16 16:19:19 894
原创 图论 拓扑排序
Topological Sort:如果图是有回路的,就不可能存在拓扑排序后的线性序列。一个图的拓扑排序可以看成是图中所有顶点沿水平线排列而成的一个序列,使得所有的有向边均从左指向右。时间复杂度: O(V+E) 模板:#define NODE_SIZE 500#define EDGE_SIZE (NODE_SIZE*NODE_SIZE)struct Edge { i
2013-05-16 14:56:32 874
原创 图论 最短路 Dijkstra
Dijkstra :单源最短路,不允许有负权。执行过程:以某一源点开始(源点在集合内)找出与其连通的最近结点,并加入集合,然后松弛集合外的所有点,继续找与源点最近的集合外的点,加入集合,循环这个过程,直到所有点都进入集合为止。如果某点未在集合内,则该点与原点不连通。模板:#define NODE_SIZE 100#define INFINITE_INT 0x0fffffff
2013-05-13 11:37:02 989
原创 Hadoop v2(Yarn)中的快速Crc32
测试源码:下面的代码是从Hadoop 2.0.3中PureJavaCrc32C.java中取出来的:A pure-java implementation of the CRC32 checksum that usesthe CRC32-C polynomial, the same polynomial used by iSCSIand implemented on many Int
2013-05-13 11:07:00 2183
原创 GNU Flex与Bison结合使用
Bison适合上下文无关文法(Context-free grammar),并采用LALR(1)算法的文法。当bison读入一个终结符(token),它会将该终结符及其语意值一起压入堆栈。这个堆栈叫做分析器堆栈(parser stack)。把一个token压入堆栈通常叫做移进(shifting);当已经移进的后n个终结符和组(groupings)与一个文法规则相匹配时,会被根据那个规则结合起来叫做归
2013-05-02 14:46:54 2459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人