资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
安徽工业大学管理科学与工程学院 课程设计指导书1数据结构数据结构 B B 课程设计课程设计指导书指导书安徽工业大学管理科学与工程学院 课程设计指导书2目录目录1 课程简介课程简介32 教学目的与意义教学目的与意义33 设计内容、任务描述设计内容、任务描述34 课程设计主要步骤与时间分配课程设计主要步骤与时间分配34.1 课程设计的主要步骤课程设计的主要步骤3 4.2 课程设计进度安排课程设计进度安排45 课程设计过程中的各环节内容课程设计过程中的各环节内容45.1 建立模型建立模型4 5.2 选择合适的存储结构选择合适的存储结构4 5.3 构造求解算法构造求解算法5 5.4 编写程序编写程序5 5.5 测试测试6 5.6 撰写课程设计报告撰写课程设计报告66 课程设计成绩的评定课程设计成绩的评定7附录附录 1:参考选题:参考选题8安徽工业大学管理科学与工程学院 课程设计指导书31 课程简介课程简介数据结构 B是信息管理与信息系统专业的重要基础课程,是一门理论与实践并重的课程,课程设计环节是这门课程的集中性实践教学环节。在先修课程数据结构 B的基础上,在教师的指导下,利用本课程内的以及到目前为止所学到的有关知识和技术解决一些不太复杂但却是综合性的问题。从规模来说,课程设计是在平时作业的基础上进一步扩大的大作业。在设计中,要求学生要全面考虑相互联系的各个方面及问题。 本课程的基本任务,是使学生通过学习,掌握基本算法和数据结构,数据结构与算法的关系。培养计算机信管专业的学生结合实际应用,设计有效的算法和数据结构的能力。2 教学目的与意义教学目的与意义数据结构 B是信息管理与信息系统专业的重要基础课程,本课程设计是配合该课程教学而开设的一门实践课程。通过课程设计,使学生对整个数据结构 B课程的知识体系有较深入的理解,在运用本课程的知识解决实际问题方面得到锻炼,对锻炼学生的实践能力以及运用本课程的知识、方法解决更为复杂的实际问题有较好的启发和指导作用,从而为后续课程的学习、毕业设计环节以及将来的实际工作打好坚实的基础。3 设计内容、任务描述设计内容、任务描述在认真研读教材,理解讲课内容的基础上,在附录 1 参考选题中任选 1-2 个设计课题(也可自拟与课程相关题目),针对具体问题,运用数据结构 、程 序设计以及迄今为止所学课程中的各种基本技术和理论在规定的时间内完成数 据模型的选择、数据结构的定义、求解算法设计及程序编制及调试。4 课程设计主要步骤与时间分配课程设计主要步骤与时间分配4.1 课程设计的主要步骤课程设计的主要步骤本课程在 1 周时间内需完成选题、数据模型建立、存储方案选择、求解算法构造、程序编写及测试、设计报告撰写等环节内容。安徽工业大学管理科学与工程学院 课程设计指导书44.2 课程设计进度安排课程设计进度安排集中讲授:2 学时(第一天,重点是介绍指导书,指导学生选题,并就学生所选课题进行具体指导);数据模型建立、存储方案选择:1 天时间(第一天);求解算法构造、程序编写及测试:3 天时间(第二天第四天)撰写设计报告:第五天5 课程设计过程中的各环节内容课程设计过程中的各环节内容5.1 建立模型建立模型 建立模型通常包括所描述问题中的数据对象及其关系的描述、问题求解的要求及方法等方面。将一个具体的问题转换为我们所熟悉的模型,就可以很容易进行求解。要描述群体中个体之间的关系时,可以采用离散数学中所介绍的图结构。例如要求解一个工程的最小代价或者关键路径时,可以采用图结构中的 AOV 网或 AOE 网等模型。数值计算问题中常用的数学模型为线性方程组(用于求解电路的电流强度或结构中的应力)或微分方程(用于预报人口增长情况或化学反应速度等)。 离散数学及许多数学课程中就介绍了许多模型。 数据结构课程中所介绍的各种结构也是数学模型。数学模型的建立是求解实际问题的基础。一般情况下,实际应用问题可能会各式各样,但有共性的问题都是同一类数学模型,例如我们所熟悉的工资表的处理问题、学生成绩管理问题、电话号码查询问题、图书管理系统等都属于线性表这种模型。只要掌握线性表的存储结构、操作算法我们就能解决如工资表的处理、学生成绩管理等一系列问题,学习数据结构这门课程的根本目的就在于此。再如:在有 n 个选手 P1,P2,P3,Pn 参加的单循环赛中,每对选手之间非胜即负。现要求求出一个选手序列P1,P2,P3,Pn,使其满足 Pi胜 Pi+1(i=1,N-1)。这个问题看似复杂,由于仅涉及到 n 个选手,并且这些选手之间的关系仅是胜负关系,因此可用图这种数学模型来表示:用顶点表示选手,用弧表示选手之间的胜负关系:当且仅当 Pi胜 Pj,有从 i 到 j 的一条弧,在这种表示下,本题问题变成了在有向图中求解出一条包含所有顶点的简单路径的问题。由此可见,正确选择数学模型是解决问题的关键,这就要求我们具有扎实的数学基础,同时熟练地掌握数据结构所介绍的线性表、队列与栈、广义表、树和图等各种结构(模型)的存储方法和操作算法。安徽工业大学管理科学与工程学院 课程设计指导书55.2 选择合适的存储结构选择合适的存储结构 在构造出求解算法之后,就需要考虑如何在计算机上实现。从算法到程序还是有一定距离的。为此,需要做两方面的工作,其一是选择合适的存储结构,其二是用指定的计算机语言来描述算法。下面先讨论第一个方面,即选择存储结构的问题。 选择合适的存储结构首先是为了将问题所涉及到的数据(包括数据中的基本对象及对象之间的关系)存储到计算机中。此外,还需要考虑所选择的结构是否便于问题的求解,时间和空间复杂度是否符合要求。 数据结构课程中已经对此作了许多讨论。在实际应用时,需根据问题的要求进行合理的选择及综合。不同的存储形式对问题的求解实现有较大的影响,所占用的存储空间也可能有较大的差异。例如,顺序存储结构一般来说便于直接存取,从而节省存取时间,但是在插入和删除元素时需要移动元素,从而浪费时间,而链式存储结构在插入和删除元素时无需移动元素,但需花费时间来搜索元素。线性表较多采用顺序存储结构,而非线性结构则不宜采用这种形式。5.3 构造求解算法构造求解算法 在建立好模型之后,一个具体的问题就变成了一个用模型所描述的抽象的问题。借助于这一模型以及已有的知识(例如数据结构中有关图结构的基本知识),我们可以相对容易地描述出原问题的求解方法即算法。从某种意义上说,该算法不仅能实现原问题的求解,而且还能实现许多类似的具体问题的求解,尽管这些具体问题的背景及其描述形式可能存在较大的差异。 算法设计的核心是给出问题求解的基本算法。所给出的算法并非一定要用某种计算机语言来描述,但应能较方便地转换为某种计算机语言程序。 在建立了适当的数学模型后,某些问题就可以转换为一些经典问题或基于某些经典问题的综合或变异形式的求解。例如,如果所转换出的模型为图,则可能借助于图的深度遍历、广度遍历、求最小生成树、求最短路径、拓扑排序、关键路径、二分图的匹配、图的着色等问题的求解算法来实现。 在问题的求解没有可借助的方法时,需要自己构思求解方法。在构造求解方法时,需要注意对时间、空间以及其它有关性能的要求。5.4 编写程序编写程序 编程是用指定的计算机语言来描述算法和数据结构,并将其转换为完整的上机程序。这包括提供必要
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号