在数据库中搜索的高效算法

时间:2019-02-22 09:01:02

标签: database mongodb algorithm

我正在一个新项目中,我有50万个问题要存储在数据库中。每次学生回答问题时,都会在特定用户的已访问类别下标记该问题。因此,学生应该在主页上看到的是他从未访问过的问题。所以,我的问题是,如果在主页上发布了10个问题,则每个问题都必须首先与已访问问题的集合相匹配,检查它们是否在该用户的已访问问题列表中,然后发布到主页。我该如何减少这种要求所需的时间?还是我的算法效率低下?

1 个答案:

答案 0 :(得分:0)

使用“优先级队列”怎么办?在这里,未访问的问题将在访问的问题之前得到解决。堆数据结构是实现优先级队列的最佳选择。当某些学生回答问题时,该问题的索引将在该学生的优先级列表中向下移动。