搜索中的重要数据结构

Tri*_*tan 8 .net search f# data-structures

我有兴趣教自己不同的数据结构,我目前对此知之甚少.我的计划是实现一些关键结构,以便了解它们的工作原理.我正在寻找有关重要数据结构的建议.

我主要关注与搜索应用程序相关的数据结构(例如Google/Lucene)以及延迟计算和预计算之间的一般权衡.我也对分布式数据结构感兴趣 - 数据结构可以扩展到数百/数千台服务器 - 以及概率数据结构 - 数据结构有助于找到一个近似的答案但不需要总是正确的.

维基百科有一个数据结构列表.我目前正在考虑:

  • 哈希表
  • B + - 树
  • R-树
  • KD树
  • 基树
  • 布隆过滤器

有更好的选择吗?

最后,在像F#这样的语言中实现这些结构是否存在任何(主要)问题?

duf*_*ymo 5

非常雄心勃勃.我只是因为它的范围而投了你的问题.

麻省理工学院有一个在线算法和数据结构课程.本配套书是经典之作.我不确定它是否解决了分布式和概率性功能,但它们将为您提供基础知识的良好基础.

我将红黑树,哈希表,patricia trie和跳过列表添加到您的议程中.

祝好运.