Java作业排序算法
要做一个选课系统
一学期需要完成4门课, 一年有两个学期
有一些课有前提条件, 比如说软件架构设计必须要在Java程序设计之前学, 甚至一些课有两个前提条件, 或者一门课是其它两门课的前提条件
有一些课只在每年第二个学期开, 第一个学期不能选
如果是转学的觉得, 会有学分减免, 假如一名学生减免后还剩12门课, 要念三个学期. 课程如下:
C程序设计
用户界面设计
软件工程
计算机安全
数据库
网页编程
Java程序设计
C++程序设计
网页服务器
网页制作
项目管理
毕业设计
其中前提条件关系如下:
学Java程序设计和C++程序设计之前要学C程序设计
学网页服务器之前要学网页编程, 学网页编程之前要学网页制作
毕业设计之前要学项目管理
其中C程序设计只在第二学期开, 网页制作和数据库只在第一学期开
求一个算法能自动生成课表, 我开始想的是课作为一个类, 每个课有哪些属性, 如课名, 需要哪门课作为先决条件, 是哪门课的先决条件, 是否只在第一学期或第二学期开, 等等, 然后构建一个数组, 实例化这些数组, 最后排序, 但是我发现排序的算法对我来说好难啊, 所以求助