排课表

DNA图谱 / 问答 / 标签

自动排课表用那个软件比较好?

1、课程格子课程网格是一款基于课程安排的移动社交产品,帮助学生和朋友了解课程安排,并有机会与一起上课的同学见面。除了编辑和创建课程表,您还可以添加课程笔记和评估教师;它支持匿名发布和更多的隐私保护。它还会提醒您上课时间、教室和讲师。2、课程精灵课程精灵是中国最全的校园课程应用,由Schoolside.com新推出。该应用程序连接高校教务管理系统,可自动将课程安排一键输入手机,同时支持用户自定义“我的课程”。3、桌面课程表桌面课表支持记录课程名称、导师、上课地点、课程学分、开始周数、结束周数、课程类型等,界面简洁,操作方便;本学期所有课程直接显示在桌面,画面直观。支持显示当前时间、日期和星期;支持每天12节课的记录,兼容不同学校的课程安排。4、智能课程表智能课程,添加云功能,可在网站上编辑课程。直接同步到手机。可以修改背景透明度,可以设置对齐方式,可以更改一周的第一天。云端同步,支持电脑添加课表,不再需要在手机上输入一个字。5、超级课表超级时刻表致力于创造一种与时刻表交朋友的新方式。 只需要一个时间表APP,就能认识同学,了解大学新鲜资讯,多维度充分享受大学生活。

拓扑排序排课表

信息工程系软件技术学生课程表(拓扑排序)拓扑图为:(图不好粘贴)运用拓扑概念排序的结果:C1 , C9 , C3 , C2 , C7 , C4, C5 , C8 , C6C1计算机应用基础 C2 C语言 C3 VB语言 C4 JSP C5数字逻辑电路 C6软件工程C7计算机网络基础 C8 Java语言 C9计算机数学基础/*-------------------------------主类-----------------------------*/public class Navy1 { public static void main(String[] args) { topology(); //调用拓扑的构造方法 } public static void topology() { //构造拓扑方法 /** 声明拓扑图中的元素 定义节点和节点之间的关系 Entry(a,b)a为b的前导 **/ Entry[] relations = { new Entry(9, 2), new Entry(3,7), new Entry(7, 5), new Entry(5, 8), new Entry(8, 6), new Entry(4, 6), new Entry(1, 3), new Entry(7, 4), new Entry(9, 5), new Entry(2, 8) }; int n = 9; int n1 = 9; /*计算拓扑图中节点数*/ int[] count = { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /*开辟内存空间*/ Node[] top = { null, null, null, null, null, null, null, null, null, null }; Node p = null; for (int i = 0; i < relations.length; i++) { count[relations[i].k]++; p = new Node(); p.suc = relations[i].k; p.next = top[relations[i].j]; top[relations[i].j] = p; } int r = 0; int[] qlink = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; for (int i = 1; i <= n; i++) { if (count[i] == 0) { qlink[r] = i; r = i; } } int f = qlink[0]; System.out.println("题目及要求:"); System.out.println("课程排课程序。写一个程序,实现对某个专业的课程进行排课的功能。"); System.out.println("已知某专业的课程和它们的前导和后续关系(以有向图的形式表示),"); System.out.println("请用拓扑排序算法求出这些课程的优先关系并输出一种排课结果"); System.out.println("--------------------------------------"); System.out.println("08信息工程系软件技术课程表(拓扑排序)"); while (true) { System.out.println(f); if (f == 0) //结束条件 { break; } else { n1--; p = top[f]; while (true) { if (p == null) { break; } else { count[p.suc]--; if (count[p.suc] == 0) { qlink[r] = p.suc; r = p.suc; } p = p.next; } } f = qlink[f]; } } System.out.println("结束的标志为:" + n1); System.out.println("--------------------------------------------"); System.out.println("注释(数字对应的课程):"); System.out.println("1 计算机应用基础 2 C语言 3 VB语言 "); System.out.println("4 JSP 5 数字逻辑电路 6 软件工程"); System.out.println("7 计算机网络基础 8 Java语言 9 计算机数学基础"); System.out.println("--------------------------------------------"); } /*构造元素类*/ private static class Entry { public Entry(int begin, int end) //定义开始元素和结束元素 { this.j = begin; this.k = end; } int j; int k; } /*声明节点的后继*/ private static class Node { public Node(int suc, Node next) { this.suc = suc; this.next = next; } public Node() { } int suc; Node next; }}