教学计划编制问题 设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前

教学计划编制问题
设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。
数据结构的课程设计 c语言编写 跪求代码 (拓扑排序) 感激不尽~~!!!
我的QQ邮箱:1062273397@qq.com

信息工程系软件技术学生课程表(拓扑排序)
拓扑图为:(图不好粘贴)

运用拓扑概念排序的结果:
C1 , C9 , C3 , C2 , C7 , C4, C5 , C8 , C6
C1计算机应用基础 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;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-21
我有新疆财经大学本科课程教学手册,里面有各学科(包括计算机)专业的课程按排,但是是一本册子,怎么给你?

学什么电脑课程电脑培训课程都有哪些
1、大学计算机专业课程:电子技术、离散数学、程序设计、数据结构、操作系统、计算机组成原理、微机系统、计算机系统结构、编译原理、计算机网络、数据库系统、软件工程、人工智能、计算机图形学。数字图像处理、计算机通讯原理、多媒体信息处理技术、数字信号处理、计算机控制、网络计算、算法设计与分析、信息安全、应用密码学基...

结合计算机专业特点,谈谈在学习和生活中如何做到以实际出发
计算机科学是一个有机联系的整体,每个分支都或多或少地与其它分支存在依赖关系。如果死板地依照教学计划线性地进行学习,往往会遇到知识理解上的问题。例如算法分析课程与程序设计课程分属理论与实践;组成原理课程与体系结构课程是对计算机系统不同层面的剖析。我们不能简单地找出它们的先修、后修关系,这样难以建立完整的...

教学计划安排检验程序(拓扑排序)
printf("请重新输入课程数目(课程数必须小于20):");scanf("%d",&vex);} G.vexnum=vex;printf("请输入课程间的先后关系数:");scanf("%d",&G.arcnum);printf("请输入课程的代表值(课程名的长度小于等于10个字符):");for(i=0;i<G.vexnum;i++){ printf("\\n请输入第%d...

数学、逻辑与计算机科学的关系。
数理逻辑是计算机学科的基础理论之 一、教师在课堂教学中应充分注意《数理逻辑》 课程中的内容在计算机学科其他课程中的应用与联系.例如, 计算机程序本质上也是一个形式系统, 在讲授命题演算系统时应充分注意计算机程序与命题演算系统之间的 本质联系.又例如, 编写计算机程序与利用逻辑进行形式推理都是问题求解, 它们之间...

大学计算机专业都学那些课程
计算机专业课程设置:计算机应用基础、应用文写作、数学、英语、德育、电工与电子技术、计算机网络技术、C语言、计算机组装与维修、企业网安全高级技术、企业网综合管理、windows server 2008操作系统。局域网组建、Linux服务器操作系统、网络设备与网络技术(主要学习思科、华为公司设备的配置、管理、调试)、SQL ...

计算机科学与技术是学什么的
计算机科学与技术是一个计算机系统与网络兼顾的计算机学科宽口径专业,旨在培养科学型和工程型相结合的计算机专业高水平工程技术人才。就业方向 该专业毕业生能够在网络通信类科研院所、政府机构、银行、电力企业、计算机网络公司、通信公司等各类企事业单位从事计算机网络的科学研究、系统设计、系统防护、系统管理...

《小学教育学》辨析:有人说随着科学技术的进步,教师职业有一天将会被...
而多媒体远程教学中的备课,是用网络和多媒体资源中心的资源进行设计、复制、编排、加工,形成电子教案和课件,通过计算机储存在多媒体资源中心,以备上课或学生自学调用。在这个模式中,教师的主要精力放在了教学策略的设计上,放在了适应学生的学习规律上,放在了为学生自学提供丰富多彩的资源开发上。满足了“受教于家”的...

义务教育化学课程实施建议的具体内容是什么?
生活中存在着大量与化学有关的素材,教学中可以根据学生的具体情况和教学需要收集、筛选和使用素材。2.重视学科之间的联系在教学中,应有目的、有计划地设计一些学习活动,加强化学与物理、生物、地理等学科的联系。如“设计实验探究某些农药或化肥对农作物生长的影响”等,增强学生融合各学科基础知识、解决简单实际问题的...

自考本科很难吗?
自考本科没有入学考试,只需经过报名即可参加考试。就本身而言,在掌握一定知识后考试不难,因为每一门只需要60分即可。因此,自考本科其实是对学习态度的考察,一般在14-16门课程,需要全部考试及格才可拿证。每年可以报考两次,每次最多报4门科目,一般2-3年即可考完拿证。自考本科是高等教育自学考试...

医学教学管理 心得体会 方面的文章
坚持以人为本的发展观是科学发展观的核心内容,我们在教学管理的过程中必须树立以人为本的管理理念。 2.1.1 教学管理必须“以生为本” 学生是我们的教育主体,现代医学生具备的素质应符合社会对医生素质的全面要求。我们在制订教学计划、课程安排、师资培训、教学场所的配置时,首先要想到的是是否对培养学生的素质有利...

相似回答