数据结构教学计划编制问题课程设计

合集下载

《数据结构》课程整体教学设计

《数据结构》课程整体教学设计

《数据结构》课程整体教学设计数据结构课程整体教学设计一、引言数据结构是计算机科学中的一门重要课程,它是计算机程序设计的基础。

本文旨在设计一套整体教学方案,以帮助学生全面理解数据结构的概念、原理和应用,并培养学生的问题分析和解决能力。

二、教学目标1. 理解数据结构的基本概念,如数组、链表、栈、队列、树、图等。

2. 掌握各种数据结构的实现方式,包括顺序存储和链式存储。

3. 熟悉数据结构的基本操作,如插入、删除、查找、排序等。

4. 理解算法与数据结构之间的关系,能够灵活地选择适合的数据结构解决实际问题。

5. 培养学生的团队协作和沟通能力,通过小组项目实践提升实际应用能力。

三、教学内容及安排1. 基础知识教学(2周)a) 介绍数据结构的定义、分类和基本概念。

b) 详细讲解数组、链表、栈和队列的基本原理和实现方法。

c) 引导学生通过编程实践掌握基础数据结构的使用。

2. 高级数据结构教学(3周)a) 介绍树、图等高级数据结构的定义和应用场景。

b) 分析树、图的特点和基本操作,包括遍历、搜索和最短路径等算法。

c) 引导学生通过实例理解和实现高级数据结构及其相关算法。

3. 算法与数据结构的关系(1周)a) 介绍算法的基础概念,如时间复杂度和空间复杂度。

b) 分析常用算法与数据结构之间的关系,如排序算法与数组、查找算法与树等。

c) 培养学生运用不同数据结构解决实际问题的能力。

4. 小组项目实践(4周)a) 学生自行组成小组,选定一个实际问题进行分析和解决方案设计。

b) 引导学生选择合适的数据结构和算法,实现项目需求。

c) 指导学生撰写项目报告,总结项目经验和收获。

四、教学方法与策略1. 合理运用多媒体技术,辅助教学内容的讲解和演示。

2. 结合示例和实践,引导学生进行课堂互动和编程实践。

3. 组织小组合作学习,促进学生的团队协作和沟通能力。

4. 鼓励学生积极参与讨论和提问,激发学习兴趣和思考能力。

5. 提供适当的学习资源和参考资料,帮助学生进行自主学习。

数据结构课程设计(5篇)

数据结构课程设计(5篇)

数据结构课程设计(5篇)第一篇:数据结构课程设计课程设计说明书设计名称:数据结构课程设计题目:设计五:二叉树的相关操作学生姓名:专业:计算机科学与技术班级:学号:指导教师:日期: 2012 年 3 月 5 日课程设计任务书计算机科学与技术专业年级班一、设计题目设计五二叉树的相关操作二、主要内容建立二叉树,并对树进行相关操作。

三、具体要求1)利用完全二叉树的性质建立一棵二叉树。

(层数不小于4层)2)统计树叶子结点的个数。

3)求二叉树的深度。

4)能够输出用前序,中序,后序对二叉树进行遍历的遍历序列。

四、进度安排依照教学计划,课程设计时间为:2周。

本设计要求按照软件工程的基本过程完成设计。

建议将时间分为三个阶段:第一阶段,根据题目要求,确定系统的总体设计方案:即系统包括哪些功能模块,每个模块的实现算法,并画出相应的流程图.同时编写相应的设计文档;第二阶段,根据流程图编写程序代码并调试,再将调试通过的各个子模块进行集成调试;第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。

三个阶段时间分配的大概比例是:35: 45: 20。

五、完成后应上交的材料本课程设计要求按照学校有关规范的要求完成,在课程设计完成后需要提交的成果和有关文档资料包括课程设计的说明书,课程设计有关源程序及可运行程序(含运行环境)。

其中课程设计说明书的格式按学校规范(见附件),其内容不能过于简单,必须包括的内容有:1、课程设计的基本思想,系统的总功能和各子模块的功能说明;2、课程设计有关算法的描述,并画出有关算法流程图;3、源程序中核心代码的说明。

4、本课程设计的个人总结,主要包括以下内容:(1)课程设计中遇到的主要问题和解决方法;(2)你的创新和得意之处;(3)设计中存在的不足及改进的设想;(4)本次课程设计的感想和心得体会。

5、源代码要求在关键的位置有注释,增加程序的可读性。

程序结构和变量等命名必须符合有关软件开发的技术规范(参见有关文献)。

数据结构教学设计教案

数据结构教学设计教案

数据结构教学设计教案标题:数据结构教学设计教案引言概述:数据结构是计算机科学中非常重要的基础知识,对于学生来说,掌握数据结构是理解和应用计算机算法的基础。

因此,设计一份有效的数据结构教学教案对于教师来说至关重要。

本文将从教学目标、教学内容、教学方法、教学评价和教学资源等方面详细介绍如何设计一份数据结构教学教案。

一、教学目标1.1 确定教学目标:明确学生在学完数据结构课程后应该具备的知识和能力,例如掌握数据结构的基本概念、熟练运用各种数据结构解决问题等。

1.2 分解目标:将整体的教学目标分解为具体的学习目标,例如学生能够理解栈和队列的概念、能够实现二叉树的各种操作等。

1.3 设定评价标准:为每一个学习目标设定明确的评价标准,以便教师能够评估学生的学习情况并及时调整教学方法。

二、教学内容2.1 确定教学内容:根据教学目标确定教学内容,包括数据结构的基本概念、线性表、树、图等内容。

2.2 设计教学大纲:将教学内容按照逻辑顺序编排成教学大纲,确保学生能够系统地学习数据结构知识。

2.3 制定教学计划:根据教学大纲,设计每节课的具体内容和教学方法,确保教学进度和教学效果。

三、教学方法3.1 多媒体辅助教学:结合多媒体技术,利用PPT、视频等教学工具展示数据结构的概念和操作过程,提高学生的学习兴趣。

3.2 问题导向学习:通过提出实际问题,引导学生运用数据结构知识解决问题,培养学生的问题解决能力。

3.3 分组合作学习:组织学生分组合作进行数据结构的实践操作,促进学生之间的交流和合作,提高学习效果。

四、教学评价4.1 设计考核方式:制定不同形式的考核方式,如笔试、实践操作、课堂讨论等,全面评价学生对数据结构知识的掌握情况。

4.2 定期评估学生学习情况:定期进行学生学习情况的评估,及时发现学生的学习难点并采取相应的教学措施。

4.3 提供反馈:赋予学生及时的学习反馈,鼓励他们继续努力学习数据结构知识,匡助他们提高学习效果。

数据结构教学设计教案

数据结构教学设计教案

数据结构教学设计教案教学设计教案:数据结构一、教学目标通过本教案的教学,学生应能够:1. 理解数据结构的基本概念和原理;2. 掌握常见的数据结构及其操作方法;3. 能够运用所学的数据结构解决实际问题。

二、教学重点1. 数据结构的基本概念和原理;2. 常见的数据结构及其操作方法。

三、教学难点1. 复杂数据结构的理解和应用;2. 数据结构的算法分析和性能评估。

四、教学方法1. 讲授结合实例分析法:通过具体的案例和实例,引导学生理解数据结构的基本概念和原理;2. 课堂讨论法:通过讨论和交流,培养学生的思维能力和问题解决能力;3. 实践操作法:通过编写程序和实际操作,巩固和应用所学的数据结构知识。

五、教学内容及进度安排第一讲:数据结构的基本概念和原理(2学时)1. 数据结构的定义和分类;2. 抽象数据类型(ADT)的概念和特点;3. 算法的基本概念和性能评估。

第二讲:线性表(4学时)1. 线性表的定义和基本操作;2. 顺序表和链表的实现及其优缺点;3. 线性表的应用实例。

第三讲:栈和队列(4学时)1. 栈的定义和基本操作;2. 栈的应用实例;3. 队列的定义和基本操作;4. 队列的应用实例。

第四讲:树和二叉树(4学时)1. 树的定义和基本概念;2. 二叉树的定义和基本操作;3. 二叉树的遍历方法;4. 树和二叉树的应用实例。

第五讲:图(4学时)1. 图的定义和基本概念;2. 图的存储结构和基本操作;3. 图的遍历方法;4. 图的应用实例。

第六讲:排序和查找(4学时)1. 常见的排序算法及其原理和性能评估;2. 常见的查找算法及其原理和性能评估;3. 排序和查找的应用实例。

六、教学评价1. 课堂表现评价:包括学生的参与度、思维活跃度、问题解决能力等;2. 作业评价:通过布置编程作业、理论题等,评估学生对所学知识的掌握程度;3. 考试评价:通过期末考试,检验学生对数据结构的理解和应用能力。

七、教学资源1. 教材:《数据结构与算法分析》;2. 课件:包括教学PPT、案例分析等;3. 编程软件:如C/C++编译器、Java开发环境等。

数据结构实验报告十—教学计划编制问题

数据结构实验报告十—教学计划编制问题

问题描述:若用有向网表示教学计划,其中顶点表示某门课程,有向边表示课程之间的先修关系(如果A课程是B课程的先修课程,那么A到B之间有一条有向边从A 指向B)。

试设计一个教学计划编制程序,获取一个不冲突的线性的课程教学流程。

(课程线性排列,每门课上课时其先修课程已经被安排)。

基本要求:(1)输入参数:课程总数,每门课的课程号(固定占3位的字母数字串)和直接先修课的课程号。

(2)若根据输入条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。

一、需求分析:本程序需要基于图的基本操作来实现二、概要设计:抽象数据类型:为实现上述功能需建立一个结点类,线性表类,图类。

算法的基本思想:1、图的构建:建立一个结点类,类的元素有字符型变量用来存储字母,整形变量用来存储位置,该类型的指针,指向下一个元素。

建立一个线性表类,完成线性表的构建。

建立一个图类,完成图的信息的读取,(如有n个点,则建立n 个线性表,将每个结点与其指向的结点组成一个线性表,并记录线性表的长度)。

2、Topsort算法:先计算每个点的入度,保存在数组中。

找到第一个入度为0的点,将该点所连的各点的入度减一。

再在这些点中找入度为0 的点。

如果找到,重复上述操作。

如果找不到,则跳出while循环,再搜索其他的点,看入度是否为0。

再重复上述操作,如果所有的入度为0的点都被寻找到,但个数少于输入顶点的个数,说明该图存在环。

程序的流程程序由三个模块组成:输入模块:读入图的信息(顶点和边,用线性表进行存储)。

处理模块:topsort算法。

输出模块:将结果输出。

三、详细设计算法的具体步骤:class Node{ead->node=ch;line[i].head->position=i;}}void pushEdge(){ ead->node==ch1)pos1=j; ead->node==ch2){pos2=line[j].head->position;break;}}line[pos1].insert(pos2,ch2);}}void topsort(){ ead;while(p->next!=NULL){d[p->next->position]++; ead->node<<" ";m++;Node* p=line[j].head;while(p->next!=NULL){k=p->next->position;d[k]--;ead->node=ch;line[i].head->position=i;}}void pushEdge(){ ead->node==ch1)pos1=j; ead->node==ch2){pos2=line[j].head->position;break;}}line[pos1].insert(pos2,ch2);}}void topsort(){ ead;while(p->next!=NULL){d[p->next->position]++; ead->node<<" ";m++;Node* p=line[j].head;while(p->next!=NULL){k=p->next->position;d[k]--; //当起点被删除,时后面的点的入度-1if(d[k]==0){d[k]=top;top=k;}p=p->next;}}}cout<<endl;if(m<numVertex) //输出点的个数小于输入点的个数,不能完全遍历 cout<<"网络存在回路"<<endl;delete []d;}};int main(){int n,m;cout<<"请输入节点的个数和边的个数"<<endl;cin>>n>>m;Graph G(n,m);();();();system("pause");return 0;}。

数据结构课程设计报告书教学计划编制问题

数据结构课程设计报告书教学计划编制问题

数据结构课程设计报告书教学计划编制问题题目:制定教学计划1.内容摘要摘要:首先利用拓扑排序对课程先后顺序进行分析,邻接表为主要存储结构,栈为主要辅助结构。

给出课程的先后关系,即AOV网,然后进行拓扑排序,但当有向图中存在环时,无法查找该图的一个拓扑排序。

当图中所有定点全部输出,表示对该图排序成功。

实现拓扑排序算法时,相应的建立邻接表存储AOV网。

为了避免重复检测入度为零的顶点,建立一个栈来对入度为零的点进行存放。

根据课程先后关系,对各个学期的课程进行拓扑排序,输出。

2.索引关键词关键词:邻接表存储,栈的应用,拓扑排序。

目录1.题目要求及设计要求------------------------------------------ 12.系统完成功能及功能框图----------------------------------- 2—43.核心算法及说明------------------------------------------ 5—214.运行及测试结论----------------------------------------- 22—235.参考资料-------------------------------------------------- 236.后记------------------------------------------------------- 23第一部分:课程设计题目要求1.1课程设计目的大学的每个专业都要制定教学计划。

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。

每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。

每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。

每门课恰好占一个学期。

在这样的前提下设计一个教学计划编制程序。

1.2课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。

数据结构教学设计教案 (2)

数据结构教学设计教案 (2)

数据结构教学设计教案标题:数据结构教学设计教案引言概述:数据结构是计算机科学中非常重要的基础知识,它涉及到如何组织和存储数据以便有效地进行检索和操作。

设计一份好的数据结构教学教案对于帮助学生理解和掌握数据结构知识至关重要。

本文将从教学目标、教学内容、教学方法、教学评价和教学资源五个方面详细介绍如何设计一份优秀的数据结构教学教案。

一、教学目标1.1 确定教学目标:明确教学目标是设计一份成功的教案的第一步。

教学目标应该明确、具体,能够指导学生的学习和教师的教学。

1.2 制定教学目标的层次:将教学目标分为知识目标、能力目标和情感目标三个层次,确保学生在知识、能力和情感方面都能得到发展。

1.3 设计评价标准:为了检验教学目标的达成情况,需要设计相应的评价标准,包括考试、作业、实验等多种形式。

二、教学内容2.1 确定教学内容:根据教学目标确定教学内容,包括数据结构的基本概念、常见数据结构的实现和应用等。

2.2 设计教学内容的组织结构:将教学内容按照逻辑顺序组织,确保内容之间的衔接性和连贯性。

2.3 选择教材和参考资料:选择适合教学内容的教材和参考资料,帮助学生更好地理解和掌握数据结构知识。

三、教学方法3.1 多媒体教学法:利用多媒体技术,结合图像、声音、视频等形式进行教学,提高学生的学习兴趣和效果。

3.2 问题导向教学法:通过提出问题引导学生思考和讨论,培养学生的分析和解决问题的能力。

3.3 项目实践教学法:设计数据结构相关的项目实践,让学生通过实践掌握数据结构的应用和实现。

四、教学评价4.1 制定评价计划:根据教学目标和教学内容,制定相应的评价计划,包括考试、作业、实验等多种形式。

4.2 定期评价和反馈:定期对学生进行评价和反馈,及时发现问题并进行调整和改进。

4.3 学生自评和互评:鼓励学生进行自我评价和互相评价,培养学生的自我认知和团队合作能力。

五、教学资源5.1 教学设备和场地:确保教学设备和场地的完善和安全,提供良好的学习环境。

数据结构课程教学设计方案

数据结构课程教学设计方案

《数据构造》课程教学设计方案一、课程旳性质和任务《数据构造》是计算机科学与技术专业本科生旳一门必修课程。

本课程简介怎样组织多种数据在计算机中旳存储、传递和转换。

内容包括:数组、链接表、栈和队列、递归、树与森林、图、堆与优先级队列、集合与搜索构造、排序、索引与散列构造等。

课程采用面向对象旳观点讨论数据构造技术,并以兼有面向过程和面向对象双重特色旳C++ 语言作为算法旳描述工具,强化数据构造基本知识和面向对象程序设计基本能力旳双基训练。

为后续计算机专业课程旳学习打下坚实旳基础。

二、先修课规定面向对象程序设计、计算机数学(离散数学)。

三、课程旳教学基本规定1 、掌握重要数据构造旳概念、使用措施及实现技术;2 、学会做简朴旳算法分析,包括算法旳时间代价和空间代价。

四、教学措施和教学形式提议面授辅导为主、辅以网上答疑,小组讨论,专题论坛,学生自主观看教学光盘。

教师阶段性旳进行作业评讲,总结复习、同步进行必要旳上机试验。

五、考试期末考试由中央电大统一命题,统一评分原则,统一考试时间。

学生旳本课程成绩按平时旳形成性考核成绩满分 20 分,期末考试满分 80 分分派,合计计算。

六、文字教材及媒体本课程旳文字教材包括《数据构造》主教材。

清华大学出版社出版旳《数据构造》,殷人昆编著;《数据构造实用教程》作为参照书,徐孝凯编著。

录像媒体:录制30讲,每讲50分钟。

直播课堂:共4讲,每讲50分,前三讲为对教学重点、难点,对教学过程中反应旳共性问题和有代表性旳问题进行辅导,后一讲为复习辅导和有关考试阐明。

七、教学环节有三个教学环节:讲课,作业和教学试验,考试。

课程总成绩旳记分措施:形成性考核成绩在课程总成绩中占20%,终止性考试成绩在课程总成绩中占80%。

课程总成绩为百分制,60分为合格。

作业及试验:形成性考核旳规定和形式:形成性考核旳形式有平时作业和课程试验。

可以准时、按质、按量完毕平时作业和课程试验者方可得满分。

网上教学:安徽电大教学处主页开放教育专栏有关《数据构造》内容:教学大纲、实行方案、考核阐明、课程阐明、模拟试题、教学辅导、复习指导、往届试题、重点难点、直播课堂、各章电子教案等;每月更新充实一次。

《数据结构》课程教学设计(全文)

《数据结构》课程教学设计(全文)

《数据结构》课程教学设计(全文)《数据结构》课程教学设计一、引言在现代信息时代,数据的存储和处理变得尤为重要。

数据结构作为计算机科学的基石学科,对于学生来说具有重要的意义。

本文将围绕《数据结构》课程的教学设计展开讨论,探索如何有效地传授数据结构的基本理论和实践应用。

二、课程目标1. 理论目标通过学习《数据结构》课程,学生应该能够掌握数据结构的相关概念、基本算法和高级数据结构的设计与应用。

他们应该能够熟练地运用这些知识解决实际问题,并能够分析和评估不同数据结构的优劣之处。

2. 实践目标学生应该具备使用计算机编程语言实现常见数据结构的能力。

他们应该能够进行数据结构的设计和优化,以提高算法的效率和性能。

同时,他们还应该培养良好的团队合作和沟通能力,能够与他人合作解决复杂的数据结构问题。

三、课程内容与安排1. 数据结构基础(1) 线性表:顺序表、链表、栈、队列(2) 树结构:二叉树、堆、哈夫曼树(3) 图结构:图的表示方法、图的遍历算法(4) 查找算法:顺序查找、二分查找、哈希查找2. 高级数据结构(1) 树结构:平衡二叉树、B树、AVL树(2) 图结构:最短路径算法、最小生成树算法(3) 排序算法:冒泡排序、插入排序、选择排序、快速排序、归并排序3. 数据结构的应用(1) 文件系统:目录结构的设计与实现(2) 数据库:索引结构的设计与实现(3) 图像处理:图像的表示与处理算法4. 课程实践(1) 编程实践:使用编程语言实现常见数据结构和算法(2) 项目实践:团队合作完成一个基于数据结构的实际项目,例如一个简单的信息管理系统四、教学方法与手段1. 理论授课通过教师的讲解和演示,向学生介绍不同数据结构的概念、特点和应用场景。

教师可以使用多媒体辅助工具展示各种数据结构的实际演示,并引导学生进行思考和讨论。

2. 实验课程在计算机实验室中,学生将通过编程实践来巩固所学的理论知识。

例如,学生可以编写代码实现链表、二叉树等数据结构,并通过实验来验证它们的正确性和效率。

数据结构教学设计教案

数据结构教学设计教案

数据结构教学设计教案引言概述:数据结构是计算机科学中非常重要的一个概念,它涉及到数据的组织、存储和管理。

设计一个合适的教学计划对于学生的学习至关重要。

本文将探讨如何设计一份数据结构教学教案,以匡助学生更好地理解和掌握数据结构的知识。

一、教学目标的设定1.1 确定学生的学习目标:在设计数据结构教案之前,首先要明确学生应该达到的学习目标。

这些目标可以包括掌握数据结构的基本概念、能够熟练运用数据结构解决问题、理解数据结构在计算机科学中的应用等。

1.2 设定具体的教学目标:根据学生的学习水平和课程要求,设定具体的教学目标。

这些目标可以包括学生能够使用不同的数据结构解决实际问题、能够分析和评价不同数据结构的优缺点等。

1.3 确定评估方式:在设定教学目标的同时,也要确定如何评估学生是否达到了这些目标。

评估方式可以包括考试、作业、项目等形式。

二、教学内容的设计2.1 确定教学内容:在设计教学内容时,要根据教学目标确定教学内容。

教学内容可以包括数据结构的基本概念、常用数据结构的实现方法、数据结构的应用等。

2.2 设计教学大纲:根据教学内容设计教学大纲,明确每一个章节的内容和教学重点。

大纲可以包括每一个章节的主题、教学目标、教学方法、教学资源等。

2.3 制定教学计划:在设计教学内容和大纲的基础上,制定具体的教学计划。

教学计划可以包括每堂课的内容安排、教学方法、教学资源准备等。

三、教学方法的选择3.1 选择合适的教学方法:在设计数据结构教学教案时,要选择适合学生学习的教学方法。

教学方法可以包括讲授、实践、案例分析、小组讨论等。

3.2 利用多媒体技术:在教学过程中,可以利用多媒体技术辅助教学,例如使用幻灯片、视频、在线资源等。

这样可以提高学生的学习兴趣和效果。

3.3 引导学生自主学习:在教学中要注重引导学生自主学习,鼓励他们主动思量和解决问题。

可以通过布置作业、项目等方式激发学生的学习兴趣。

四、教学资源的准备4.1 准备教学材料:在设计数据结构教学教案时,要准备相关的教学材料,包括教科书、参考书籍、课件等。

教学计划编制问题数据结构课程设计

教学计划编制问题数据结构课程设计

教学计划编制问题数据结构课程设计前言数据结构》是一门综合性较强的计算机软件、程序设计理论和技术相结合的重要基础课程。

它主要讨论抽象数据关系和算法在计算机中的表示与实现,涉及到的数据在计算机中的表示、组织和处理,以及相应结构上的算法设计和算法性能上的分析技术。

这门课程所包含的知识和提倡的技术方法对于进一步研究计算机领域里的其他课程、从事理论研究、应用开发及技术管理工作都起着重要的作用。

通过研究《数据结构》这门理论性强、思维抽象、难度较大的课程,学生们可以更深入透彻地理解数据结构的逻辑结构和物理结构的基本概念以及有关算法,培养基本的、良好的程序设计技能,编制高效可靠的程序,提高分析设计能力和编程能力,为后续课程的研究及实践打下良好的基础。

为了让学生们将所学的知识应用到实际当中,学校开设了《数据结构(C语言版)》课程。

通过研究数据结构,学生们可以对编程有更多的了解。

为了更好地将C语言应用到实际当中,学校开设了数据结构课程设计。

通过这次课程设计,学生们可以更好地掌握算法与数据结构,将数据结构和C语言有效地结合起来,提高编程能力。

关键字:C语言、数据结构目录本文是一篇关于《高级语言程序设计》课程设计的报告。

报告主要涉及课题内容和设计要求、需求分析、实现模块设计、模块功能实现、程序调试和总结等方面的内容。

1.2设计要求本课程设计要求学生使用高级语言设计一个程序,实现特定功能。

具体要求包括程序要求具有较高的实用性和可扩展性,代码规范,注释清晰等。

二、课题需求分析在进行课题设计前,我们首先对需求进行了分析。

通过分析,我们确定了程序的功能和实现方式,并对程序进行了初步的设计。

三、课题实现模块设计为了方便程序的开发和维护,我们将程序分为不同的模块,并对每个模块进行了详细的设计。

其中,包括程序模块设计和函数的调用关系等。

四、模块的功能实现在设计完成后,我们开始对程序进行编写和调试。

在此过程中,我们定义了相关的数据类型,并绘制了主要函数的流程图,以确保程序的正确性和稳定性。

(完整word版)数据结构教学计划编制-(2)(word文档良心出品)

(完整word版)数据结构教学计划编制-(2)(word文档良心出品)

软件学院
课程设计报告书
课程名称数据结构
设计题目教学计划编制
2011年1 月
目录
1 设计时间 (1)
2 设计目的 (1)
3设计任务 (1)
4 设计内容 (1)
4.1需求分析 (1)
4.2总体设计 (3)
4.3详细设计 (6)
4.4测试与分析 (15)
4.4.1测试 (15)
4.4.2分析 (18)
4.5 附录 (19)
5 总结与展望 (26)
参考文献 (27)
成绩评定 (28)
2.输入课程名,课程号及相应学分
3.输入课程先修关系总数
4.顺序输入先修关系
5.输出邻接表
6.选择编排策略1,输出编排结果
7. 选择编排策略2,输出编排结果
8.错误运行:当输入两个相同课程号的不同课程
9.运行结果
4.4.2分析
1、调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析。

教学计划编制问题_数据结构课程设计报告_湖南工程学院

教学计划编制问题_数据结构课程设计报告_湖南工程学院

课程设计报告课程名称数据结构课程设计课题名称教学计划编制问题专业网络工程班级 0901 学号 2009031201XX姓名指导教师长松华光杰君2011年 7 月 15 日工程学院课程设计任务书课程名称数据结构课程设计课题教学计划编制问题专业班级网络工程0901 学生 X X学号 2009031201XX 指导老师长松华光杰君审批任务书下达日期: 2011 年 6 月 26 日任务完成日期:2011 年 7 月 15 日一、设计容与设计要求1.设计容:1)问题描述大学的每个专业都要制订教学计划。

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。

每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。

每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。

每门课恰好占一个学期。

试在这样的前提下设计一个教学计划编制程序。

2)基本要求a.输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。

b.允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。

c.若根据给定的条件问题无解,则报告适当的信息;否则,将教学计划输出到用户指定的文件中。

计划的表格格式自行设计。

3)测试数据学期总数:6;学分上限:10;该专业共开设课数:12课程号:从C01到C12;学分顺序:2,3,4,3,2,3,4,4,7,5,2,3。

先修关系如下图:4)实现提示可设学期总数不超过12,课程总数不超过100。

如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。

应建立部课程号与课程号之间的对应关系。

2.设计要求:●课程设计报告规1)需求分析a.程序的功能。

b.输入输出的要求。

2)概要设计a.程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。

数据结构课设_教学计划编制问题

数据结构课设_教学计划编制问题

数据结构课程设计教学计划编制问题班级学号*******学生姓名周子健提交日期2016年1月19日成绩计算机与通信工程学院设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。

1.1 课程设计目的本课程设计主要是针对计算机系本科课程,根据课程之间的依赖关系,制定课程安排计划,并满足各学期课程数目大致相同。

教学计划编制系统是基于C++的软件系统,通过建立AOV网,按学期对课程序号、课程代号、课程名称以及课程学分进行相应输出,并且保证用户实现自由选择专业选修课功能。

1.2 课程设计内容教学计划编制系统主要是处理课程之间的依赖关系。

表1.1列出了若干门计算机系本科课程,其中有些课程不要求先修课程,例如,C1是独立于其他课程的基础课,而有些课程却需要有先修课程,比如,学完程序设计语言C++和离散数学后才能学习数据结构。

具体情况如表1.1所示。

表1.1 课程以及课程之间的依赖关系先修课程规定了课程之间的依赖关系,这种关系可以用AOV网来表示,其中顶点表示课程,弧表示依赖关系,如图1.1所示。

图1.1 表1.1对应的AOV 网程序的主要功能是实现课程的排序,以满足同一学期所修的课程相互之间无依赖关系,并且已修完其所有先修课程。

另外,设置学分变量,控制每个学期的课程量基本均匀。

2 概要设计2.1 数据表示教学计划编制问题中,操作对象是课程。

课程之间的依赖关系用AOV 网表示, AOV 网的构造采用邻接表实现。

因此,本程序设计定义了两个类:课程类和邻接表类。

课程类(Lesson )添加了5个私有成员变量用来定义课程的5个属性:课程代号、课程名称、课程序号、课程学分以及是否被选择过的课程标记。

同时还定CCCCCCC义了8个成员函数,已实现相关的操作功能。

邻接表类(ALGraph)定义了2个整型成员变量和1个结构体数组来存放顶点数、边数和顶点表。

数据结构(C++)课程设计报告--教学计划编制问题

数据结构(C++)课程设计报告--教学计划编制问题

数据结构(C++)课程设计报告--教学计划编制问题上海电力学院数据结构(C++)课程设计题目: 教学计划编制问题*名:***学号:********院系:计算机科学与技术学院专业年级:信息安全2011级2013年07月04日一、设计题目大学的每个专业都要编制教学计划。

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限都相等。

每个专业开设的课程都是确定的,而且课程的开设时间的安排必须满足先修关系。

每个课程的先修关系都是确定的,可以有任意多门,也可以没有。

每一门课程恰好一个学期。

试在这样的情况下设置一个教学计划编制程序。

在大学的某个专业中选取几个课程作为顶点,通过各门课的先修关系来构建个图,该图用邻接表来存储,邻接表的头结点存储每门课的信息。

本程序的目的是为用户编排课程,根据用户输入的信息来编排出每学期要学的课程。

二、需求分析(一)运行环境(软、硬件环境)设计环境和器材——硬件:计算机软件:Microsoft Visula C++在本课程设计中,系统开发平台为Windows XP或Win 7,程序运行环境为Visual C++ 6.0,程序设计语言为C++。

Visual C++一般分为三个版本:学习版、专业版和企业版,不同版本适合于不同类型的应用开发。

实验中可以使用这三个版本的任意一种,在本课程设计中,以Visual C++ 6.0为编程环境。

Visual C++以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。

比如,它允许用户进行远程调试和单步执行等。

还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。

其编译及建置系统以预编译头文件、最小重建功能及累加链接著称。

这些特征明显缩短程式编辑、编译及链接的时间花费,在大型软件计划上尤其显著。

Visual C++ 6.0秉承Visual C++ 以前版本的优异特性,为用户提供了一套良好的开发环境,主要包括文本编辑器、资源编辑器、工程创建工具和Debugger调试器等等。

数据结构教学计划编制问题课程设计

数据结构教学计划编制问题课程设计

数据结构教学计划编制问题课程设计课程设计(论⽂)题⽬名称教学计划编制问题课程名称数据结构学⽣姓名杨满平学号1041302054系、专业信息⼯程系、2010级计算机科学与技术指导教师黄同成2011年12 ⽉25 ⽇摘要数据结构是计算机科学与技术专业的专业基础课,是⼀门⼗分重要的核⼼课程。

数据结构的知识为后续专业课程的学习提供必要的知识和技能准备,学好“数据结构”这门课程,对于学习计算机专业的其他课程,如操作系统、编译原理、数据库管理系统、软件⼯程、⼈⼯智能等都是⼗分有益的,⽽且所有的计算机系统软件和应⽤软件都要⽤到各种类型的数据结构。

因此,要想更好地运⽤计算机来解决实际问题,仅掌握⼏种计算机程序设计语⾔是难以应付众多复杂的课题的,要想有效地使⽤计算机、充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识。

例如本次程序设计题⽬⼤学的每个专业都要制订教学计划。

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。

每个专业开设的课程都是确定的,⽽且课程在开设时间的安排必须满⾜先修关系。

每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。

每门课恰好占⼀个学期。

试在这样的前提下设计⼀个教学计划编制程序AbstractData structures in computer science and technology professional courses, is a very important core curriculum. The data structure knowledge for the following courses to provide the knowledge and skills necessary to prepare, learn" data structure" of the course, for learning other computer science courses, such as operating system, compiler theory, database management system, software engineering, artificial intelligence, are very useful, and all of the computer system software and the application of software to use various types of data structure. Therefore, in order to better use the computer to solve practical problems, only to grasp some computer programming language is hard to cope with the many complex issues, in order to effectively use computers, give full play to the computer's performance, also must learn and master some knowledge about data structure.For example, the program design of University of each professional should develop teaching plans. The assumption that any profession has a fixed length, each school year with two semesters, each semester and the length of time equal to the credit limit are. Each professional courses are determined, and the creation of curriculum time arrangements must meet prevocational relations. Each course which is a pre-determined curriculum, can have any number of doors, there will be No. Each class just for a semester. Test this premise in the design of a teaching plan programming⽬录⼀、课题的主要功 (1)1.1程序的功能 (1)1.2.输⼊输出的要求 (1)1.3运⾏环境 (1)1.4开发⼯具 (1)⼆、概要设计 (2)2.1程序的模块组成 (2)2.2模块的层次结构及调⽤关系 (2)2.3模块的主要功能 (3)2.4数据结构和数据库结构 (3)三.主要功能的实现 (3)3.1采⽤C语⾔定义相关的数据类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(论文)题目名称教学计划编制问题课程名称数据结构学生姓名杨满平学号1041302054系、专业信息工程系、2010级计算机科学与技术指导教师黄同成2011年12 月25 日摘要数据结构是计算机科学与技术专业的专业基础课,是一门十分重要的核心课程。

数据结构的知识为后续专业课程的学习提供必要的知识和技能准备,学好“数据结构”这门课程,对于学习计算机专业的其他课程,如操作系统、编译原理、数据库管理系统、软件工程、人工智能等都是十分有益的,而且所有的计算机系统软件和应用软件都要用到各种类型的数据结构。

因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付众多复杂的课题的,要想有效地使用计算机、充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识。

例如本次程序设计题目大学的每个专业都要制订教学计划。

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。

每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。

每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。

每门课恰好占一个学期。

试在这样的前提下设计一个教学计划编制程序AbstractData structures in computer science and technology professional courses, is a very important core curriculum. The data structure knowledge for the following courses to provide the knowledge and skills necessary to prepare, learn" data structure" of the course, for learning other computer science courses, such as operating system, compiler theory, database management system, software engineering, artificial intelligence, are very useful, and all of the computer system software and the application of software to use various types of data structure. Therefore, in order to better use the computer to solve practical problems, only to grasp some computer programming language is hard to cope with the many complex issues, in order to effectively use computers, give full play to the computer's performance, also must learn and master some knowledge about data structure.For example, the program design of University of each professional should develop teaching plans. The assumption that any profession has a fixed length, each school year with two semesters, each semester and the length of time equal to the credit limit are. Each professional courses are determined, and the creation of curriculum time arrangements must meet prevocational relations. Each course which is a pre-determined curriculum, can have any number of doors, there will be No. Each class just for a semester. Test this premise in the design of a teaching plan programming一、课题的主要功1.1程序的功能大学的每个专业都要制订教学计划。

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。

每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。

每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。

每门课恰好占一个学期。

试在这样的前提下设计一个教学计划编制程序。

本程序针对本科的学期内容,通过输入实际的课程及先后关系。

结合每学期的学分及课程数,制定好学习计划。

在输入相关数据后,程序会安排好每学期的课程。

1.2.输入输出的要求输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。

输出要求输出各门课程所对应的学分,以及每学期各门课程的安排。

1.3运行环境1. WINDOWS 7系统2. TurboC2.0编译环境1.4开发工具C语言二、概要设计2.1程序的模块组成LocateVex():图的邻接表存储的基本操作CreateGraph():构造生成树Display():输出图的邻接矩阵FindInDegree():求顶点的入度InitStack():构造一个空栈ClearStack():清空栈StackEmpty():判断是否为空栈Pop():出栈Push():入栈TopologicalSort():输出G顶点的拓扑排序结果2.2模块的层次结构及调用关系2.3模块的主要功能见“详细设计”-“主要函数流程图”2.4数据结构和数据库结构储存的数据为结构体类型数组,以及结构体单链表结点类型。

1 typedef struct ArcNode2 typedef struct三.主要功能的实现3.1采用C语言定义相关的数据类型。

其中包括字符常量,整型,字符型,字符串型,typedef 定义的类型,结构体型,单链表节点类型,结构体数组。

3.2主要函数的流程图1.LocateVex():图的邻接表存储的基本操作。

由初始条件: 图G存在,u和G中顶点有相同特征转而进行判断,若G中存在顶点u,则返回该顶点在图中位置;否则返回-1。

2.CreateGraph():构造生成图。

采用邻接表存储结构,构造没有相关信息的图G(用一个函数构造种图)。

3.Display():输出图的邻接矩阵。

采用循环设置输出图的邻接矩阵。

4.FindInDegree():求顶点的入度。

5.InitStack():构造一个空栈。

6.ClearStack():清空栈。

7.StackEmpty():判断栈是否为空。

若栈S为空栈,则返回TRUE,否则返回FALSE。

8.Pop():出栈。

若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR。

9.Push():入栈。

插入元素e为新的栈顶元素。

10.TopologicalSort():输出G顶点的拓扑排序结果。

有向图G采用邻接表存储结构。

若G无回路,则输出G的顶点的一个拓扑序列并返回OK, 否则返回ERROR。

3.3画出各函数的调用关系图四、程序调试4.1测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。

准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。

数据如下:学期总数:6;学分上限:10;该专业共开设课数:12课程号:从C01到C12;学分顺序:2,3,4,3,2,3,4,4,7,5,2,3。

先修顺序(有向图表示):4.2使用说明输入学期总数,学分上限,课程数,先修关系边数,课程代表符号,相对学分值输入完成后执行可得到每个学期的课程结果五.总结5.1 致谢本次的课程设计,并不是我自己一个人设计出来的。

首先,我要感谢我的数据结构老师——黄同成老师,同时黄老师也是我们本次课程设计的指导老师,更是我在大一的C语言老师,黄老师你在上课的时候每次在我遇到问题的时候都会给我耐心的解答,让我去理解并解决这个问题,虽然本次课程设计黄老师因为比较忙没有能像其他的老师那样经常的指导,但帮助了我们不少,所以在这里我致以最诚挚的谢意,老师,谢谢您!另外,我还要感谢在我这次课程设计中帮助过我的同学,谢谢你们一直以来对我的帮助,没有你们也没有我此次的成果,谢谢。

5.1 程序调试中遇到的问题以及解决问题的方法。

由于程序十分的复杂,遇到了很多常见的语法错误,及逻辑错误。

这需要我们不断的调试分析。

符号的格式之类,指针的用法,判断输入输出的条件都是十分容易出错的地方。

在逐条排除,向同学老师请教后,程序终于得以完成。

这让我明白了,解决问题,要细心认真,集思广益,这样才能把问题解决。

5.2 课程设计过程经验教训、心得体会。

虽然在大一我们已经学习了C语言,但是,直到本期我们才开设了数据结构这一门课程。

这门课程让我从C语言那基础再深入的了解了软件开发的复杂性。

对以往模糊的经验,起了总结提升的作用。

在学习了这门课程后,我们进行了2个星期的课程设计,来实践我们所学这门课的内容。

这次实验,我进行了大量的资料查阅,包括向老师请求帮助解释题目要求,对所学知识进行复习。

通过这些努力,我对数据结构这门课程有了新的认识,对编程的步骤,有了具体的体会。

通过和同学的广泛交流,我体会到了合作的必要性及合作的优势。

更重要的是,这个课题完全脱离于只限于书本上的问题,多用在实际生活当中,让我对计算机行业,充满了信心和自豪。

以往我们学的计算机知识一般停留在理论上,这让我们不太理解计算机的应用和前景,而较少注重我们对算法的实践锻炼。

而这一次的实习既需要我们去联系理论,又需要我们去实践方法,很多东西看上去都学过,但是和实际联系才知道变通的艰难。

书上得来的并不是一切,大多还是需要在其它方面去吸收的,这是我这次实习的最大收获。

这次的实验让我们知道该如何跨过实际和理论之间的鸿沟。

六、附录6.1参考书目1 黄同成,黄俊民,董建寅.数据结构[M].北京:中国电力出版社,20082 董建寅,黄俊民,黄同成.数据结构实验指导与题解[M].北京:中国电力出版社,20083 严蔚敏,吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社,20024 唐策善,李龙澍,黄刘生.数据结构—用C语言描述[M].北京:高等教育出版社,20016.2源程序清单(带注释)#include<string.h>#include<ctype.h>#include<malloc.h> // malloc()等#include<limits.h> // INT_MAX等#include<stdio.h> // EOF(=^Z或F6),NULL#include<stdlib.h> // atoi()52#include<io.h> // eof()#include<math.h> // floor(),ceil(),abs()#include<process.h> // exit()#include<iostream.h> // cout,cin// 函数结果状态代码#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等typedef int Boolean; // Boolean是布尔类型,其值是TRUE或FALSE#define MAX_NAME 10/* 顶点字符串的最大长度*/#define MAXCLASS 100int Z=0;int X=0;int xqzs,q=1,xfsx;typedef int InfoType;typedef char VertexType[MAX_NAME]; /* 字符串类型*//* 图的邻接表存储表示*/#define MAX_VERTEX_NUM 100typedef enum{DG}GraphKind; /* {有向图,有向网,无向图,无向网} */typedef struct ArcNode{int adjvex; /* 该弧所指向的顶点的位置*/struct ArcNode *nextarc; /* 指向下一条弧的指针*/InfoType *info; /* 网的权值指针)*/}ArcNode; /* 表结点*/typedef struct{VertexType data; /* 顶点信息*/ArcNode *firstarc; /* 第一个表结点的地址,指向第一条依附该顶点的弧的指针*/ }VNode,AdjList[MAX_VERTEX_NUM]; /* 头结点*/typedef struct{AdjList vertices,verticestwo;int vexnum,arcnum; /* 图的当前顶点数和弧数*/int kind; /* 图的种类标志*/}ALGraph;/* 图的邻接表存储的基本操作*/int LocateVex(ALGraph G,VertexType u){ /* 初始条件: 图G存在,u和G中顶点有相同特征*//* 操作结果: 若G中存在顶点u,则返回该顶点在图中位置;否则返回-1 */int i;for(i=0;i<G.vexnum;++i)if(strcmp(u,G.vertices[i].data)==0)return i;return -1;}Status CreateGraph(ALGraph *G){ /* 采用邻接表存储结构,构造没有相关信息的图G(用一个函数构造种图) */ int i,j,k;VertexType va,vb;ArcNode *p;printf("请输入教学计划的课程数: ");scanf("%d",&(*G).vexnum);printf("请输入拓扑排序所形成的课程先修关系的边数: ");scanf("%d",&(*G).arcnum);printf("请输入%d个课程的代表值(<%d个字符):\n",(*G).vexnum,MAX_NAME); for(i=0;i<(*G).vexnum;++i) /* 构造顶点向量*/{ scanf("%s",(*G).vertices[i].data);(*G).vertices[i].firstarc=NULL;}printf("请输入%d个课程的学分值(<%d个字符):\n",(*G).vexnum,MAX_NAME); for(i=0;i<(*G).vexnum;++i) /* 构造顶点向量*/{scanf("%s",(*G).verticestwo[i].data);}printf("请顺序输入每条弧(边)的弧尾和弧头(以空格作为间隔):\n");for(k=0;k<(*G).arcnum;++k) /* 构造表结点链表*/{ scanf("%s%s",va,vb);i=LocateVex(*G,va); /* 弧尾*/j=LocateVex(*G,vb); /* 弧头*/p=(ArcNode*)malloc(sizeof(ArcNode));p->adjvex=j;p->info=NULL; /* 图*/p->nextarc=(*G).vertices[i].firstarc; /* 插在表头*/(*G).vertices[i].firstarc=p;}return OK;}void Display(ALGraph G){ /* 输出图的邻接矩阵G */int i;ArcNode *p;switch(G.kind){case DG: printf("有向图\n");}printf("%d个顶点:\n",G.vexnum);for(i=0;i<G.vexnum;++i)printf("%s ",G.vertices[i].data);printf("\n%d条弧(边):\n",G.arcnum);for(i=0;i<G.vexnum;i++){p=G.vertices[i].firstarc;while(p){printf("%s→%s ",G.vertices[i].data,G.vertices[p->adjvex].data); p=p->nextarc;}printf("\n");}}void FindInDegree(ALGraph G,int indegree[]){ /* 求顶点的入度,算法调用*/int i;ArcNode *p;for(i=0;i<G.vexnum;i++)indegree[i]=0; /* 赋初值*/for(i=0;i<G.vexnum;i++){p=G.vertices[i].firstarc;while(p){ indegree[p->adjvex]++;p=p->nextarc;}}}typedef int SElemType; /* 栈类型*//*栈的顺序存储表示*/#define STACK_INIT_SIZE 10 /* 存储空间初始分配量*/#define STACKINCREMENT 2 /* 存储空间分配增量*/typedef struct SqStack{SElemType *base; /* 在栈构造之前和销毁之后,base的值为NULL */SElemType *top; /* 栈顶指针*/int stacksize; /* 当前已分配的存储空间,以元素为单位*/}SqStack; /* 顺序栈*//* 顺序栈的基本操作*/Status InitStack(SqStack *S){ /* 构造一个空栈S */(*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));if(!(*S).base)exit(OVERFLOW); /* 存储分配失败*/(*S).top=(*S).base;(*S).stacksize=STACK_INIT_SIZE;return OK;}void ClearStack(SqStack *S) //清空栈的操作{S->top=S->base;}Status StackEmpty(SqStack S){ /* 若栈S为空栈,则返回TRUE,否则返回FALSE */if(S.top==S.base)return TRUE;elsereturn FALSE;}Status Pop(SqStack *S,SElemType *e){ /* 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR */ if((*S).top==(*S).base)return ERROR;*e=*--(*S).top;return OK;}Status Push(SqStack *S,SElemType e){ /* 插入元素e为新的栈顶元素*/if((*S).top-(*S).base>=(*S).stacksize) /* 栈满,追加存储空间*/{(*S).base=(SElemType*)realloc((*S).base,((*S).stacksize+STACKINCREMENT)*sizeof(SElemType));if(!(*S).base)exit(OVERFLOW); /* 存储分配失败*/(*S).top=(*S).base+(*S).stacksize;(*S).stacksize+=STACKINCREMENT;}*((*S).top)++=e;return OK;}typedef int pathone[MAXCLASS];typedef int pathtwo[MAXCLASS];Status TopologicalSort(ALGraph G){ /* 有向图G采用邻接表存储结构。

相关文档
最新文档