代码之家  ›  专栏  ›  技术社区  ›  tgai

为大学生制定潜在的时间表

  •  0
  • tgai  · 技术社区  · 14 年前

    因此,我正在寻找一个好的数据结构来使用,以开发一个算法,将做到这一点。

    编辑:课程通常是星期一、星期三、星期五或星期二、星期四。在很多情况下,也有实验室或背诵,发生在不同的时间在一周

    谢谢,

    3 回复  |  直到 14 年前
        1
  •  1
  •   Jean-Bernard Pellerin    14 年前

    我会用一棵树
    在每个节点(代表一个类)为每个部分提供一个分支,为不参加课程提供一个额外的分支

    这不应该太大,只要你不是永远存储这些,只要你不包括每个学生每学期太多的课程


    这棵树可以在任意类中生根。根中的每个分支都是该类的一部分(以及不接受它的额外分支)
    对于第二个类的每个部分,这些节点中的每个节点都有另一个分支。等等。

                  math  
     /            /           \  
    2:00        1:00         blank  
      |           |             |  
     p.e          p.e           p.e  
    /    \        /   \        /  \   
    2:00  blank  2:00  blank  2:00 blank  
     |  
    conflict
    
        3
  •  1
  •   Beth    14 年前

    如果一周中的每一天所有的课程都在同一时间,那么这个模型就相当简单了。你需要学生、班级、班级和学生时间表的表格。

    对于classSection表,由于类不是每天的同一时间,如果它们是每周的同一天,那么可以包含一周中每一天(M-Sa)、开始时间、类长度(以小时为单位)的字段,当然还有classCodeID。

    至少:

    Student
       ID
    Class
       classCodeID
       description
    classSection
       classCodeID
       classSectionID
       isOnM
       isOnTu
       isOnW
       isOnTh
       isOnF
       isOnSat
       startTime
       length
    studentSchedule
       studentID
       classCodeID
       classSectionID
    

    您也可以将一周中的几天标准化,而不是将它们放在classSection表中,但是我喜欢将一周映射到一堆复选框中。

    你的应用看起来还可以,难道你还没有数据模型吗?看起来你甚至不需要成为学生就可以看到课程表。