摘要:
本文将总结一种数据结构:跳跃表。前半部分跳跃表性质和操作的介绍直接摘自《让算法的效率跳起来--浅谈“跳跃表”的相关操作及其应用》上海市华东师范大学第二附属中学 魏冉。之后将附上跳跃表的源代码,以及本人对其的了解。难免有错误之处,希望指正,共同进步。谢谢。 跳跃表(Skip List)是1987年才诞生的一种崭新的数据结构,它在进行查找、插入、删除等操作时的期望时间复杂度均为O(logn),有着近乎替代平衡树的本领。而且最重要的一点,就是它的编程复杂度较同类的AVL树,红黑树等要低得多,这使得其无论是在理解还是在推广性上,都有着十分明显的优势。 首先,我们来看一下跳跃表的结构 跳跃表由多条链构成 阅读全文
摘要:
以下内容来自于mysql经验分享。一、分页sql的写法假设,一个公司产品有2000条记录,要分页取其中10个产品,假设访问公司索引需要50个IO,2条记录需要1个表数据IO在mysql中采用limit分页原理:一次性根据过滤条件取出所有字段进行排序返回 select * from t where thread_id = 771025 and deleted = 0 order by gmt_create asc limit 0, 10;数据访问开销=索引IO+索引全部记录结果对应的表数据IO该种写法越翻到后面执行效率越差,时间越长,尤其表数据量很大的时候或者可以更优化的,利用表的P... 阅读全文