Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 遗传算法中的散列_Java_Hash_Genetic Algorithm - Fatal编程技术网

Java 遗传算法中的散列

Java 遗传算法中的散列,java,hash,genetic-algorithm,Java,Hash,Genetic Algorithm,我正在做一个最后一年的项目,就是在大学课程表中使用遗传算法的想法 该算法的一部分是测试预期时间表的中断情况。其中一个是房间冲突-一个房间被双重预订 使用java,我已经将我的roomTimeSlot的默认getHashcode(房间和每个时间段的id的组合,即星期一9-10、星期一10-11等)重写为我自己的代码 我想用这个hashcode来映射每节课分配的每个roomTimeslot 我的问题是如何做到这一点,以及如何检测碰撞?首先,我会放弃散列的想法 然后,您可能会创建一个包含开始和结束的I

我正在做一个最后一年的项目,就是在大学课程表中使用遗传算法的想法

该算法的一部分是测试预期时间表的中断情况。其中一个是房间冲突-一个房间被双重预订

使用java,我已经将我的roomTimeSlot的默认getHashcode(房间和每个时间段的id的组合,即星期一9-10、星期一10-11等)重写为我自己的代码 我想用这个hashcode来映射每节课分配的每个roomTimeslot


我的问题是如何做到这一点,以及如何检测碰撞?

首先,我会放弃散列的想法

然后,您可能会创建一个包含开始和结束的Interval对象,将其放入集合中

您可以轻松在此类上实现一个方法,该方法可以检测碰撞:

public boolean hasCollision(Interval inter){....}
现在,在插入之前,请遍历集合并调用hasCollision()方法

如果要优化结果,还可以使Interval对象实现可比较并使用排序集合


您还可以查看这一点,仅当间隔中没有冲突/交叉点时才添加元素。

您可以通过比较哈希代码来检测冲突。我不确定我是否理解这个问题。我知道我根本没有解释清楚,如何比较代码?把它们放进hashMap,是吗?我理解它背后的理论,只是不知道如何实施它