求排课的算法!头疼中...等待中....(200分)

  • 主题发起人 主题发起人 浏阳人
  • 开始时间 开始时间

浏阳人

Unregistered / Unconfirmed
GUEST, unregistred user!
最近抽签抽到排课的课程设计了!只有30天了!好头疼的,没有一个好的算法!!欢迎大家伸出友谊之手阿!救救我吧!!先谢谢了!!
期待中...[:D]
 
据说这种东东搞不好还有“银行家问题”呢!
帮你顶吧,
我太菜了,
 
看数据结构去吧,我记得我的数据结构最后一章就讲它,但我暂时没找到书。
 
这类问题只有好坏问题,没有对错问题。
直接乱排一通。
有人问你你说“我就这水平”
 
我就是希望能找一个稍微好一点的算法啊!
 
定义重要课程的优先级 随机+判断 [:D]
 
只能这样么??[:(]
 
这个很难哦,我不行,可我想。
 
呼唤此类问题的高手啊!
 
看你这样急,我就说说我的想法,(也许很差的。)
这是我在大三时, 在 DOS 下用 QBASIC 实现的一个排课算法。(也许不应该说是算法)
首先 学生的成绩中有几门是重要课程。(举例:这是为 N 门 )
然后,先分科(所有科)计算平均分 ( 是所有学生该科的成绩累加求平均分 )
再计算所有科所有学生的平均分。(是所有学生所有科的成绩累加求平均分 )

然后把学生排序,(这个序不能变)
再用多重循环从这个序列中抽出 N 个人
要使他们的 分科平均分 所有科平均分 与全局的 分科平均分与所有科平均分的差最小。
找出一组,就加入一个班。
然后再是第二个班,加入,第三个班加入,.... 第一个班,再加入第二组。....

这个方法的原理是用学生成绩的各科互补原则。
当时我这个算法还考虑了男女生比例等。
当时我用了一个星期写成的,现在叫我写。我还写不出来。

不过这个算法我还没有实现用过。效果我就不知道了。
Good Luck!
 
多人接受答案了。
 
后退
顶部