您将在大学某系的课程中使用什么数据结构?

Kub*_*ubi 8 c#

对于我的作业,我正在为一所大学实施课程注册系统,我实施了一个简单的课程课程,包括学期和其他属性,如部门名称,总学分等.

但我想知道我是否可以从带有边和顶点的图数据结构继承这个类.

以前有人做过类似的事吗?

我目前的设计是这样的:

public class Curriculum
{
    public string NameOfDepartment { get; set; }
    public List<Semester> Semesters { get; set; }

    public bool IsProgramDesigned { get; set; }

    public Curriculum()
    {
        IsProgramDesigned = false;
    }

    // 
    public string AddSemester(Semester semester)
    {
Run Code Online (Sandbox Code Playgroud)

Chr*_*sic 2

作为一名企业架构师,我绝对不会对这些数据使用图形结构。该数据只是一个列表,仅此而已。

对于与此类似的问题,我考虑使用图形结构的唯一原因是可能创建课程要求和先决条件的关系。

这样,您就可以使用图算法来确定学生注册课程是否有效,方法是确保它是树中的有效添加。与删除课程相同,可以对其进行验证,以确保您不会放弃课程并继续注册该课程示例的实验室。

现在,如果我要实际实施这个。我仍然会有一个类的总体列表,这些类具有图形表示中顶点的键。需要记住的一件事是,图算法是数据库中最重要的部分,因此最大限度地减少拉出图所需的工作量始终是关键。根据大小和范围,我还会评估是否可以以序列化形式存储整个图表或出于同样的原因使用文档数据库。

在这个例子中,这将是我最有可能采取的路线。我会将先决条件、并存条件等的整个对象存储在我的课程对象中。由于该图是一个“设置并完成”事件,因此无需进行实际的图遍历,并且最好存储预先计算的图。