08 2015 档案
摘要:为了演示,首先建两个包含不良索引的表,并弄点数据。mysql> show create table test1/G*************************** 1. row *************************** Table: test1Create Table...
阅读全文
摘要:线段树(interval tree),也叫区间树。也是一种二叉搜索树,同一般的BST不同之处在于:线段树的每一个结点包含的是一个区间而不是一个数。具体的描述如下:从图上可以看出,线段树的每一个结点都是一个线段(区间),子节点是对父结点的进一步分划,每个子节点的长度都是父节点的二分,每个叶子结点就...
阅读全文
摘要:有时,我们会碰到对字符串的排序,若采用一些经典的排序算法,则时间复杂度一般为O(n*lgn),但若采用Trie树,则时间复杂度仅为O(n)。Trie树又名字典树,从字面意思即可理解,这种树的结构像英文字典一样,相邻的单词一般前缀相同,之所以时间复杂度低,是因为其采用了以空间换取时间的策略。下图为一个...
阅读全文
摘要:在重写hashtable的时候,hashtable的容量最好是一个质数,因为一般都是%(mod)操作,取质数可以有效分化冲突。忽然想到之前看到的这篇文,转一下。★引子 前天,俺在《俺的招聘经验[4]:通过笔试答题能看出啥?》一文,以"求质数"作为例子,介绍了一些考察应聘者的经验。由于本文没有政...
阅读全文
摘要:说明:下文中的所谓的优缺点只不过算作一个分隔符,其实只有使用场景的不同,没有孰优孰劣。vector: 【实现】vector的底层就是一个数组,所以其才能有O(1)的查找效率。只不过它是变长的,容量到达end_of_storage时便另寻空间自动扩容一倍,并将原来的数据都拷贝到新空间,之后将原来空...
阅读全文
摘要:【转帖来自】:http://blog.csdn.net/forestlight/article/details/6933528今天看《linux程序设计》中关于跨平台需要注意的事项,看到了大端小端的问题。突然想起实验室一同学的笔试题,如何判断主机的大端还是小端。 所谓大端就是指高位值在内存中放低位地...
阅读全文
摘要:看到论坛上有人问python多线程和C++多线程的区别?暖神是这样回答的:Python有Global Interpreter Lock,所以嘛……你懂的。C++11开始才有多线程,使用共享内存方式的线程间通信,有低级的atomic operation和memory order,以及高级的lock, ...
阅读全文