基于调度优先的排班系统

基于调度优先的排班系统

项目:学校有一个值班室,需要一天四班,一班两个人,一周值五天班。一个组织的学生需要为这个值班室值班,现要求,在学生无课的情况(不同班级,无课时间不同)下一周一人最多值两天班。

调度优先算法原理讲解:收集所有学生的无课表存入数据库,一天四班 x五天,需要20个班次,根据每班的无课人数进行升序排序,先对人数最少的班次进行排班,每排一个人要先对其查重处理,如果已经排过两次了,就跳过,如果不够两次,则写入数据库中的值班表中。接着、排数据库中这个班的下一个人,直至这个班次够两个人或者数据库中这个班次的没有人了。最少人数的班次排完了,排下一个人数少的班次,直至排完。最后值班表中的人就是需要排的人。(两张表:1、无课表 2、排班表(每排一个存一个))

代码已经实现了,当初在做的时候也是查找了很多资料不知到该如何下手,希望这个原理讲解可以给在做的人一个启发吧,欢迎大家评论,有需要源码的可以私信我

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值