上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页

2012年5月18日

Python time模块

摘要: Time模块表示方式:1.浮点型: 以1970.1.1到现在经过的秒数(Unix格式),如time.time(), time.mktime(struct_time)2.struct类元组:如time.localtime(), time.gmtime()对于struct_time形式输出函数可用分片的方法限制输出,如:1importtime2time.localtime()#struct类元组3time.localtime()[:6]#(2011, 10, 17, 16, 26, 58)time.time() 取从1970-1-1到当前时间的秒数,以浮点类型表示1importtime2time. 阅读全文

posted @ 2012-05-18 16:41 linzuxin 阅读(135) 评论(0) 推荐(0) 编辑

Python os.path模块

摘要: os.path模块basename('文件路径') 去掉目录路径,返回fname文件名1importos2os.path.basename('/Volumes/1.mp4')#输出('1.mp4')dirname('文件路径') 去掉文件名,返回目录路径1importos2os.path.dirname('/Volumes/1.mp4')#输出('/Volumes')splitdrive('文件路径') 返回(drivername,fpath)元组1importos2os.path. 阅读全文

posted @ 2012-05-18 16:36 linzuxin 阅读(142) 评论(0) 推荐(0) 编辑

Python os模块

摘要: OS 模块os模块提供了一个统一的操作系统接口函数,os模块能在不同操作系统平台如nt,posix中的特定函数间自动切换,从而实现跨平台操作。os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录到dirnameos.curdir 返回当前目录: ('.')1importos2os.getcwd()#输出'/Volumes/Leopard/Users/Caroline'3os.chdir('/Volumes')4os.getcwd()#输出&# 阅读全文

posted @ 2012-05-18 16:31 linzuxin 阅读(250) 评论(0) 推荐(0) 编辑

2012年5月11日

Python中的easy_install

摘要: Python中的easy_install工具很爽,它的作用类似于Php中的pear,或者Ruby中的gem,或者Perl中的cpan。如果想使用easy_install工具,可能需要先安装setuptools,不过更酷的方法是使用ez_setup.py脚本:wget -q http://peak.telecommunity.com/dist/ez_setup.pypython ez_setup.py安装完后,最好确保easy_install所在目录已经被加到PATH环境变量里:Windows: C:\Python25\ScriptsLinux: /usr/local/bin比如说要安装Pyth 阅读全文

posted @ 2012-05-11 10:35 linzuxin 阅读(214) 评论(0) 推荐(0) 编辑

2012年5月8日

Redis进阶教程-aof(append only file)日志文件

摘要: 今天看了Redis源码两个多小时,搞清楚了appendonlyfile(AOF)日志的rotate原理.官方文档里面对这部分做了单独的说明,但是就我看来,作者不够优美的用词,完全会让人理解错误.(PS:我要不是觉得文档有问题也不至于看源码)何为AOF?在Redis配置文件中有一个叫appendonly的选项,可以写yes或no.这个选项就是负责是否开启AOF日志的开关.AOF日志,你可以简单理解为MySQL binlog一样的东西,作用就是记录每次的写操作,在遇到断电等问题时可以用它来恢复数据库状态.但是他不是bin的,而是text的.一行一行,写得很规范.如果你是一台redis,那你也能人肉 阅读全文

posted @ 2012-05-08 10:31 linzuxin 阅读(3431) 评论(0) 推荐(1) 编辑

2012年5月5日

最短路径算法—Dijkstra(迪杰斯特拉)算法分析与实现(C/C++)

摘要: Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。其基本思想是,设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。初始时,S中仅含有源。设u是G的某一个顶点,把从源到u且中间只经过S中顶点的路称为从源到u的特殊路径,并用数组d. 阅读全文

posted @ 2012-05-05 20:44 linzuxin 阅读(305) 评论(0) 推荐(0) 编辑

2012年5月4日

数据结构:TRIE树

摘要: Trie树就是字符树,其核心思想就是空间换时间。举个简单的例子。给你100000个长度不超过10的单词。对于每一个单词,我们要判断他出没出现过,如果出现了,第一次出现第几个位置。这题当然可以用hash来,但是我要介绍的是trie树。在某些方面它的用途更大。比如说对于某一个单词,我要询问它的前缀是否出现过。这样hash就不好搞了,而用trie还是很简单。现在回到例子中,如果我们用最傻的方法,对于每一个单词,我们都要去查找它前面的单词中是否有它。那么这个算法的复杂度就是O(n^2)。显然对于100000的范围难以接受。现在我们换个思路想。假设我要查询的单词是abcd,那么在他前面的单词中,以b,c 阅读全文

posted @ 2012-05-04 21:32 linzuxin 阅读(168) 评论(0) 推荐(0) 编辑

Trie树|字典树的简介及实现

摘要: Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.其基本性质可以归纳为:1. 根节点不包含字符,除根节点外每一个节点都只包含一个字符。2. 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。3. 每个节点的所有子节点包含的字符都不相同。其基本操作有:查找 插入和删除,当然删除操作比较少见.我在这里只是实现了对整 阅读全文

posted @ 2012-05-04 21:20 linzuxin 阅读(217) 评论(0) 推荐(0) 编辑

Hash和Bloom Filter

摘要: 这几天的“科研”中涉及到了一个概念,Bloom Filter(有的中文翻译为布隆过滤器,不知道正确否),今天看了下相关的资料,发现这东西和Hash还挺有关系的,在这里一并讲下。Hash(函数/表)Hash (中译为哈希,或者散列)函数在计算机领域,尤其是数据快速查找领域,加密领域用的极广。其作用是将一个大的数据集映射到一个小的数据集上面(这些小的数据集叫做哈希值,或者散列值)。Hash table(散列表,也叫哈希表),是根据哈希值(Key value)而直接进行访问的数据结构。也就是说,它通过把哈希值映射到表中一个位置来访问记录,以加快查找的速度。下面是一个典型的hash函数/表示意图:哈希 阅读全文

posted @ 2012-05-04 21:12 linzuxin 阅读(278) 评论(0) 推荐(0) 编辑

布隆过滤器 bloom filter

摘要: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。基本概念如果想判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路. 但是随着集合中元素的增加,我们需要的存储空间越来越大,检索速度也越来越慢()。不过世界上还有一种叫作散列表(又叫哈希表,Hash table)的数据结构。它可以通过一个Hash函数将一个元素映射成一个位阵列(Bit ar 阅读全文

posted @ 2012-05-04 21:04 linzuxin 阅读(198) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 18 下一页

导航