2015版数据结构课程设计 (1)
2015年数据结构课程设计任务书
《数据结构》课程设计任务书班级:网工14102班地点E3-A501课程设计周数:1周(星期一、二、三、四下午,星期五为元旦节)指导老师:周学清一、课程设计的目的《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。
数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。
通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。
通过此次课程设计主要达到以下目的:⏹了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;⏹初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;⏹提高综合运用所学的理论知识和方法独立分析和解决问题的能力;⏹训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、课程设计的基本要求1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?2.逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。
逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;3.详细设计:定义相应的存储结构并写出各函数的伪码算法。
在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。
详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;4.程序编码:把详细设计的结果进一步求精为程序设计语言程序。
学生成绩管理系统(线性表版)
学年论文(数据结构 2015—2016 第一学期)题目: 数据结构课程设计作者:陈炳宏所在学院:信息科学与工程学院专业年级:信息安全14-1指导教师:刘淑娴职称:副教授2016年 1 月 4 日一.学生成绩管理系统 (1)1。
1需求分析 (1)1。
1.1程序分析: (1)1。
1.2执行方式: (1)1。
1.3 程序执行的命令包括: (1)1.1.4测试数据: (2)1.2概要设计 (2)1.2.1 线性表的抽象数据类型定义为: (3)1.2。
2 结点的抽象数据类型定义为: (3)1。
2。
3指针的抽象数据类型定义为: (3)1。
2.4本程序包含8个模块: (4)1。
3详细设计 (5)1.3.1 元素类型、结点类型和指针类型 (5)1.3.2 函数说明 (5)1。
3.3 功能函数 (5)1。
4 调试分析 (15)1.5 用户手册 (15)1。
6测试结果 (18)一.学生成绩管理系统1.1需求分析1.1。
1程序分析:本程序是一个基于线性表结构编写的学生成绩管理系统,学生可以进行包括学生信息建立、在不同位置插入学生信息、查询指定学生信息、删除指定学生信息和输出显示所有学生信息这五项功能,功能操作简单,效率高,可延展性强. 为保证信息的真实性,学生信息中学号长度num<=11,姓名长度name〈=8,性别gender<=3,成绩仍意输入,并且学号和成绩只能为数字,否则程序出错。
1。
1。
2执行方式:本程序以用户和计算机的对话方式执行,即在计算机终端上显示7个共能选择的“提示信息"之后,由用户在键盘上输入本程序中规定的功能指令;相应的输人数据(并能滤去输入中的非法字符)和显示信息来处理结果。
1.1.3 程序执行的命令包括:(1)学生信息链表的建立;建立后仍意建继续输入,n和N退出;(2)插入学生信息;输入插入的位置;(3) 查询学生信息;选择两种方式之一查找并查询;(4)删除学生信息;选择两种方式之一查找并删除;(5)修改学生信息;选择两种方式之一查找并修改;(6) 输出所有学生信息;(7)退出管理系统.1.1.4测试数据:(1)建立三个学生信息:学号(11)姓名(8)性别成绩20141305210,cc,n,8920141302399,sxz,w,9920151432596,sad,n,88(2) 插入一个学生信息:学号(11)姓名(8)性别成绩2016,scs,n,79输入插入位置:2(3) 查询学生信息:按1选择学号查询,输入学号:20141305210按2选择姓名查询,输入姓名:scz(4) 删除学生信息:按2选择姓名删除,输入姓名:cc(5)修改学生信息:按1选择学号修改,输入学号:20141302399输入修改后的数据:学号(11)姓名(8) 性别成绩20141312399,scz,w,691。
数据结构的课程设计
数据结构的课程设计一、课程目标知识目标:1. 理解数据结构的基本概念,掌握线性表、树、图等常见数据结构的特点与应用场景。
2. 学会分析不同数据结构的存储方式和操作方法,并能运用到实际问题的解决中。
3. 掌握排序和查找算法的基本原理,了解其时间复杂度和空间复杂度。
技能目标:1. 能够运用所学数据结构知识,解决实际问题,提高编程能力。
2. 能够运用排序和查找算法,优化程序性能,提高解决问题的效率。
3. 能够运用数据结构知识,分析并解决复杂问题,培养逻辑思维能力和创新意识。
情感态度价值观目标:1. 培养学生对数据结构学科的兴趣,激发学习热情,形成主动探索和积极进取的学习态度。
2. 增强学生的团队协作意识,培养合作解决问题的能力,提高沟通表达能力。
3. 培养学生的抽象思维能力,使其认识到数据结构在计算机科学中的重要性,激发对计算机科学的热爱。
本课程针对高中年级学生,结合学科特点和教学要求,注重理论与实践相结合,培养学生的编程能力和逻辑思维能力。
通过本课程的学习,使学生能够掌握数据结构的基本知识,提高解决实际问题的能力,同时培养良好的学习态度和价值观。
在教学过程中,将目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. 数据结构基本概念:介绍数据结构的概念、作用和分类,重点讲解线性结构(线性表、栈、队列)和非线性结构(树、图)的特点。
2. 线性表:讲解线性表的顺序存储和链式存储结构,以及相关操作(插入、删除、查找等)。
3. 栈和队列:介绍栈和队列的应用场景、存储结构及相关操作。
4. 树和二叉树:讲解树的定义、性质、存储结构,二叉树的遍历算法及线索二叉树。
5. 图:介绍图的定义、存储结构(邻接矩阵和邻接表)、图的遍历算法(深度优先搜索和广度优先搜索)。
6. 排序算法:讲解常见排序算法(冒泡排序、选择排序、插入排序、快速排序等)的原理、实现及性能分析。
7. 查找算法:介绍线性查找、二分查找等查找算法的原理及实现。
数据结构课程设计1
摘要C是一种通用的程序设计语言,C语言在很多方面继承和发展了以往许多高级程序设计语言的成功经验和特色,具有书写格式自由、数据类型丰富、语句功能强大、执行速度快和存储控制能力强等优点。
宿舍管理查询系统是为方便宿舍管理人员实现宿舍管理查询而开发的,具有信息输入、显示、查询、排序、插入和删除功能。
使用简单方便,点击“宿舍管理查询系统.exe”即可运行。
整个系统操作简便、界面友好、灵活、实用、安全的要求出发,完成宿舍成员管理的全过程,包括添加宿舍成员信息、查找宿舍成员信息、插入宿舍成员信息、删除宿舍成员信息、按学号排序、统计宿舍成员等工作。
本课程主要介绍了本课题的开发背景,所要完成的功能和开发的过程。
重点说明了系统的设计思路、总体设计、各个功能模块的设计与实现方法。
关键词:宿舍管理查询系统,C语言,数据结构。
目录摘要 (1)1课题背景的介绍 (1)1.1 课题背景 (1)1.2 目的 (1)2需求分析 (2)2.1 数据需求分析 (2)2.2 功能需求分析 (2)3系统总体设计 (2)3.1 系统模块划分 (2)3.3 系统模块结构图 (3)4系统详细设计 (3)4.1 系统界面设计 (3)4.2 欢迎界面信息 (3)4.3创建宿舍成员信息 (4)4.4按宿舍成员姓名排序 (4)4.5按宿舍成员学号排序 (5)4.6按宿舍成员房号排序 (6)4.7按宿舍成员姓名查找 (7)4.8按宿舍成员学号查找 (9)4.9按宿舍成员房号查找 (11)4.10按宿舍成员学号插入 (12)4.11按宿舍成员学号删除 (14)4.12系统连编与运行 (15)5总结 (16)参考文献 (16)1课题背景的介绍1.1 课题背景在计算机迅速发展的今天,将计算机这一信息处理器应用于宿舍成员的信息管理和查询已是势必所然,而且这也将宿舍成员信息管理带来前所未有的改变。
采用计算机对宿舍成员的信息管理是信息科学化和现代化的重要标志。
主要体现在:极大地提高了工作人员的工作效率,大大地减少了以往的资料室所存在的各种弊端,同时也加强和规范学习对于宿舍成员信息的管理和查询。
数据结构课程设计报告范例
Guangxi University of Science and Technology 课程设计报告课程名称:算法和编程综合实习课题名称:姓名:学号:院系:计算机科学和通信工程学院专业班级:通信指导教师:完成日期:2015年1月15日目录第1部分课程设计报告 (3)第1章课程设计目的 (3)第2章课程设计内容和要求 (4)2.1 问题描述 (4)2.2 设计要求 (4)第3章课程设计总体方案及分析 (4)3.1 问题分析 (4)3.2 概要设计 (7)3.3 详细设计 (7)3.4 调试分析 (10)3.5 测试结果 (10)3.6 参考文献 (12)第2部分课程设计总结 (13)附录(源代码) (14)第1部分课程设计报告第1章课程设计目的仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)第2章课程设计内容和要求2.1问题描述:迷宫问题是取自心理学的一个古典实验。
在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。
盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。
对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。
老鼠经过多次试验最终学会走通迷宫的路线。
设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。
图A2.2设计要求:要求设计程序输出如下:(1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏幕上显示出来;(2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。
数据结构课程设计实验1_城市链表
数据结构课程设计实验报告实验一链表部分选题为:2.4.3—城市链表1、需求分析(1)创建一个带有头结点的单链表。
(2)结点中应包含城市名和城市的位置坐标。
(3)对城市链表能够利用城市名和位置坐标进行有关查找、插入、删除、更新等操作。
(4)能够对每次操作后的链表动态显示。
2、概要设计为了实现以上功能,可以从以下3个方面着手设计。
(1)主界面设计为了实现城市链表相关操作功能的管理,设计一个含有多个菜单项的主控菜单子程序以系统的各项子功能,方便用户使用本程序。
本系统主控菜单运行界面如下所示。
(2)存储结构设计本系统主要采用链表结构类型来表示存储在“城市链表”中的信息。
其中链表结点由4个分量组成:城市名name、城市的横坐标posx、城市的纵坐标posy、指向下一个结点的指针next。
(3)系统功能设计本程序设计了9个功能子菜单,其描述如下:①建立城市链表。
由函数creatLink()实现。
该功能实现城市结点的输入以及连接。
②插入链表记录。
由函数insert()实现。
该功能实现按坐标由小到大的顺序将结点插入到链表中。
③查询链表记录。
由searchName()函数和searchPos()函数实现。
其中searchName()实现按照城市名查询的操作,searchPos()实现按照城市坐标查询的操作。
④删除链表记录。
由delName()函数和delPos()函数实现。
其中delName()函数实现按照城市名删除的操作,delPos()函数实现按照城市坐标删除的操作。
⑤ 显示链表记录。
由printList ()函数实现。
该功能实现格式化的链表输出操作,可以显示修改后的链表状态。
⑥ 更新链表信息。
由update ()函数实现。
该功能实现按照城市名更新城市的坐标信息。
⑦ 返回城市坐标。
由getPos ()函数实现。
该功能实现给定一个已存储的城市,返回其坐标信息的操作。
⑧ 查看与坐标P 距离小于等于D 的城市。
由getCity ()函数实现。
数据结构课程设计-表达式求值【完整版】
XXXXXX大学《数据结构》课程设计报告班级:学号:姓名:指导老师:目录一算术表达式求值一、需求分析二、程序得主要功能三、程序运行平台四、数据结构五、算法及时间复杂度六、测试用例七、程序源代码二感想体会与总结算术表达式求值一、需求分析一个算术表达式就是由操作数(operand)、运算符(operator)与界限符(delimiter)组成得。
假设操作数就是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号与表达式起始、结束符“#”,如:#(7+15)*(23—28/4)#。
引入表达式起始、结束符就是为了方便.编程利用“算符优先法”求算术表达式得值.二、程序得主要功能(1)从键盘读入一个合法得算术表达式,输出正确得结果。
(2)显示输入序列与栈得变化过程。
三、程序运行平台Visual C++6、0版本四、数据结构本程序得数据结构为栈。
(1)运算符栈部分:struct SqStack //定义栈{char *base; //栈底指针char *top; //栈顶指针intstacksize; //栈得长度};intInitStack (SqStack &s) //建立一个空栈S{if (!(s、base= (char *)malloc(50*sizeof(char))))exit(0);s、top=s、base;s、stacksize=50;return OK;}char GetTop(SqStack s,char &e) //运算符取栈顶元素{if (s、top==s、base) //栈为空得时候返回ERROR{ﻩ printf("运算符栈为空!\n");ﻩ return ERROR;}elsee=*(s、top-1); //栈不为空得时候用e做返回值,返回S得栈顶元素,并返回OK returnOK;}int Push(SqStack&s,char e) //运算符入栈{if (s、top—s、base >= s、stacksize)ﻩ{printf("运算符栈满!\n");ﻩs、base=(char*)realloc(s、base,(s、stacksize+5)*sizeof(char));//栈满得时候,追加5个存储空间if(!s、base)exit (OVERFLOW);s、top=s、base+s、stacksize;s、stacksize+=5;}ﻩ*(s、top)++=e;//把e入栈ﻩreturn OK;}int Pop(SqStack &s,char &e) //运算符出栈{if (s、top==s、base) //栈为空栈得时候,返回ERROR{printf("运算符栈为空!\n”);ﻩ return ERROR;}else{ﻩﻩe=*-—s、top;//栈不为空得时候用e做返回值,删除S得栈顶元素,并返回OK return OK;}}int StackTraverse(SqStack&s)//运算符栈得遍历{ﻩchar *t;ﻩt=s、base;ﻩif (s、top==s、base){ﻩ printf(”运算符栈为空!\n”); //栈为空栈得时候返回ERRORreturn ERROR;}while(t!=s、top){ﻩﻩprintf(" %c",*t); //栈不为空得时候依次取出栈内元素t++;ﻩ}return ERROR;}(2)数字栈部分:struct SqStackn//定义数栈{int *base; //栈底指针int*top; //栈顶指针int stacksize; //栈得长度};intInitStackn (SqStackn &s) //建立一个空栈S{s、base=(int*)malloc(50*sizeof(int));if(!s、base)exit(OVERFLOW);//存储分配失败s、top=s、base;s、stacksize=50;return OK;}int GetTopn(SqStackn s,int&e) //数栈取栈顶元素{if(s、top==s、base){printf("运算数栈为空!\n");//栈为空得时候返回ERRORﻩ return ERROR;}elseﻩe=*(s、top-1);//栈不为空得时候,用e作返回值,返回S得栈顶元素,并返回OKreturnOK;}int Pushn(SqStackn &s,int e) //数栈入栈{if(s、top—s、base>=s、stacksize){ﻩﻩprintf("运算数栈满!\n");//栈满得时候,追加5个存储空间ﻩs、base=(int*)realloc (s、base,(s、stacksize+5)*sizeof(int));if(!s、base) exit (OVERFLOW);ﻩs、top=s、base+s、stacksize;//插入元素e为新得栈顶元素s、stacksize+=5;}*(s、top)++=e; //栈顶指针变化returnOK;}int Popn(SqStackn &s,int &e)//数栈出栈{ﻩif (s、top==s、base){ﻩ printf("运算符栈为空!\n");//栈为空栈得视时候,返回ERRORﻩ return ERROR;ﻩ}else{ﻩﻩe=*—-s、top;//栈不空得时候,则删除S得栈顶元素,用e返回其值,并返回OK ﻩreturnOK;}}int StackTraversen(SqStackn &s)//数栈遍历{ﻩint*t;ﻩt=s、base ;ﻩif(s、top==s、base)ﻩ{printf("运算数栈为空!\n”);//栈为空栈得时候返回ERRORﻩ return ERROR;ﻩ}ﻩwhile(t!=s、top)ﻩ{printf(” %d”,*t); //栈不为空得时候依次输出t++;}return ERROR;}五、算法及时间复杂度1、算法:建立两个不同类型得空栈,先把一个‘#’压入运算符栈。
2015数据结构-第1章序论
数据项
• 一般情况下,一个数据元素含有若干个数据项,数据项是 构成数据的最小单位。
• 每个数据元素都有学号、姓名这两个数据项构成。
学号 姓名
数据结构
什么是结构?
HHNNNNN
HH
N
N
N
N
N
分子结构
什么是结构
• AGCT GACT GCAT AGCT ACGT TAGC • DNA的结构:DNA双螺旋模型
数据结构的发展历史
• 20世纪40年代:处理纯数值性的信息 • 20世纪50年代末:解决非数值计算问题 • 20世纪60年代:数据结构列为一门独立的课程 • 20世纪70年代后期:随着数据库技术的成功应用,
数据结构相应地增加了文件组织、存储和管理等方 面的内容。
数据结构的发展历史
• 1972年,著名计算机科学家霍尔(C. A. R. Hoare)在其论 文“数据结构札记”中,澄清了关于数据结构术语和概念
为什么要学习数据结构
• 在计算机科学中是一门综合性的专业基础课。 • 不仅是一般程序设计的基础,而且是编译原理、操作系
统、数据库系统及其他专业课的重要基础 • 数据结构课程的目的:从对问题抽象和求解的角度来介
绍常用的数据结构,阐明其内在逻辑关系,在计算机中 的存储表示,以及刻画施加于其上之各种操作的算法
为什么要学习数据结构
• 在计算机科学中是一门综合性的专业基础课。 • 不仅是一般程序设计的基础,而且是编译原理、操作系
统、数据库系统及其他专业课的重要基础
学习操作系统的基础(栈、队列、存储 管理、文件等) 学习编译原理的基础(表达式计算、散 列表、语法树)
为什么要学习数据结构
• 在计算机科学中是一门综合性的专业基础课。 • 不仅是一般程序设计的基础,而且是编译原理、操作系
《数据结构》课程设计
《数据结构》课程设计一、课程目标《数据结构》课程旨在帮助学生掌握计算机科学中基础的数据组织、管理和处理方法,培养其运用数据结构解决实际问题的能力。
课程目标如下:1. 知识目标:(1)理解基本数据结构的概念、原理和应用,如线性表、栈、队列、树、图等;(2)掌握常见算法的设计和分析方法,如排序、查找、递归、贪心、分治等;(3)了解数据结构在实际应用中的使用,如操作系统、数据库、编译器等。
2. 技能目标:(1)能够运用所学数据结构解决实际问题,具备良好的编程实践能力;(2)掌握算法分析方法,能够评价算法优劣,进行算法优化;(3)能够运用数据结构进行问题建模,提高问题解决效率。
3. 情感态度价值观目标:(1)激发学生对计算机科学的兴趣,培养其探索精神和创新意识;(2)培养学生团队合作意识,学会与他人共同解决问题;(3)增强学生的责任感和使命感,使其认识到数据结构在信息技术发展中的重要性。
本课程针对高中年级学生,结合学科特点和教学要求,将目标分解为具体的学习成果,为后续教学设计和评估提供依据。
课程注重理论与实践相结合,旨在提高学生的知识水平、技能素养和情感态度价值观。
二、教学内容《数据结构》教学内容依据课程目标进行选择和组织,确保科学性和系统性。
主要包括以下部分:1. 线性表:- 线性表的定义、特点和基本操作;- 顺序存储结构、链式存储结构及其应用;- 线性表的相关算法,如插入、删除、查找等。
2. 栈和队列:- 栈和队列的定义、特点及基本操作;- 栈和队列的存储结构及其应用;- 栈和队列相关算法,如进制转换、括号匹配等。
3. 树和二叉树:- 树的定义、基本术语和性质;- 二叉树的定义、性质、存储结构及遍历算法;- 线索二叉树、哈夫曼树及其应用。
4. 图:- 图的定义、基本术语和存储结构;- 图的遍历算法,如深度优先搜索、广度优先搜索;- 最短路径、最小生成树等算法。
5. 排序和查找:- 常见排序算法,如冒泡、选择、插入、快速等;- 常见查找算法,如顺序、二分、哈希等。
《数据结构》课程设计指导书1
《数据结构》课程设计指导书(共13题)一、课程设计的目的课程设计的目的是培养学生综合程序设计的能力,训练学生灵活应用所学数据结构知识,独立完成问题分析、总体设计、详细设计和编程实现等软件开发全过程的综合实践能力。
巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的学习作风。
为今后学习其他计算机课程打下基础。
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将书本上的理论知识和工作、生产实际有机地结合起来,从而锻炼学生分析问题、解决实际问题的能力,提高学生的编程序能力和创新意识。
二、课程设计的要求在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过算法的设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的课程设计与程序分析报告。
前期准备工作完备与否直接影响到后序上机调试工作的效率。
三、课程设计的学生分组情况每组三至五人,共同研究、共同讨论,可以共同编写算法,但必须各自独立完成各自的程序。
四、课程设计的时间安排课程设计前两周:将各项任务及问题进行讲解、分析。
课程设计一周:星期一:学生对任务进行讨论、研究与分析,初步设计出算法。
星期二到星期四:设计出详细算法,并上机调试程序。
星期五到星期六:写出课程设计报告并考核。
五、课程设计的主要内容【课程设计题目一】一元稀疏多项式加法、乘法器【问题描述】设计一个一元稀疏多项式加法、乘法器用于计算两个多项式的加法和乘法。
例如(x2+4x5+2x9)+(x+3x4)或(7x4+4x6+2x9)*(x4+3x9)【基本要求】(1)输入并建立两个多项式f(x)和g(x);(2)输出每个多项式,要求输出时按指数从小到大输出。
(3)两个多项式完成加法、乘法运算。
(4)输出两个多项式的加法之和及乘积的结果。
(5)写出课程设计报告【实现提示】用带表头结点的单链表存储多项式。
【测试数据】分别选定三组测试数据进行测试,验证程序的正确性。
《数据结构》课程设计报告
《数据结构》课程设计报告一、课程目标《数据结构》课程旨在帮助学生掌握计算机科学中数据结构的基本概念、原理及实现方法,培养其运用数据结构解决实际问题的能力。
本课程目标如下:1. 知识目标:(1)理解数据结构的基本概念,包括线性表、栈、队列、串、数组、树、图等;(2)掌握各类数据结构的存储表示和实现方法;(3)了解常见算法的时间复杂度和空间复杂度分析;(4)掌握排序和查找算法的基本原理和实现。
2. 技能目标:(1)能够运用所学数据结构解决实际问题,如实现字符串匹配、图的遍历等;(2)具备分析算法性能的能力,能够根据实际问题选择合适的算法和数据结构;(3)具备一定的编程能力,能够用编程语言实现各类数据结构和算法。
3. 情感态度价值观目标:(1)培养学生对计算机科学的兴趣,激发其探索精神;(2)培养学生团队合作意识,提高沟通与协作能力;(3)培养学生面对问题勇于挑战、善于分析、解决问题的能力;(4)引导学生认识到数据结构在计算机科学中的重要地位,激发其学习后续课程的兴趣。
本课程针对高年级学生,课程性质为专业核心课。
结合学生特点,课程目标注重理论与实践相结合,强调培养学生的实际操作能力和解决问题的能力。
在教学过程中,教师需关注学生的个体差异,因材施教,确保课程目标的达成。
通过本课程的学习,学生将具备扎实的数据结构基础,为后续相关课程学习和职业发展奠定基础。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 数据结构基本概念:线性表、栈、队列、串、数组、树、图等;教学大纲:第1章 数据结构概述,第2章 线性表,第3章 栈和队列,第4章 串。
2. 数据结构的存储表示和实现方法:教学大纲:第5章 数组和广义表,第6章 树和二叉树,第7章 图。
3. 常见算法的时间复杂度和空间复杂度分析:教学大纲:第8章 算法分析基础。
4. 排序和查找算法:教学大纲:第9章 排序,第10章 查找。
教学内容安排和进度如下:1. 第1-4章,共计12课时,了解基本概念,学会使用线性表、栈、队列等解决简单问题;2. 第5-7章,共计18课时,学习数据结构的存储表示和实现方法,掌握树、图等复杂结构;3. 第8章,共计6课时,学习算法分析基础,能对常见算法进行时间复杂度和空间复杂度分析;4. 第9-10章,共计12课时,学习排序和查找算法,掌握各类算法的实现和应用。
通讯录的设计_数据结构课程设计(含代码)
课程设计说明书课程名称:数据结构课程设计专业:电子信息科学与技术班级:2012-1 设计人:山东科技大学2015年7月11日目录1需求分析说明 (1)2概要设计说明 (1)2.1 数据结构定义 (1)2.2 整体程序流程图 (2)3详细设计说明 (3)3.1主函数模块 (3)3.2 增加联系人模块 (3)3.3 删除联系人模快 (3)3.4 查找联系人模块 (4)3.5 联系人保存到文件模块 (5)3.6 读取文件中的联系人信息模块 (6)3.7命令接收与判断模块 (8)3.8显示联系人信息模块 (8)4调试分析 (8)4.1遇到的问题 (8)4.2调试 (8)5用户使用说明 (11)6课程设计总结 (12)1需求分析说明通讯录管理系统总体设计目标:用《数据结构》中的双向链表作数据结构,结合C语言基本知识,编写一个具有良好可操作性、有一定容错能力通讯录管理系统,以把所学数据结构知识应用到实际软件开发中去。
其中联系人的信息包括姓名、街道、城市、邮编、国家等几项。
系统在命令行模式下运行,通过输入命令的方式操作。
根据以上基本要求分析出系统应具备以下功能:显示所有联系人信息,向通讯录中添加新的联系人,删除指定联系人,将联系人信息保存到文件中,从文件中读取联系人信息到内存,以姓名为关键字查找联系人。
根据以上要实现的功能,首先要构造一个保存联系人信息的数据结构person_info,根据要求这个结构应具有两个指针域以指向其前一个结构和后一个结构从而构成双链表;其数据域包括姓名、街道、城市、邮编、国家等信息,这些信息分别保存在字符数组中。
除了基本的联系人结构(相当于双链表的一个结点)还应构造一个person_list结构,包括一个指向第一个联系人结点的指针和一个保存链表长度的元素。
2概要设计说明2.1数据结构定义考虑到本系统在初始化阶段要进行大规模的插入操作以构造链表,故采用插入元素较为方便快速的链式存储结构。
数据结构课程设计---学分管理系统
2015-2016学年第一学期《数据结构程序设计》课程设计报告题目:学分管理系统专业:计算机科学与技术班级:14级(2)班**:**指导教师:***成绩:计算机学院2015年12月1日目录1 需求分析..................................................... (2)2 总体设计..................................................... (3)3 详细设计..................................................... (4)4 小结..................................................... . (10)致谢..................................................... .. (10)参考文献..................................................... (10)源代码..................................................... . (11)1 需求分析学生学分管理系统是运行于计算机系统下的应用软件,主要用于对学生的学号、姓名以及各项学科学分进行录入、删除、修改、查询、排序、统计、存盘等操作,为学校的教师和学生提供了一个对学生学分进行管理和查看的平台,给用户提供了一个简单友好的用户接口,主要任务如下:1.1查看所有学生信息根据菜单提示,选择该功能,能够逐条显示全部学生学分记录1.2输入学生记录用户根据菜单提示选择输入学生记录选项,进行有关学生的学号、姓名、班级、基础课学分、专业课学分、选修课学分、人文类课学分以及实验课学分的录入。
可一次性输入多条学生的学分信息记录。
1.3删除学生记录根据提示,用户输入要进行删除学生的学号,如果在不存在该学号,则显示没有找到该学生;如果在文件中有该学号的信息存在,则将该学号所对应的姓名、学号、班级、各科学分等在对应文件中加以删除。
《数据结构课程设计》模版(学生)V2015
西安文理学院信息工程学院课程设计报告设计名称:数据结构课程设计设计题目:数制转换问题学生学号:1402130427专业班级:软件工程13级4班学生姓名:任伟学生成绩:指导教师(职称):谢巧玲课题工作时间:2015.6.22 至2015.7.3说明:1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每个学生。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩由指导教师实施。
4、报告正文字数一般应不少于3000字,也可由指导教师根据本门综合设计的情况另行规定。
5、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按不及格处理。
信息工程学院课程设计任务书指导教师:谢巧玲院长:日期:2015年6月22日信息工程学院课程设计进度安排表学生姓名:任伟学号:1402130427 专业:软件工程班级:4班指导教师签名:2014年6月22日成绩评定表学生姓名:任伟学号:1402130427 专业:软件工程班级:4班摘要摘要:摘要是论文内容的简要陈述,是一篇具有独立性和完整性的短文,150~200字左右。
摘要的内容应包括目的、依据、方法、概要工作及其结果与结论,摘要中尽量不要出现“本文、我们、作者”之类的词汇,不宜使用公式、图表,不标注引用文献编号。
避免将摘要写成目录式的内容介绍。
(摘要正文为小4号宋体)关键词:关键词用小4号宋体,每个关键词之间用“;”,结尾没有标点。
关键词是供检索用的主题词条,应采用能覆盖文章主要内容的通用技术词条。
关键词一般列3~5个。
目录(以下章节名称为参考)摘要 (II)第一章课题背景(或绪论、概述) (1)1.1 XXXX (1)1.2 XXXX (x)第二章设计简介及设计方案论述 (x)2.1 XXXX (x)2.2 XXXX (x)2.3 XXXX (x)第三章详细设计 (x)3.1 XXXX (x)3.1 XXXX (x)第四章设计结果及分析 (x)4.1 XXXX (x)4.2 XXXX (x)4.3 XXXX (x)总结 (x)参考文献 (x)附录主要程序代码 (x)第一章课题背景(或绪论、概述)这一章应说明本设计课题的背景、目的、意义、应解决的主要问题及应达到的技术要求;本设计的基本理论依据和主要工作内容。
数据结构-拓扑排序介绍
成绩14信计 2015-2016(一)数据结构课程设计设计题目拓扑排序设计时间——学生姓名冯佳君学生学号20140401105所在班级14信计 1指导教师刘风华徐州工程学院数学与物理科学学院一、需求剖析1.问题描绘本次课程设计题目是:用毗邻表结构图而后进行拓扑排序,输出拓扑排序序列。
拓扑排序的基本思想为:1)从有向图中选一个无前驱的极点输出;2)将此极点和以它为起点的弧删除;3)重复 1) 、 2) 直到不存在无前驱的极点;4)若此时输出的极点数小于有向图中的极点数,则说明有向图中存在回路,不然输出的极点的次序即为一个拓扑序列。
2.拓扑排序有向图拓朴排序算法的基本步骤以下:1 )从图中选择一个入度为0 的极点,输出该极点;2 )从图中删除该极点及其有关系的弧,调整被删弧的弧头结点的入度(入度-1 );3)重复履行 1)、 2)直到全部极点均被输出,拓朴排序达成或许图中再也没有入度为 0 的极点(此种状况说明原有向图含有环)。
3.基本要求(1)输入的形式和输入值的范围;第一是输入要排序的极点数和弧数,都为整型,中间用分开符分开;再输入各极点的值,为正型,中间用分开符分开;而后输入各条弧的两个极点值,先输入弧头,再输入弧尾,中间用分开符分开,输入的值只好是开始输入的极点值不然系统会提示输入的值的极点值不正确,请从头输入,只需持续输入正确的值就行。
(2)输出的形式;第一输出成立的毗邻表,而后是最后各极点的出度数,再是拓扑排序的序列,而且每输出一个极点,就会输出一次各极点的入度数。
(3)程序所能达到的功能;因为该程序是求拓扑排序,所以算法的功能就是要输出拓扑排序的序列,在一个有向图中,若用极点表示活动,有向边就表示活动间先后次序,那么输出的拓扑序列就表示各极点间的关系为反应出各点的储存结构,以毗邻表储存并输出各极点的入度。
二、纲要设计1.算法顶用到的全部各样数据种类的定义在该程序顶用毗邻表作为图的储存结构。
15级 数据结构课程设计
数据结构课程设计教学大纲名称:数据结构课程编码:英文名称:Data Structure实习周数:2周其中实验学时:32学时学分:2学分安排学期:第二学年第1学期适用专业:计算机科学与技术一、课程设计目的及任务1、培养学生运用所学《数据结构》课程的理论知识和技能,分析解决数据结构应用实际问题的能力。
2、培养学生综合运用《数据结构》的知识,分析设计计算机课题的思想和方法。
3、通过课程设计,要求学生在指导教师的指导下,以课题小组协作方式完成设计课题的全部内容,包括:(1)通过调查研究和上机实习,收集和调查有关技术资料。
(2)掌握设计课题的基本步骤和方法。
(3)根据课题的要求进行上机实验调试。
二、课程设计的基本要求在指导教师的指导下,根据自己实际的知识掌握情况和动手能力确定相符的题目,课题小组(1-3人)对于每个题目,理解题目的相关理论知识,掌握正确的操作和调试方法,并写出详细的课程设计报告。
测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。
进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明;三、课程设计地点及要求地点:计算机实验室 3教9楼四、课程设计的选题原则根据学生所学的数据结构相关知识点,布置适当难度的题目,学生可在老师布置的题目中选择自己感兴趣的题目,独立或合作完成。
布置的题目尽量涉及数据结构知识的各个方面,尽量结合实际项目。
五、课程设计的内容1、建通讯录设计内容:设计散列表实现通讯录查找系统,使得平均查找长度不超过2,完成相应的建表和查表程序。
设计要求:(1)设每个记录有下列数据项:用户名、电话号码、地址;(2)从键盘输入各记录,分别以姓名为关键字建立散列表;(3)假设人名为中国人姓名的汉语拼音形式。
待填入哈希表的人名共有30个,取平均查找长度的上限为2;(4)构造哈希函数,可采用除留余数法,采用二次探测再散列法解决冲突;(5)查找并显示给定电话号码的记录;(6)通讯录信息保存。
数据结构课程设计环拓扑排序和纸牌游戏 (1)
目录课题一 joseph环 41.1 问题的提出1.1.问题的提出41.2 概要设计2.1算法思想51.3流程图根据算法思想,画程序流程图如下:661.4 源代码1.3.详细设计 7 输入m 、nm>0且n>0的整数建立含n 个结点的链表且用head 指向第一个元素,结点数据域包含password 、No 、以及指向下一结点的指head=>pn ≥2(m%n)==0?n:m%n=>1=>i i<mp →next=>pi++输出p →Nop →password=>m删除p 所指向结点n--输出p →No结束开始1.5 结果与分析.4 测试及性能分析10课题二拓扑排序 112.1 问题的提出2.1 问题的提出112. 2 概要设计112.3 流程图2.根据算法思想,画流程图如下:1212 开始设辅助数组indegree 记录图的各顶点的入度值,并将indegree 数组各变量赋初值。
输入图的顶点数、边数建立一个栈,存储图的顶点的序号用邻接表法建图,并计算出indegree 数组中各变量值根据indegree 数组将入度为0的顶点入栈count 对输出顶点计数0=>count栈不空删除栈顶元素,赋给i count++将与第i 个顶点链接的各顶点入度减1输出第i 个顶点值 顶点入度为0 顶点序号入栈count<G.vexnum输出“拓扑排序成功” 输出“拓扑排序不成功” 结束2.4 源代码132.5 结果与分析2.4 测试及性能分析17课题三纸牌游戏 193.1 问题的提出.1 问题的提出193. 2 概要设计191.当每个号码每次遇到是某个数的倍数时,都会相应的翻一次,这样,每张牌会翻的次数就各不一样,可能很多次,也可能只有一两次,结果就只是要输出在经过各个不同次数的翻牌后,正面向上的牌都有哪几个。
举例说明一下,比如24,第一次它是2的倍数时要从正面翻到背面,当进行到3时,就又要从背面翻回来,而到4时还要在翻,同理呢,到6.8.12…它都要来回的翻。
数据结构课程设计参考题目(一)
数据结构课程设计参考题目(一)数据结构是计算机科学中的一门基础课程,它主要研究数据的组织、存储、管理和操作等方面的问题。
随着计算机技术的发展,数据结构逐渐成为各个领域必不可少的一门课程。
而数据结构课程设计参考题目是该课程的一项重要内容,它能够帮助学生更好地掌握课程知识,提高对数据结构的理解和应用能力。
以下是几个数据结构课程设计参考题目。
1.链表操作设计一个链表类,使得它能够实现插入、删除、查找和遍历链表的操作。
要求采用单向链表或双向链表实现,并考虑链表的循环操作。
同时,要求能够对链表进行排序操作。
2.栈与队列操作设计一个栈和队列类,使得它们能够实现入栈、出栈、入队和出队的操作。
要求采用数组或链表实现,并可用于表达式转换和括号匹配等相关问题。
3.堆排序算法实现堆排序算法,要求能够对整型数列进行排序,并输出其排序后的结果。
要求堆的构建、删除和调整操作均可用最大堆或最小堆实现。
同时,要求能够对算法的时间复杂度进行分析,并与快速排序等算法进行比较。
4.哈希表实现设计一个哈希表类,使其能够实现插入、删除和查找等操作。
要求采用链地址法或开放地址法实现,同时需要考虑哈希函数和扩容等问题。
要求能够对哈希冲突的解决方法进行比较和分析。
5.树与图的遍历实现二叉树、B树或B+树的遍历操作,要求能够实现先序、中序和后序遍历,并能够循环遍历或递归遍历。
同时,要求能够对树的平衡性进行探究和讨论。
另外,树的遍历也是图的遍历的基础,可以通过深度优先搜索或广度优先搜索实现图的遍历。
以上是一些常见的数据结构课程设计参考题目,它们可以锻炼学生的编程能力、算法分析能力和数据处理能力,同时也可以增强学生对数据结构知识的理解和掌握。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计题目(2015年版):
(1-6题必做,做完9题以上可参评优秀)
1、日程计划管理系统(必做)(线性表)
[问题描述]
设计一个程序,记录并管理日程计划。
[基本要求]
(1)日程计划信息包括日程计划ID号,日程计划开始日期和时间,日程计划结束日期和时间,日程计划名,日程计划参与人员,日程计划地点,日程计划提醒日期和时间。
(2)采用双向循环链表表示日程计划信息。
采用三个双向循环链表:第一个双向循环链表表示未开始的日程计划信息,按照日程计划开始日期和时间先后排序;
第二个双向循环链表表示正在进行的日程计划信息(可以多项计划同时进行),按照日程计划开始日期和时间先后排序;
第三个双向循环链表表示已过期的日程计划信息,按照日程计划开始的日期和时间倒序排序。
(3)日程计划信息采用文件方式输入。
日程计划信息信息示例如下,每条信息一行:
日程计划ID号开始日期开始时间结束日期结束时间计划名…
20141011001;2014-10-11;8:00:00; 2014-10-11;10:00:00;数据结构上课;张三; 6202;2014-10-11;7:40:00
(4)要求模拟数据中日程计划信息至少30条以上。
(5)实现以下功能:
a.输入新的计划;
b.根据当前时间查询未开始的计划,包括当天未开始的计划、本周或本月未开始的计划;
c.查询并输出已结束的计划;
d.查询正在进行的计划;
e.根据当前时间,输出正提醒即将开始的计划。
(6)可在此要求基础上进行功能扩展,比如周期性重复计划的设臵和提醒等。
2、算术表达式求值 (必做) (栈)
[问题描述]
一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。
假设操作数是正实数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。
引入表达式起始、结束符是为了方便。
编程利用“算符优先法”求算术表达式的值。
[基本要求]
(1)从键盘或文件读入一个合法的算术表达式,输出正确的结果。
(2)显示输入序列和栈的变化过程。
(3)考虑算法的健壮性,当表达式错误时,要给出错误原因的提示。
(4) 实现非整数的处理(可选功能)。
3、Huffman编码与解码 (必做)(Huffman编码、二叉树)
[问题描述]
对一篇英文文章(大于2000个英文字符),统计各字符出现的次数,实现Huffman 编码,以及对编码结果的解码。
[基本要求]
(1)输出每个字符出现的次数和编码,其中求最小权值要求用堆实现。
(2)在Huffman编码后,要将编码表和英文文章编码结果保存到文件中,编码结果必须是二进制形式,即0 1的信息用比特位表示,不能用字符’0’和’1’表示。
(3)提供读编码文件生成原文件的功能。
4、关键路径问题(必做)(图)
[问题描述]
设计并实现关键路径的一种应用。
[基本要求]
(1)实现拓扑排序和关键路径的发现。
(2)可根据自己兴趣,给出一个具体的应用情境,使得该题目成为一个实用软件。
(3)结点数目至少在30个以上。
建图数据从文件输入,便于检查。
5、Hash表应用(必做)(查找)
[问题描述]
设计散列表实现身份证查找系统,对身份证号进行Hash。
[基本要求]
(1)设每个记录有下列数据项:身份证号码(虚构,位数和编码规则与真实一致即可)、姓名、地址。
(2)从文件输入各记录,以身份证号码为关键字建立散列表。
(3)分别采用开放定址(自行选择和设计定址方案)和链地址两种方案解决冲突;显示发生冲突的次数、每次中解决冲突进行重定位的次数。
(4)查找并显示给定身份信息的记录。
(5)记录条数至少在50条以上。
6、排序算法比较(必做)(排序)
[问题描述]
利用随机函数产生N个随机整数(N = 500,1000,1500,2000,2500,…,30000),利用直接插入排序、折半插入排序,起泡排序、快速排序、选择排序、堆排序,基数排序七种排序方法(可添加其它排序方法)进行排序(结果为由小到大的顺序),并统计每一种排序所耗费的时间(即比较次数和交换次数)。
[基本要求]
(1)原始数据存在文件中,每个整数一行,方便读入。
(2)屏幕显示每种排序所花的比较次数和交换次数。
(3)给出已有序的整数(正序和倒序)上述方法的变化情况,显示在特例情况下的比较次数和交换次数。
7、迷宫问题(选做)(栈与递归)
[问题描述]
利用栈操作实现迷宫问题求解。
[基本要求]
(1)随机生成模拟迷宫地图,不少于10行10列,存在文件中。
(2)动态显示每一步的结果。
(3)可在此基础上有改进方法。
8、家谱管理系统(选做)(树)
[问题描述]
实现具有下列功能的家谱管理系统。
[基本要求]
(1)输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。
(2)实现数据的存盘和读盘。
(3)以图形方式显示家谱。
(4)显示第n 代所有人的信息。
(5)按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。
(6)按照出生日期查询成员名单。
(7)输入两人姓名,确定其关系。
(8)某成员添加孩子。
(9)删除某成员(若其还有后代,则一并删除)。
(10)修改某成员信息。
(11)按出生日期对家谱中所有人排序。
(12)打开一家谱时,提示当天生日的健在成员。
(13)要求建立至少30个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。
(14)界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
(15)存储结构:根据系统功能要求自行设计,但是要求相关数据要存储在数据文件中。
测试数据:要求使用1、全部合法数据;2、局部非法数据。
进行程序测试,以保证程序的稳定。
9、旅游线路推荐问题 (选做) (图)
[问题描述]
实现自驾游线路自动推荐算法。
选定目的地后,根据起始点和目的点之间的线路,除了最短路径外,在图上增加节点的权重值(根据节点的美景、美食、等属性加权生成),生成融合最短路径和最强旅游热度的线路,并考虑成简单回路,尽量不走回头路。
[基本要求]
(1)以华东地区江苏、上海、浙江、安徽的热点景区为例。
景点选择至少20个以上,景点间的路径长度可用百度地图测量。
(2)具体度量算法可自行设计。
(3)可以做成主题线路推荐,例如古民居游、海边游、山村游等。
(可选)
10、平衡二叉树操作的演示(选做)(查找)
[问题描述]
利用平衡二叉树实现一个动态查找表。
[基本要求]
(1)实现动态查找表的三种基本功能:查找、插入和删除。
(2)题目详情见习题册P168 6.4。
成绩评定细则:
1.正确性:程序是否可以运行,结果是否正确(20分)
2.功能的完备性:是否实现要求的所有子功能(40分)
3.课程设计报告中的算法说明的清晰程度,课程设计报告中总结的深刻程度(20分)
4.独立完成情况( 40分)
总计:100分
加分项目:
1.健壮性:异常处理的情况
2.可读性:代码编写是否规范,是否便于阅读。
如函数、变量命名,‘{ }’的缩进,关键位臵适量注释等
3.功能的完善:除要求实现的功能外,完成了其它的功能,实现了功能的完善
4.界面的设计:可视化界面,或者交互良好的DOS界面
编程语言:C、C++ 或 JAVA 任选其一
检查方式:
1.总体上检查程序的代码量,正确性,可读性,健壮性,功能的完备性,代码量,程
序的结构是否合理;局部检查三个以上函数块
2.检查程序时同时检查课程设计报告的电子文档
3.检查时间:每个学生的检查时间10分钟
时间安排:
1 上机地点、时间安排:
1号楼10层B、C区
18周周一(12.28)上午8:00 ~ 12:00 下午14:00~18:00
周二~五(12.29、12.30、12.31、1.1)下午14:00~18:00
周日(1.3)上午8:00 ~ 12:00 下午14:00~18:00
2 课程设计报告上交时间:1.3上机时
3 课程设计检查时间:1.3上机时
课程设计报告要求:
1.所有的课程设计报告,均要有封面,包括:课题名称、班级、学号、学生姓名、成
绩和指导教师;
2.给出自己采用的数据结构;
3.给出算法设计思想;
4.给出实现的源程序,并在必要的代码处给出注释;
5.给出测试数据和结果;
6.给出算法的时间复杂度、另外可以提出算法的改进方法;
7.给出结束语:说明完成课程设计的情况,心得体会;课程设计报告的电子文档在上机检查程序时一并检查;书面文档在指定的时间内上交。