1、数据结构课程设计教学大纲适用专业:计算机科学与技术课程周数:2 周一、大纲说明本大纲根据计算机科学与技术专业人才培养方案制订。(一)课程设计性质课程设计是学生对课程所学知识的综合运用,它与课堂听讲、上机实验、课外练习、自学研究相辅相成,构成一个完整的课程教学体系。(二)主要先修课程和后续课程1.先修课程:C 语言程序设计2.后续课程:计算机组成原理 、 操作系统 、 数据库系统原理二、课程设计目的及基本要求数据结构是一门实践性强的课程,其中对算法设计和程序编写的掌握尤为重要。学生虽然可以通过与课堂教学同步的上机实验完成相关内容的练习,但却往往局限于一些功能简单、彼此之间关系独立的算法和程序。课
2、程设计是一种综合训练,致力于培养学生全面、灵活的算法设计思想和较高的编程能力,为今后从事计算机开发与应用打下基础。新世纪需要具有丰富科学知识、独立解决实际问题、有创造能力的新型人才,这也是该课程设计的最终目的。三、课程设计内容及安排1、航空客运订票系统问题描述:航空客运订票的业务包括查询航线和客票预订的信息、客票预订和办理退票等。设计一个程序使上述任务借助计算机来完成。要求:1)系统必须存储的数据信息航班信息:飞机抵达城市、航班号、飞机号、起降时间、航班票价、总位置和剩余位置、已订票的客户名单。客户信息:客户姓名、证件号、座位号2)系统能实现的操作和功能如下:承办订票业务:根据客户提同的要求(
3、飞机抵达城市、起降时间、订票数量)查询该航信息(包括票价和剩余位置) ,若满足要求,则为客户办理订票手续,输出座位号。承办退票业务:根据客户提供的情况(航班号、订票数量) ,为客户办理退票手续。查询功能:查询航线信息:根据飞机降落地点,输出下列信息:航班号、飞机号、起降时间、航班票价和剩余位置。本义客户预订信息:根据客户证件号,输出下列信息:航班号、飞机号和座位号。3)每一个函数要有必要的注释,在课程设计论文中有流程图。2、线索二叉树问题描述:实现线索二叉树的生成、遍历、查找、插入和删除操作。要求:1)各功能模块必须是单独的函数;2)线索二叉树是动态生存的;3)输入数据进行必要的合法性检查;4
4、)执行每一个功能后,按二叉树广义表的表达方式打印输出,检查结果是否正确;5)每一个函数要有必要的注释,在课程设计论文中有流程图。3、根据哈夫曼树的原理求 n 个自然数相加减后结果最小(中间结果、最后结果不能负) 。要求:1)可以循环测试,可以选择退出程序;2)打印这 n 个自然数进行加减的表达式(注意:中间结果不能为负) ;例如:输入 1,2,3,最后打印出 3-2-1=03)输入数据要进行合法性检查;4)每一个函数要有必要的注释,在课程设计论文中有流程图。4、普里姆算法求最小生成树问题描述:用普里姆算法求有向网图或无向网图的最小生成树。要求:1)先生成一个网图,该网图既能是无向网图,有能是有
5、向网图;2)要求分别采用邻接矩阵和链接表存储来完成;3)最后打印输出最小生成树;4)每一个函数要有必要的注释,在课程设计论文中有流程图。5、克鲁斯卡尔算法求最小生成树问题描述:用克鲁斯卡尔算法求有向网图或无向网图的最小生成树。要求:1)先生成一个网图,该网图既能是无向网图,有能是有向网图;2)要求分别采用邻接矩阵和链接表存储来完成;3)最后打印输出最小生成树;4)每一个函数要有必要的注释,在课程设计论文中有流程图。6、职工工作量统计问题描述:采用随机函数产生职工的工号和他所完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,最后按以下格式输出:职工完成产品数量的名次,该名次每位职工完
6、成的产品数量、职工人数和职工号要求:1)输出统计结果,如下所示:Order quantity count nuber1 375 3 10 20 214 256 2 3 56 200 1 92)每一个函数要有必要的注释,在课程设计论文中有流程图。7、求最少换车次数问题描述:设某城市有 n 个车站,并有 m 条公交线路连接这些车站。设这些公交车都是单向的,这 n 个车站被顺序编号为 0n-1。本程序,输入该城市的公交线路数,一站个数,以及各公交线路上的各站编号。要求:1)求从站 0 出发乘公交车至站 n-1 的最少换车次数;2)利用输入信息构建一张有向图(用邻接矩阵 g 表示) ;3)每一个函数要
7、有必要的注释,在课程设计论文中有流程图。8、分块查找问题描述:采用分块查找的方法查找指定的关键码。要求:1)可以循环查找,可以选择退出;2)分别采用顺序存储和链式存储完成分块查找,其中在顺序存储结果下,索引表的查找采用二分查找;3)分别用函数完成索引表查找和块中查找;4)每一个函数要有必要的注释,在课程设计论文中有流程图。9、关键路径问题描述:建立 AOE 图,确定其拓扑有序后求关键路径。要求:1)建立一个 AOE 图,并输出结果确保创建成功;2)判断 AOE 图是一个拓扑有序序列,如果不是拓扑有序则报错;3)编写函数求 AOE 图的关键路径;4)打印输出关键路径;5)每一个函数要有必要的注释
8、,在课程设计论文中有流程图。10、二叉排序树问题描述:完成二叉排序树的创建、查找、插入和删除操作。要求:1)创建一颗二叉排序树,并打印输出;2)分别编写函数完成二叉排序树的查找、插入和删除;3)测试二叉排序树的查找、插入和删除,分别打印测试结果;4)每一个函数要有必要的注释,在课程设计论文中有流程图。11、医务室模拟问题描述:假设只有一个医生,在一段时间内随机地来几位病人,假设病人到达到的时间间隔为 014 分钟之间的某个随机值,每个病人所需处理理间为 19 分钟之间的某个随机值。试用队列结构进行模拟。要求:1)输出医生的总等待时间;2)输出病人的平均等待时间;4)每一个函数要有必要的注释,在
9、课程设计论文中有流程图。12、哈希表查找问题描述:定义一个哈希表和对哈希表进行插入、查找和删除、打印。要求:1)定义一个哈希表,并打印输出结果;2)分别编写函数完成查找、插入和删除;3)测试查找、插入和删除,分别打印测试结果;4)每一个函数要有必要的注释,在课程设计论文中有流程图。四、指导方式集体辅导与个别辅导相结合。五、课程设计考核方法及成绩评定1、程序清单:代码应具有详细注释,用来说明程序的功能、结构;2、设计报告:报告中应包含上机时遇到的问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会,以及其它信息; 3、提交时,须向指导教师说明:程序的使用方法,调用方法、操作步骤等;要求输入信息的类型及格式;出错信息的含义及程序的适用范围等。成绩评定:课程设计成绩分两部分,设计报告占 40,设计作品占 60。六、课程设计教材及主要参考资料教学参考书1李素若. 数据结构.北京:化学工业出版社,2009.参考资料:1 朱蓉, 数据结构实验指导书2严蔚敏 吴伟民, .数据结构(C 语言版),1999,清华大学出版社;3严蔚敏 吴伟民, .数据结构题集(C 语言版),1999,清华大学出版社;4徐孝凯,数据结构课程实验,2002,清华大学出版社;5孟佳娜 胡潇琨,算法与数据结构实验与习题,2004,机械工业出版社;七、其他