【问题标题】:(facebook like app) show post algorithm design(facebook like app) 展示帖子算法设计
【发布时间】:2017-07-10 06:36:04
【问题描述】:

我在大学项目中制作了一个类似于 facebook 的移动应用程序。我面临的问题是,如果我有 25 个用户和 24 个用户在 user1 第一个发布的网站上发布了一些内容。现在假设第 25 个用户在两天后登录。最初,我以 FIFO 顺序显示提要。但是如果我继续使用 FIFO,第 25 位用户将无法看到最后一篇文章,除非他先经历了所有以前的文章。后进先出的情况相同。如果我们扩大应用程序,问题陈述将是巨大的,因为会有一些永远不会看到的提要。那么我该如何解决呢?

我想过将用户分组,并首先显示组内的提要,然后再显示到相邻的组,依此类推。

PS:我正在使用 meteorjs 构建应用程序。

所以我已将用户分组。我已经在每个提要中附加了一个标签,说明是哪个组的用户发布的。 现在我根据创建它们的日期时间对提要进行排序。然后我根据他们的用户组对他们进行分组。然后我根据视图数量对提要进行排序(仅在组内排序)。

现在我将排序后的数据保存为一个列表。为了向用户显示提要,我正在尝试使用树。假设属于第 4 组的用户登录。所以我将使用第 4 组数据作为节点并创建一棵二叉树。然后我会首先在头部显示所有的提要,然后进行 bfs 遍历以显示叶子上的提要。

还有其他更好的方法来确保每个提要至少被任何用户看到一次

【问题讨论】:

  • 我的想法是,假设我们有 100 个用户。我会将它们分成四组,每组 25 个。设组为 g1、g2、g3、g4。如果属于 g1 的任何用户发了帖子,那么 g1 的所有用户应该首先看到帖子,然后帖子应该移动到 g2,然后到 g3,依此类推。但我不确定这是否是一个现实的解决方案,是否可以在meteorjs中完成。
  • 在我看来,这更像是一个设计问题而不是算法问题。这真的很笼统,我建议您问一些更具体的问题。

标签: algorithm meteor design-patterns architecture


【解决方案1】:

所以我能想到的是,您可以先将用户分组。然后显示来自同一组的提要。但在这里只显示新的提要。然后显示来自相邻组的提要并继续前进。然后以相同的方式显示旧的提要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2022-11-22
    相关资源
    最近更新 更多