从开始看STL源码到今天差不多有一个月的时间了,在这研读STL源码过程中确实学习到了很多,深深被大师们的设计思想所打动。其中使用迭代器的思想是其STL的最大的亮点,通过泛型编程,是得所有的容器对外都提供统一的访问接口,而屏蔽掉了各个容器底层实现的细节。相对了面向对象的编程,泛型编程同样能够实现多态的功能,而且还具有更高的安全性以及效率,因为泛型编程就是编译期间就已经决定了变量的类型。...
分类:
其他好文 时间:
2014-04-29 13:36:19
阅读次数:
701
SQLite是一个轻量级的关系型数据库,在访问量不超过10万PV的中小网站中使用绰绰有余。而且使用方便,接口简单,下面从命令行和python接口两方面介绍SQLite3的基本操作。
在linux终端中,通过 sqlite3 a.db 打开a.db数据库,如果不存在会自动创建,创建一个表格:
create table users(id integer primary key,na...
分类:
数据库 时间:
2014-04-29 13:33:21
阅读次数:
489
(转载请注明出处:http://blog.csdn.net/buptgshengod)
1.背景
以前我在外面公司实习的时候,一个大神跟我说过,学计算机就是要一个一个贝叶斯公式的套用来套用去。嗯,现在终于用到了。朴素贝叶斯分类器据说是好多扫黄软件使用的算法,贝叶斯公式也比较简单,大学做概率题经常会用到。核心思想就是找出特征值对结果影响概率最大的项。公式如下:...
分类:
编程语言 时间:
2014-04-29 13:15:21
阅读次数:
297
希尔排序
希尔排序,有时称为递减增量排序,是在插入排序基础上,把列表拆成几个较小的子表,然后对每个子表使用插入排序的方法。选出子表的方法是希尔排序的关键,它并不是把列表的中相近的元素取出来组成子表,而是使用了一个增量值I,有时也叫做“间隙”,然后每隔一个间隙选中一个元素来组成子表。
这可以从图6中看出来,列表中有9个元素,如果我们使用增量3,就有3个子表,每个子表单独做插入排序。完成之后的...
分类:
编程语言 时间:
2014-04-29 13:15:20
阅读次数:
353
对于逆向迭代器,很重要的一点是需要弄清楚逻辑位置和实际位置二者的区别。
下图显示了逆向迭代器的位置和所指的数值:
可以发现,逆向迭代器所指位置(实际位置)和所代表的的数值(逻辑位置或数值)是不同的。C++这么做是有其原因的。导致这个行为的原因是区间的半开性。为了能够制定容器内的所有元素,我们必须运用最后一个元素的下一个位置。但是对于reverse迭代器而言,这个位置位于第一个元素之...
分类:
其他好文 时间:
2014-04-29 13:14:21
阅读次数:
367
最近亲眼看到快播被大批警察包围,感觉到快播注定要关闭很多东西,很多宅男宅女们又要寂寞了,于是乎,疯狂的研究DHT网络技术
看到网上也有开源的代码,这不,我拿来进行了二次重写,呵呵,上代码:
#encoding: utf-8
import socket
from hashlib import sha1
from random import randint
from struct import u...
分类:
其他好文 时间:
2014-04-29 13:13:20
阅读次数:
420
paip.性能跟踪profile原理与架构与本质-- python扫带java php
##背景
弄个个输入法音标转换atiEnPH工具,老是python性能不的上K,7k记录浏览过k要30分钟了.
##目标
分析一个程序的性能,最终都归结为回答4个基本的问题:
程序运行速度有多快?
运行速度瓶颈在哪儿?
程序使用了多少内存?
内存泄露...
分类:
编程语言 时间:
2014-04-28 10:46:41
阅读次数:
334
paip.元数据驱动的转换-读取文件行到个list理念 uapi java php python总结
#两个思路
1.思路如下:使用file_get_contents()获取txt文件的内容,然后通过explode()把获得的字符串转化为数组。获得数组长度可以使用count()函数
2.使用按照行读取api
在正则表达式中,有一个\n是newline的意思,又有一个\r是carri...
分类:
编程语言 时间:
2014-04-28 10:46:40
阅读次数:
304
paip.python3 的类使用跟python2 的不同之处
#------python3的写法而且使用..
#class syllable(BaseClassA, BaseClassB):
class syllable():
i = 123 # 类成员
##todox selft.xxx is err,tips selef is not def
c...
分类:
编程语言 时间:
2014-04-28 10:24:40
阅读次数:
284
paip.日志中文编码原理问题本质解决python
默认的python日志编码仅仅gbk...保存utf8字符错误..输出到个eric5的控制台十默认好像十unicode的,要是有没显示出来的字符,大概十字体问题..调整eric5的字体走ok兰.
#调用封装
from log import *
iniLog (r"c:\enPn2atiEnPh.log")
logx...
分类:
编程语言 时间:
2014-04-28 10:17:40
阅读次数:
395