1)http://blogold.chinaunix.net/u2/65170/showart_1073483.html百度的几个海量数据笔试题
2)数据范式之间的推导不会。即如果属于bcnf为什么就推导出是第二范式。再就是完整性约束条件等没细看。需要详细看数据库系统概论这个课本。。
3)实现动态的快速查找,边遍历的时候边插入到数据结构中。用到以下三个方法:
一个是用(二叉排序树,平衡二叉树或红黑树,比如java的treemap就应该是红黑树),第二个是用键树,第三个是用哈希表。
a) B+一般是典型的海量存储索引数据结构. 树的深度很小
AVL, HASH一般可以用于内存中的数据结构.
Hash表也可以作为set, bag的union, intersection等操作的数据结构.
hash用处很多, 主要就是字典特性, 大部分数据结构是跟着应用走的.
b)Avl, rbtree在搜索引擎上的使用;avl也可在防火墙中应用;
stl中的map, set都是以rbtree为基础的;
hash表在大数据集中比avl的字典性能要好;
另外还可以根据已有的数据结构通过选择适当的主数据结构,通过叠加特性或复合特性实现新的数据结构,跟实际需求相关。
c)平衡二c树,用于linux进程的地址空间的管理,因为 它需要快速查找和插入
hash我知道的最好的例子就是编译器符号表的管理了