我有几个项目(主题),每个项目都有几个子项目,如下所述......
应用
DB
我想比较其中几个组,并根据各自主题中有多少子项与其他主题中的子项数相比较,给出每个主题的分数,最好是在1-10的范围内。这只是概念上,没有具体的语言。我想比较数组,我只是不知道如何将每个数组与其他数组进行比较,并在事后得出一个分数。谢谢。
答案 0 :(得分:0)
这归结为计算unions。大多数现代语言实现数据类型以帮助实现此目的。 Python有字典和集合,C ++有STL映射和集合等。我会避免对联合进行任何手动计算,因为提供的数据类型在执行它时效率更高。每个主题都可以被视为一组子主题,这些子主题的结合将决定共同的主题(即每个主题)。
如果您想在每个项目(主题)之间找到分数,并且如果您有n个主题,您将计算n(n - 1)/ 2分数。请注意,随着主题数量的增加,计算得分的数量将迅速增加。
关于计算分数,你会发现集合A和集合B之间的联合。这个联合可以
所以一个简单的计算可能是
(union.length / max(A.length, B.length)) * 10