我正在为一所特定模块处理考勤系统的学校开展一个项目.我正在使用LAMP(PHP 5.2+ MYSQL 5+)堆栈进行开发.现在学校的人数大约是1500人,每年的工作日总数大约是250人.此外,我要保留5年的记录才能删除.
表结构是
studentId varchar(12)
date date
fn varchar(1) *forenoon*
af varchar(1) *afternoon*
Run Code Online (Sandbox Code Playgroud)
如果我只使用一个表,那意味着5年期间有1,875,000条记录.现在我没有考虑这样一个庞大的数据库,而是考虑为每个类(不是部分)创建一个表.所以考虑到有12个类,我将有12个表,这意味着每个表平均有1,55,000个记录,这是可管理的.
这是正确的方法吗?还是有更好的方法吗?
我正在研究一个简单的应用程序,它将为学校生成时间表(每日计划).我已经阅读了算法的基础知识,但对于从哪里开始感到困惑.
问题:
考虑到很多限制,将教师分配到课堂上:
1)学科
2)教师的专业知识
3)不超过2个班级等等
不言而喻,应该没有重叠.基本上我需要将N名教师分配到每天有固定工作时数的M班(8).
输入:
1)班级总数
2)教师及其专业知识
3)每个班级的科目/课程
4)每班每天的讲座数量
5)其他灵活的约束条件,如教师每天的最小/最大工作时间,每位教师每周的总工作时间等
我的问题:
1)将它视为具有多个约束的赋值问题是否正确?
2)我应该使用哪种算法?(匈牙利算法?)
3)我应该从一开始就获得整套约束,然后生成表,还是应该在中间步骤中完成?
我是学习/实现算法的初学者,所以任何指导我正确方向的帮助都值得赞赏!谢谢.
我有这样的字符串
这:字符串:必须〜:是:分:时:前面:CHAR:是:不〜:此
我需要用分隔符":"拆分该行,但仅当分隔符前的字符不是"〜"时才
我现在有以下正则表达式:
String[] split = str.split(":(?<!~:)");
Run Code Online (Sandbox Code Playgroud)
它有效,但是由于我纯粹通过反复试验来达到它,我不相信它是最有效的方法.此外,此功能将经常在大字符串上重复调用,因此性能会受到考虑.什么是更有效的方式?