摘要:1、安装python驱动pymongo$easy_install pymongo2、演示实例 #!/usr/bin/python #-*-coding:utf-8-*- import pymongo import datetime #创建连接 connection = pymongo.Connection('localhost', 27017) #切换数据库 db = connection.blog_db #文档添加 post = {"author" : "aho", "text" : "My first b
阅读全文
摘要:在使用python链接数据库时,使用import MySQLdb, 居然提示缺少此包,下面是google后的解决方案:1、http://sourceforge.net/projects/mysql-python上下载MySQL-python安装包 解开并进入相应的目录,我们可以先阅读README文件,其中有关于安装的介绍: $ tar xfz MySQL-python-1.2.1.tar.gz $ cd MySQL-python-1.2.1 $ # edit site.cfg if necessary $ p...
阅读全文
摘要:下面链接中的ppt是我在淘宝数据平台工作时使用MySQL的心得,分享给大家http://files.cnblogs.com/L-aho/MySQL%E4%BC%98%E5%8C%96%E4%BB%8B%E7%BB%8D.pptx感谢量子统计的茂森和张洋给我的参考,其中很多内容来自两位平时的分享参考文献:《高性能MySQL》
阅读全文
摘要:问题:有12个外观一样的铁球,其中有一个铁球的重量与其他的不同,然后我们有一个天平,现在给三次使用天平的机会,求找到那个重量不同的球。(之前我有在百度空间里贴这篇文章,居然各种不让看图,好恶心,大家如果看不到图片,可以看我这边的帖子http://hi.baidu.com/huw17/item/862a66099d9cf6c074cd3ca0)答案:第一步:我们先将球分成三组(如下图):然后将A组的球和B组的球放在天平两侧,如果一样重,则代表不同重量的球在C组(只需在C组中找到这个不同重量的球即可,方法比较简单,就不再赘述);如果不一样重,我们假设A组的比B组的要重这种情况,继续到第二步来。第二
阅读全文
摘要:问题描述:给定一个文件,假设文件记录数很多,多到记录数无法一次全部load到内存中,这时候就需要外排算法来快速解决这一问题算法思想:根据有限的内存资源将大文件分为L个段,然后依次将这L个段读入内存并利用高效的内部排序算法(比如快排)对每个段进行排序,排序后的结果即为初始有序归并段直接写入外存文件。下面主要研究一下使用败者树来进行归并排序。首先介绍下什么是败者树:一下内容介绍来自http://blog.163.com/yangjun1988422@126/blog/static/474129172011711103313483/,感谢博主分享 败者树是胜者树的一种变体。在败者树中,用父结点记..
阅读全文
摘要:问题描述:对于一个数组A[N],要求生成一个新的数组B[N]。对数组B的要求是B[i] = A[0] * A[1]…*A[i - 1] * A[i+ 1]*…*A[N],也就是不包括A[i]的剩余元素之积。不准用除法,要求时间复杂度为O[N]。解法:直接上程序 #include <stdio.h> int main() { int a[5] = {1, 2, 3, 4, 5}; int b[5]; int a1[6], a2[6]; a1[0] = 1; a2[5] = 1; int j = 0; for (int i...
阅读全文
摘要:qsort函数是对快排的实现,可以对各种数据结构的数组形式进行排序,不过需要自己来给出该数据结构的比较函数;下面仅以int和cstring为例来描述其用法int型: #include <stdio.h> #include <stdlib.h> int intcmp(const void* it1, const void* it2) { return *(int*)it1 - *(int*)it2; } int main() { int a[3] = {3, 1, 2}; qsort(a, 3, sizeof(int), intcmp); p...
阅读全文
摘要:ab命令原理ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,老少皆宜。自己使用也须谨慎。否则一次上太多的负载,造成目标服务器直接因内存耗光死机,而不得不硬重启,得不偿失。ab实战对于Linux系统,一般安装好Apache后可以直接执行:ab -n 10000 -c 100 http
阅读全文
摘要:今天在写程序时遇到的一个问题 #include <stdio.h> #include <string> using std::string; int main() { char str[STEL]; while (scanf("%s", str) && strcmp(str, "end")) { printf("%s = %u\n", str, hash(str)); } return 0; }写完用g++编译,出现error: ‘strcmp’ was not declared in this
阅读全文
摘要:#define NHASH 29989 //根据自己的实际需要来设置 #define MULT 31 unsigned int hash(char* p) { unsigned int h = 0; for ( ; *p; p++) { h = MULT * h + *p; } return h % NHASH; }本来我以为其中的31是为了将一个字符串,比如abc当做一个31进制的数字来看,但是考虑到26个英文字母再加上大写的情况,就是52个,跟31不沾边啊。留待思考!
阅读全文
摘要:set类型 map类型是键值对的集合,相反地,set容器只是单纯的键的结合。当只想知道一个值是否存在时,使用set容器就是最合适的。 set容器支持大部分的map操作:关系运算,类似于string类型的关系运算如果两个容器具有相同的长度而且所有元素都相等,那么这两个容器就相等;否则,不相等;如果两个容器的长度不相等,但较短的容器中所有的元素都等于较长容器中对应的元素,则称较短的容器小于另一个;如果连个容器都不是对方的初始子序列,则它们的比较结果取决于所比较的第一个不相等的元素begin、end、rbegin、rend操作类型别名(typedef)swap和赋值操作。clear和erase操..
阅读全文