所以我有一个程序应该根据输入的信息将保姆与人匹配。双方的所有信息都保存在链接列表中。是否可以将保姆链接列表中的数据与父链接列表进行匹配?并且还输出类似于" __可能匹配的东西"
答案 0 :(得分:0)
如果您没有太多数据,解决问题的简单但低效的方法是:
java.lang.RuntimeException: Error grabbing Grapes -- [download failed: commons-logging#commons-logging;1.1.1!commons-logging.jar]
上述算法需要O(b * p)时间,其中b =保姆数,p =人数。所以对于大的b和p,它很慢。
基于boolean matches(Person person, BabySitter babySitter) {
// implement a logic that returns whether babySitter and person match
return person.getNumberOfChildren() <= babySitter.getMaximumNumberOfChildren() &&
babySitter.getWorkingDays().containsAll(person.needsBabySitterForDays());
}
for (Person person: people) {
for (BabySitter babySitter: babySitters) {
if (matches(person, babySitter)) {
System.out.println("Babysitter " + babySitter + " is recommended to " + person);
}
}
}
的逻辑,您可以通过反向索引获得接近O(b + p)的解。因此,如果你有10.000个保姆和10.000个人,这个优化的解决方案会很快运行,而上述算法需要几秒钟。