匹配2个不同链表中的数据

时间:2016-01-21 00:25:00

标签: java linked-list

所以我有一个程序应该根据输入的信息将保姆与人匹配。双方的所有信息都保存在链接列表中。是否可以将保姆链接列表中的数据与父链接列表进行匹配?并且还输出类似于" __可能匹配的东西"

1 个答案:

答案 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个人,这个优化的解决方案会很快运行,而上述算法需要几秒钟。