mysql自動排課 高校智慧型排課系統演算法

2021-10-17 20:27:30 字數 1374 閱讀 1450

1 ///

2 ///取最優的時間片id3 ///

4 /// 教室id

5 /// 星期id

6 /// 授課id

7 /// 班級id

8 /// 教室id(s)

9 ///

10 private int getbesttime(int roomid,int wk,int tlid,intclid)11 36 }37 if(flag)38 42 else

43 46 }47 else if (rtlid ==tlid)48 52 else

53 56 }57 }58 if (ntime.count == 0)59 62 //判斷這門授課已經插入了幾條記錄

63 if (utime.count == 0)64 68 else if (utime.count == 1)69 75 else

76 95 }96 //如果權值大於max 則記錄新的權值和索引

97 if (math.abs(m - (int)ntime[p]) *math.abs ((int)ntime[p] - l) >max)98 102 }103 //返回權值最大的時間片id

104 return (int)ntime[index];105 }106 }107

109 ///

110 ///取最優的連課時間片id111 ///

112 ///

113 ///

114 ///

115 ///

116 ///

117 private int getbesttimelk(int roomid, int wk, int tlid, intclid)118 145 }146 if(flag)147 151

152 }153 else if (rtlid1 == tlid || rtlid2 ==tlid)154 158 else

159 162 }163 }164 if (ntime.count == 0)165 168 //判斷這門授課已經插入了幾條記錄

169 if (utime.count == 0)170 174 else if (utime.count == 1)175 179 else

180 197 }198 //如果權值大於max 則記錄新的權值和索引

199 if (math.abs(m - (int)ntime[p]) * math.abs((int)ntime[p] - l) >max)200 204 }205 //返回權值最大的時間片id

206 return (int)ntime[index];207 }208 }209

211 ///

212 ///檢測授課id是否有變動213 ///

214 /// 授課表

215 /// 是否有變動

用SQL實現的乙個自動排課機制

同學畢業設計搞的是乙個排課系統,具體功能就給課程安排教室和時間。排課演算法是有一定難度的,很多老師說過,至今也沒有完美的排課演算法,的確,排課,是乙個五維交叉的複雜體系 時間 課程 教室 班級 學生。乙個排好的課表至少要保證以下幾點原則 乙個教師同一時間只上一門他要教的課 乙個班級同一時間只上一門他...

水杯 模擬 智算之道初賽高校組第三場

傳送門 共 20 個測試點 每個測試點 5 分 每個測試點限時 1 秒 執行記憶體上限 512mb 小小 d有乙個能顯示溫度的杯子.其原理是杯蓋上的乙個感測器.只有在杯子內的水的體積大於等於某個數 l 的時候感測器才能顯示水溫,並且如果水溫不在 a,b 內感測器也無法顯示水溫.注意,這裡溫度對水的體...

智算之道初賽第二場 高校組 情報戰

情報站 現在我方已經查明,敵人通訊所使用的加密方式依賴於乙個長度為 nn 的數列,只要得知了這個數列中每個數的值,我方便可破解敵方的通訊。通過深入敵人內部的內線人員的艱苦奮鬥,我方逐漸獲得了一些有用的情報,通過這些情報,整個數列正在被不斷地破解。先後有 mm 條情報被得知,每條情報是以下兩種情況之一...