为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用...
分类:
其他好文 时间:
2014-06-30 12:39:53
阅读次数:
257
2-3-4 树在计算机科学中是阶为 4 的B树。大体上同B树一样,2-3-4 树是可以用做字典的一种自平衡数据结构。它可以在O(logn)时间内查找、插入和删除,这里的n是树中元素的数目。2-3-4 树在多数编程语言中实现起来相对困难,因为在树上的操作涉及大量的特殊情况。红黑树实现起来更简单一些,所...
分类:
其他好文 时间:
2014-06-25 09:29:23
阅读次数:
419
题意:题中平衡数的定义: 以一个位置作为平衡轴,然后左右其他数字本身大小作为重量,到平衡轴的距离作为全职,实现左右平衡(即杠杆原理平衡)。然后为区间[x,y]内平衡数的个数。 (0 ≤ x ≤ y ≤ 1018)
解法:数位dp。如果一个数的平衡数,那么它的平衡轴位置是确定的。原来一直尝试数位dp在dfs时候列举平衡轴的位置,后来才意识到可以提前枚举平衡轴位置,然后再dfs,这样比较好写...
分类:
其他好文 时间:
2014-05-15 02:43:39
阅读次数:
288