自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

转载 linux 锁类型

转载自:http://www.cnblogs.com/SealedLove/archive/2009/02/19/1393755.html锁的类型根据完成任务所需要的结构不同,一个应用程序可能会使用多种不同类型的锁原语,因此,开发人员必须避免在一个给定任务中混淆这些锁原语,尤其在使用第三方提供的库时需要格外小心。假设在一个应用程序中,资源R依赖于第三方提供的库,并且在该库中资源R使用L型锁

2012-05-17 11:09:46 8848

转载 python的dictionary(map)实现

转自:http://www.laurentluce.com/posts/python-dictionary-implementation/This post describes how dictionaries are implemented in the Python language.Dictionaries are indexed by keys and they can b

2012-05-10 12:53:45 4369

转载 STL map与Boost unordered_map

转自:http://blog.csdn.net/orzlzro/article/details/7099231今天看到 boost::unordered_map, 它与 stl::map的区别就是,stl::map是按照operator<比较判断元素是否相同,以及比较元素的大小,然后选择合适的位置插入到树中。所以,如果对map进行遍历(中序遍历)的话,输出的结果是有序的。顺序就

2012-05-10 12:14:52 1527

转载 float,double 的范围和有效数字怎么算出来的?

首先说一下: 范围是3.4E-38 ——3.4E+38,可提供7位有效数字。 上述这两个量都是近似值,各个编译器不太一样的。 下面我就将标准值是怎么定义的,和你说一下: 这个比较复杂,建议你找一下IEEE754标准看一下。 这个简单说一下吧: 在IEEE754标准中进行了单精度浮点数(float)和双精度数浮点数(double)的定义。float有32bit,doubl

2012-04-23 10:48:17 10400 2

原创 python 线程中使用os.system

场景:thread中执行os.system("wget ....")指令,wget未执行原因:待解决

2012-03-13 11:07:54 2375

原创 python捕获异常

try: ......except Exception, why: print sys.exc_info()[0],sys.exc_info()[1]

2012-02-21 09:12:43 1341

原创 python获取shell命令返回值

返回shell的输出(不管标准输出或是错误输出)import commandsline = commands.getstatusoutput(shellcommand)line = line[1]

2012-02-20 13:14:05 9817

原创 python时间操作

将string转换成struct_timetime.strptime(timeString, "%Y-%m-%d %H:%M:%S")计算两个struct_time类型time1, time2之间的时间差(datetime.fromtimestamp(mktime(endTime)) - datetime.fromtimestamp(mktime(startTime))).se

2012-02-20 13:04:46 1234

原创 python中文识别

添加#-*- coding: UTF-8 -*-

2012-02-20 12:55:58 1503

原创 python操作mysql

import MySQLdbconn = MySQLdb.Connection(ip, username, password, database, port)conn.set_character_set("utf8");cur = conn.cursor()cur.execute("select * from table")for data in cur.fetchall():

2012-02-20 12:54:37 942

转载 OAuth2.0的refresh token

转载自http://www.html-js.com/?p=1297最近看人人网的OAuth认证,发现他是OAuth2.0,之前一直看的是新浪的OAuth,是OAuth1.0.二者还是有很多不同的,主要的不同点在access token的获取方式.OAuth1.0的access token获取过来之后,就可以存到数据库里,然后长期使用,因为它有效期很长,通常有效期

2012-02-13 20:37:55 41456 4

转载 Linux服务器上11种网络连接状态

转载自:http://taopian.iteye.com/blog/501580一、Linux服务器上11种网络连接状态        通常情况下,一个正常的TCP连接,都会有三个阶段:1、TCP三次握手;2、数据传送;3、TCP四次挥手。         注:以下说明最好能结合上图来理解。         SYN:(同步序列编号,Synchroni

2011-12-24 19:31:15 1077

转载 正确理解Linux内存占用过高的问题

转载自:http://hi.baidu.com/zheng918/blog/item/5dbe257ffae2e60029388a5b.html最近有个月经问题,老有人问为何开机后,还没有其他服务,mem就被用完了?是不是内存泄露?是否要重启服务?只能说不要看现象,要看本质才能找到问题的根源。往往给出这样的结果,怀疑内存用了90%:Mem: 4146788k total, 38

2011-12-17 22:51:19 899

转载 如何在Linux中防御SYN型DOS攻击

转载自:http://www.dbalife.com/archives/207.html在Linux中防御SYN型DOS攻击的方法比较常见的有增大队列SYN最大半连接数,减小超时值,利用SYN cookie技术,过滤可疑的IP地址等常用方法,下面分别进行分析.增大队列SYN最大半连接数     在Linux中执行命令"sysctl -a|grep net.i

2011-12-17 19:59:36 1600

原创 ulimit使用

ulimit 指令,用来限制用户的资源分配,比如打开文件数,最多进程数。可以使用指令ulimit -a来查看当前用户的各项limit限制。当设置ulimit -n largenumber时,可能会出现错误:-bash: ulimit: open files: cannot modify limit: Operation not permitted解决办法:1. 修改文件/etc

2011-12-17 18:50:39 3731

原创 _tkinter.TclError: no display name and no $DISPLAY environment variable

解决方法:参见:http://matplotlib.sourceforge.net/faq/howto_faq.html#howto-webapp的Matplotlib in a web application server节http://matplotlib.sourceforge.net/faq/usage_faq.html#what-is-a-backend讲述了backend是

2011-12-15 10:28:14 15664

原创 java读写文件

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;pu

2011-10-09 17:39:44 1113

原创 crawler4j代码解析

Crawler包Crawler.CrawController 控制爬虫,先addseed,再开启多个爬虫,并不断监听各个爬虫存活状态。Crawler.WebCrawler 爬虫1. Run():不断循环,每次从Frontier拿50条url,对每条url,proces

2011-07-30 00:15:01 8554 4

转载 zh_CN.UTF-8 环境下 Putty 的配置

转载自:http://www.dup2.org/node/297 当前的 Linux 发行版,选择中文环境后,缺省的 Locale 设置基本都是 zh_CN.UTF-8。由于我们Win32缺省的字符集环境通常是 GBK/GB18030,导致 putty 登录上去后访问 UTF-8 编码的中文文件不正常。以前我只是修改环境变量为 zh_CN.GB2312,然后只操作 GB 编码的文件;最

2011-06-24 09:00:00 1459

原创 文件指针回到开头

<br />#include <stdio.h>#include <iostream>#include <fstream>using namespace std;int main(){ ifstream in; in.open("b.cpp"); string temp; while (getline(in, temp)) { cout << temp << endl; } in.cle

2011-04-27 22:46:00 5637

原创 java抓取google查询页面,获得hit数

<br />import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.

2011-04-27 22:09:00 2572 1

转载 GCC 编译选项。

转载自http://blogold.chinaunix.net/u3/94700/showart.php?id=2340792<br />gcc提供了大量的警告选项,对代码中可能存在的问题提出警告,通常可以使用-Wall来开启以下警告:<br />           -Waddress -Warray-bounds (only with -O2) -Wc++0x-compat<br />           -Wchar-subscripts -Wimplicit-int -Wim

2011-02-28 12:58:00 1855

原创 floyd算法,求任意点间最短距离

<br />有向图G中可能存在负边,但不存在负边灰回路,此时求G上任意两点间的最短距离,可以用Floyd算法。W[i][j]代表i到j的边权值,如果i==j,则W[i][j]=0,如果i和j之间没有边,则W[i][j]=infinite。节点记号为1->n。<br /><br />构造d[k][i][j],它代表当从i到j的最短路径中所包含中间节点只能落在1->k时,所得最短路径长度。<br />递推式:<br />最终d[n][i][j]极为i到j的最短路径(因为它考虑了中间节点为1->n的所

2010-11-14 15:17:00 2430

原创 Dijkstra单源最短路径

<br />对于权值非负的有向图单源最短路径求解,可以用Dijkstra算法。<br /><br />伪代码:<br />Dijkstra(G, w, s){ for each vertex v in G { distance[v] = infinite parent[v] = NULL color[v] = WHITE } distance[s] = 0 insert the vertexes

2010-11-14 12:37:00 990

原创 DAG单源最短路径

对于有向无环图求单源最短路径,可以按照图中节点的拓扑顺序来求路径。伪代码:DagShortestPath(G, w, s){ topologically sort the nodes in G //initialization for each vertex v in G { distance[v] = infinite parent[v] = NULL; } distance[s] = 0 f

2010-11-14 12:00:00 2417

原创 单源最短路径通用解法—BellmanFord

<br />问题:在可能存在负边的情况下,计算有向图中某个起点s到其它所有点的最小距离。设w[i][j]为点i到j的边的权值,G为图的邻接表表示。BellmanFord算法可以用来求s到所有点的最小距离,当图中存在负边回路时,该方法返回false,否则返回true。每个点的最小距离存于distance[v]中,parent[v]为v的前一个节点。<br /><br />伪代码:<br />BellmanFord(G, w, s){ //initialization for eve

2010-11-14 00:06:00 1143

原创 判断无向图中是否有环

转载自:http://blog.csdn.net/lyflower/archive/2008/03/01/2137710.aspx如果存在回路,则必存在一个子图,是一个环路。环路中所有顶点的度>=2。n算法:     第一步:删除所有度     第二步:将度数变为1的顶点排入队列,并从该队列中取出一个顶点重复步骤一。     如果最后还有未删除顶点,则存在环,否则没有环。n算法分析:     由于有m条边,n个顶点。如果m>=n,则根据图论知识可直接判断存在环路。    (证明:

2010-11-10 18:57:00 4044 1

原创 深度优先遍历DFS

本文章代码中的图用邻接矩阵来表示,所以算法复杂度为O(V^2)。如果用邻接表来表示,那么算法的复杂度为O(V+E)。通过DFS,形成一个由多棵深度优先树所组成的深度优先森林。将原先图中的边添加到该森林之后,可以将所有边定义为以下四类:1.    树边:森林中自带的边(即不在森林生成后,从原先图中添加的边)。2.    反向边:从某个节点指向祖先的边,包括自己指向自己。非森林自带的边。如果图中存在反向边,则表明存在环。3.    正向边:从某个节点指向后代的边,非森林自带的边。4.   

2010-11-09 00:03:00 3151

原创 广度优先遍历BFS

本文章代码中的图用邻接矩阵来表示,所以算法复杂度为O(V^2)。如果用邻接表来表示,那么算法的复杂度为O(V+E)。献上代码:#include #include #include #define MAXLENGTH 1000#define WHITE false#define BLACK trueusing namespace std;//the color of node ibool color[MAXLENGTH];//the parent of node iin

2010-11-08 22:38:00 1094

原创 动态规划--达到最高效益的调度

问题:假设有一台机器,以及在此机器上处理的n个作业a1,a2,...an的集合。每隔作业aj有一个处理时间tj,效益pj,以及最后期限dj。机器在一个时刻只能处理一个作业,而且作业aj必须在tj连续时间单位内不间断地运行。如果作业aj在最后期限dj之前完成,则获得效益pj,但如果在最后期限之后才完成,则没有效益。请给出一个动态规划算法,来寻找能获得最大量效益的调度,假设所有的处理时间都是1到n之间的整数。分析:其实这个问题类似于01背包问题。1.    将a1,a2,…,an按照dj值排序,从小

2010-11-07 14:04:00 4463 12

原创 动态规划--01背包问题

问题:0-1背包问题是一个经典的动态规划问题,问题定义如下:有n个物品,其重量分别为W={w1, w1, w3, ... wn},其价值分别为V={v1, v2, v3, .. vn}。现在要将这N个物品放入允许的最大重量为w的包中,问怎样选择物品能使包中的物品总价值最大。分析:构建二维数组a[n][w],a[i][j]代表将1->i个物品放入允许的最大重量为j的包中,所能产生的最大总价值。初始时,令a[i][0]=0(i = 0->n), a[0][j]=0(j = 0->w)。计算a[i

2010-11-07 13:37:00 1530 1

原创 动态规划--计划一个公司聚会

<br />问题:Stewart教授是一家公司总裁的顾问,这家公司计划一个公司聚会。这个公司有一个层次结构;也就是,管理关系形成一棵以总裁为根的树。人事部给每个雇员以喜欢聚会的程度来排名,这是一个实数。为了使每个参加者都喜欢这个聚会,总裁不希望一个雇员和他(她)的直接上司同时参加。<br />Stewart教授面对一颗描述公司结构的树,使用了10.4节描述的左子女、右兄弟表示法。树中每个节点除了包含指针,还包含雇员的名字以及该雇员喜欢聚会的排名。描述一个算法,它生成一张客人列表,使得客人喜欢聚会的程

2010-11-07 00:44:00 3709 1

原创 动态规划--整齐打印

<br />问题:考虑在一个打印机上整齐地打印一段文章的问题。输入的正文是n个长度分别为L1、L2、……、Ln(以字符个数度量)的单词构成的序列。我们希望将这个段落在一些行上整齐地打印出来,每行至多M个字符。“整齐度”的标准如下:如果某一行包含从i到j的单词(i<j),且单词之间只留一个空格,则在行末多余的空格字符个数为 M - (j-i) - (Li+ …… + Lj),它必须是非负值才能让该行容纳这些单词。我们希望所有行(除最后一行)的行末多余空格字符个数的立方和最小。请给出一个动态规划的算法,来在

2010-11-06 22:40:00 8506 2

原创 动态规划--双调欧几里得旅行商问题

问题描述: 欧几里得旅行商问题是对平面上给定的n个点确定一条连接各点的最短闭合旅程的问题。如图(a)给出了一个7个点问题的解。这个问题的一般形式是NP完全的,故其解需要多于多项式的时间。    J.L. Bentley 建议通过只考虑双调旅程(bitonic tour)来简化问题,这种旅程即为从最左点开始,严格地从左到右直至最右点,然后严格地从右到左直至出发点。下图(b)显示了同样的7个点的最短双调路线。在这种情况下,多项式的算法是可能的。事实上,存在确定的最优双调路线的O(n*n)时间的算法。【动

2010-11-06 14:43:00 3618 5

原创 动态规划--最优二叉查找树

问题:假设n个已经排序的关键字{1,2,…,n},他们被搜索的概率分别为{p1,p2,…,pn},其它搜索值则被这些关键字分割,它们的概率为{q0,q1,…,qn}。q0代表搜索值小于1的可能性,qn代表搜索值大于n的可能性,qi(i=1,2,,…,n-1)代表搜索之大于i小于i+1的可能性。构建二叉搜索树,使得值搜索的期望代价最小。分析:令a[i][j]代表i->j的最优二叉搜索树的期望代价。于是我们可以得到以下递推式:这个算法的复杂度为O(n^3)。Knuth已经证明对于所有的1 代码:

2010-11-05 23:42:00 1577

原创 动态规划--最长单调递增子序列

问题:找出一个n个数的序列X中最长的单调递增子序列。分析1:这里描述一个O(n^2)的算法,令c[i]表示:在a[0->i]中,当以a[i]为单调递增子序列最后一个元素时,所得最长单调递增子序列的长度。所以,我们可以得到递推式:代码:#include #define MAXLENGTH 1000using namespace std;/** * @brief Get the longest increasing subsequence. The time complexity i

2010-11-05 21:14:00 13892

原创 动态规划--最长公共子序列

问题:已知整数序列X,Y,长度分别为m,n,求出它们的最长公共子序列。子序列的定义如下:给定一个序列X={x1, x2, …, xm},另一个序列Z={z1, z2, …, zk}是X的一个子序列,如果存在X的一个严格递增下标序列{i1, i2, …., ik},使得对于所有的j=1,2, …, k,有xij = zj。分析:令a[i][j]代表序列X[1->i]和Y[1->j]的最长公共子序列。则可获得递推式代码#include #define MAXLENGTH 1000using name

2010-11-05 18:31:00 1187

原创 动态规划--装配线调度问题

问题描述:一个找出通过工厂装配线的最快方式的制造问题。共有两条装配线,每条有n个装配站,装配线i的第j个装配站完成工作需要的时间为a[i][j] 。在通过i装配线的第j个装配站后,产品可以直接进入i装配线的j+1个装配站,当中不需要损耗时间;产品也可以进入另外一条装配线的j+1个装配站,这个过程需要损耗t[i][j]时间。产品从初始站进入装配线分别需要损耗时间为e[0],e[1] ,产品从装配线进入终点站分别需要时间为x[0],x[1]。求一个产品从初始站到达终点站的最快路径。分析:当j>1时,从初始站到完

2010-11-05 16:34:00 2854

原创 二叉搜索树

<br />#ifndef BINARYSEARCHTREE_H#define BINARYSEARCHTREE_H#include <cstdlib>#include <iostream>template <typename T>struct Node{ struct Node<T> *parent; struct Node<T> *left; struct Node<T> *right; T value;};template <ty

2010-11-04 00:02:00 625

原创 随机访问数组中第i大的元素

<br />在快排的基础上进行算法实现,只是每次分区之后只选择第i大的元素所在的区域进行查找。平均算法复杂度为O(n),最差算法复杂度为O(n^2),如同快排一样,出现最差情况的概率极低。<br />#ifndef RANDOMSELECT_H#define RANDOMSELECT_H#include <iostream>/** * @brief Exception class which means that i is larger than the number of elemen

2010-11-01 20:44:00 1071

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除