为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的排序算法排序不正确?

为什么我的排序算法排序不正确?

叮当猫咪 2022-12-22 10:06:05
我在对我发布的问题的最佳答案中获得了此排序功能。它适用于示例数据,但似乎不适用于我的实际数据,我不确定为什么。我的数据可以在这里看到:JSON它是这样的对象的对象:"Montana": {    "superiors": [      "Massachusetts",      "Oklahoma",      "New Mexico"    ],    "inferiors": [      "North Carolina"    ]  }它的存在是为了指示排序功能。在这里,Montana在列表中的位置必须高于North Carolina。但在下面Massachusetts,,Oklahoma和New Mexico(顺便说一句,与地理无关)。注意避免混淆:这与对象键的顺序无关。但是排序并没有被精确地遵循(虽然它主要被遵循)。例如,states['North Carolina'].superiors.includes('Ohio') === true为什么'Ohio'列在下面'North Carolina'?
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

您只有部分订单而不是总订单(并非所有州都在其superiors/inferiors列表中列出所有其他订单),因此您的分数计算不起作用。各州最终的分数取决于它们被提及的频率,而不是它们的相对顺序。您需要实现拓扑排序算法。



查看完整回答
反对 回复 2022-12-22
?
POPMUISE

TA贡献1765条经验 获得超5个赞

您的数据不包含矛盾,但肯定不会正确列出所有内容。

示例:爱荷华州-俄克拉荷马州对。俄克拉荷马州被列为优于爱荷华州,但爱荷华州并未被列为不如俄克拉荷马州。


查看完整回答
反对 回复 2022-12-22
  • 2 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信