计算机技术学习
flxchy4
这个作者很懒,什么都没留下…
展开
-
正则表达式分类
编程时需要用到正则表达式判断邮件的格式,就顺便学习了一下正则表达式: 写正则表达式时 1,第一步想到的是”具体的元素符“,例如\w,@和.,as \w\+\.\_\%\-\+ PS:\d,\s,\w ... 2,第二步想到的是数量,\w是+,@是single,, as [\w\+\.\_\%\-\+]+@[\w\-]+(\.@[\w\-])+ PS:*,{n,},+,?,{n}...2012-04-24 08:53:37 · 92 阅读 · 0 评论 -
入参用回调函数代替对象或对象引用,有利于单元测试
这样的一个运行在新线程里的函数: def my_func(args,obj): response = request(args) obj.fun1(reponse.pra1) obj.fun2(reponse.pra2) obj.fun3(reponse.pra3) 笔者觉得这样不太好做my_func的单元测试,因为它受obj的影响太大。不如用回调函数,像这样:...原创 2014-02-28 14:20:37 · 144 阅读 · 0 评论 -
学习B树
B树是一种平衡的多叉树,一棵m阶B树是一棵平衡的m路搜索树。它如果不是空树的话,必须满足下列的性质: 1、根结点至少有两个子女;(即根结点的度数大于等于2) 2、每个非根结点所包含的关键字个数j满足:int(m/2)...原创 2015-08-25 19:27:30 · 125 阅读 · 0 评论 -
学习B+树
B+树是一个n叉树,每个结点通常有多个孩子,一棵B+树包含根结点、内部结点和叶子结点。根结点可能没有子女,也可能有两个或两个以上子女(就是说不可能只有一个子女)。 m阶B+树和m阶B-树的差异在于: 1.有n棵子树的结点中含有n个关键字; 2.所有的叶子结点中包含了全部关键码的信息,及指向含有这些关键码记录的指针,且叶子结点本身依关键码的大小自小而大的顺序链接。 3.所有的非终端结点可...原创 2015-08-27 14:28:52 · 128 阅读 · 0 评论 -
为什么使用B-Tree(B+Tree)
一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上。这样的话,索引查找过程中就要产生磁盘I/O消耗,相对于内存存取,I/O存取的消耗要高几个数量级,所以评价一个数据结构作为索引的优劣最重要的指标就是在查找过程中磁盘I/O操作次数的渐进复杂度。换句话说,索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数。为什么使用B-/+Tree,还跟磁盘存取原理...原创 2015-08-27 14:54:11 · 192 阅读 · 0 评论 -
学习MySQL的B-Tree索引
在 MySQL 中,主要有四种类型的索引,分别为: B-Tree 索引, Hash 索引, Fulltext 索引和 R-Tree 索引。我们主要分析B-Tree 索引。 B-Tree 索引是 MySQL 数据库中使用最为频繁的索引类型,除了 Archive 存储引擎之外的其他所有的存储引擎都支持 B-Tree 索引。Archive 引擎直到 MySQL 5.1 才支持索引,而且...原创 2015-08-27 15:07:15 · 127 阅读 · 0 评论 -
关于联合索引
联合索引是由多个字段组成的索引。 如果你经常要用到多个字段的多条件查询,可以考虑建立联合索引,一般是除第一个字段外的其它字段不经常用于条件筛选情况,比如说a,b 两个字段,如果你经常用a条件或者a+b条件去查询,而很少单独用b条件查询,那么可以建立a,b的联合索引。如果a和b都要分别经常独立的被用作查询条件,那还是建立多个单列索引。...原创 2015-08-27 15:22:17 · 136 阅读 · 0 评论 -
学习红黑树
红黑树(Red Black Tree) 是一种自平衡二叉查找树。 它是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。 红黑树在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性...原创 2015-08-31 18:37:49 · 103 阅读 · 0 评论