平行志愿录取的算法
平⾏志愿录取的算法
前年⼉⼦中考后报考⾼中时,零志愿后是9个平⾏志愿(到底⼏个我也记不清了),零志愿是提前录取就不说了,平⾏志愿是按志愿顺序和分数⾼低逐个录取,我当时还考虑了⼀下,实现这个算法还挺不容易的,因为动脑筋太累也就不再考虑这个算法了。作为程序员你考虑过这个吗?或你⾃⼰考虑实现下看看。关于平⾏志愿是什么意思,可以⾃⾏查。
⼜过了两年,⼉⼦现在上⾼⼆了,明年要⾼考,⾼考上海也是平⾏志愿,当然提前批和后⾯批我们就不考虑算法了。因为还有⼀年了,所以上⽹补补课,学习下如何填报志愿,其中对于平⾏志愿的录取是这样介绍的:
1. 所有考⽣按分数从⾼到低排名,如果总分相等则⼜按科⽬分数的排名,总之就是准备好⼀个分数从⾼到低的名单备⽤。
2. 每个学校各专业组在本地的招⽣⼈数当然也定了,这个也备⽤。
3. 从分数最⾼的学⽣开始,查他报的平⾏志愿中的第⼀个志愿学校(带专业组,下同),看这个学校的招⽣名额是否⽤完(第⼀个开始,当然是已录取0⼈了),如果还有可⽤名额,则此学⽣录取。
4. 上⾯的学⽣处理完毕,再取分数顺序下的⼀名学⽣,查他的第⼀个平等志愿学校,看是否已招满,
如果未满则录取,如果已满则查此⽣的下⼀个平⾏志愿看是否招满决定是否录取。如果查询完此⽣填报的所有平⾏志愿后,全部学校都已招满,则此⽣落榜。
5. 同理,把分数从⾼到低处理所有学⽣。
6. 当然每名学⽣处理完后,可以做个判断,若所有的学校都已招满则剩下的低分学⽣不⽤再循环处理了,直接break,  都落榜了(进⼊下⼀批次环节)。
这个算法太完美了,复杂度也低,也容易写,还容易懂,最根本的算法逻辑是分⾼的学⽣优先,我前⾯就没想到过要这样处理!
如何填报平行志愿算法之外要吐槽的是学⽣被⼤学录取之后,如果不同意专业调剂,并且其他填写此专业的学⽣分数⽐你⾼,本专业⼈数超员后,你将被退档,退档之后后⾯所有的平⾏志愿都失效了,你就完蛋了,掉夹缝⾥了。这个难道就不能按专业再明细化⼀下吗?
当然中考没有是否服从调剂的问题,因为⼤家学的是⼀样。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。