软件基础基础实验指导书_2011
计算机软件基础 实验指导书

试验一:线性表的设计与实现Experiment No.1: The Design and Implementation of Linear List实验学时:2实验类型:设计先修课程:<<c语言程序设计>>、<<计算机软件基础>>适用专业:自动化专业一、实验目的1. 掌握用程序开发环境上机调试线性表的基本方法;2. 掌握线性表的基本操作(插入、删除、查找)以及线性表合并等运算采用顺序存储结构和链接式存储结构时的不同实现方法。
二、实验内容1.“线性表倒序”问题2. “集合求差”问题三、实验要求1.“线性表倒序”问题[问题说明] 实现线性表的倒序输出。
[基本要求] 线性表A={a1,a2,...,an},元素为整型,用结构变量存放,将线性表倒序为A={an,...a2,a1}。
首先在屏幕显示“--输入链表开始--”;然后手动输入线性表的各节点,节点数不少于10,若输入0则退出,即输入完毕;输入完毕后在屏幕显示原始链表序列,并显示原始链表的倒序序列。
2. “集合求差”问题[问题说明] 求A、B两个集合的差集合C。
[基本要求] 设定有两个数组A和B,每个数组内元素个数均为20个(手动输入随机实时数据)。
然后计算C=A-B,即当且仅当某元素c为A的元素,但不是B中元素时,将该元素c用C数组存放。
最后的结果将A、B、C数组内的元素全部显示在屏幕上。
四、实验装置PC机一台,含Windows XP(可用自带电脑的win7/8/10、liunx、MacOS等)操作系统,装有Turboc C 2.0、CODE BLOCKS或VS程序开发环境。
五、实验步骤1. 进入编译环境,按照实验要求编写程序;2. 调试程序;3. 按照实验要求验证程序正确性,并记录实验数据;4. 修改完善程序;5. 课后撰写实验报告。
六、实验数据及处理将上述实验输入、输出数据根据所涉及的问题进行核对,对程序结果进行确认分析。
《软件技术基础》实验指导书_实验三、四

《软件技术基础》实验指导书电子商务教研室2009年9月实验三队列的应用◆实验目的与基本要求1、掌握队列的顺序存储和链式存储结构。
2、掌握队列的特点。
3、掌握队列的基本运算。
◆实验条件1、硬件:一台微机2、软件:操作系统和C语言系统◆实验方法确定存储结构后,上机调试实现队列的基本运算。
◆实验内容1、写出队列的出队和入队算法。
2、设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。
车辆按到达停车场时间的早晚,依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。
如果停车场已停放n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。
停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。
每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。
如果停留在便道上的车未进停车场要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆次序。
编制一个程序模拟该停车场的管理。
◆性质:必做◆类型:验证◆2h队列是从日常排队现象抽象出来的一种数学模型。
当然数据结构中的队列远没有生活中的排队灵活。
数据结构中的队列规定:数据只能从队尾进,从队首出来。
已经进入队列的数据次序不能再做改变。
这就叫做“先进先出”(FIFO)或者说“后进后出”(LILO)。
允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素,即尾指针总是指向最后被插入的元素;允许删除的一端称为队首,通常也用一个队首指针(front)指向队首元素的前一个位置(当然也可以直接指向队首元素,只是许多数据结构的书上都习惯这么定义)。
与队列类似,我们可以用一维数组来模拟队列这种数据结构,也可以用链表来模拟。
根据以上描述,队列可以可以有以下基本操作:1、创建初始化:按约定置队列为空状态。
计算机软件技术基础实验指导书

前言一、实验目的《计算机软件技术基础》是一门实践性非常强的课程。
要获得利用计算机、编写程序解决实际问题的能力,仅靠习读教材和听课是不够的,还有一个重要的环节是亲自在计算机上实践。
计算机软件技术基础实验教学能够培养学生理论联系实际的学风,培养学生研究问题和解决问题的能力,培养学生的创新能力和协作精神,提高学生编写程序解决实际问题的能力。
通过该课程的实验环节,训练学生的编程技能,使学生学会运用所学理论知识判断和解决实际问题,加深和扩大理论知识;学会使用C、VC++等常用的编程软件;能根据要求建立实际问题的数学模型,确定求解方法,画出程序方框图,编写程序;学会使用各种调试命令来分析并排除程序中的错误;能运用理论知识对实验现象、结果进行分析和处理。
二、实验前预习每次实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的、原理和步骤;认真阅读程序,并尝试画出程序方框图;复习与实验内容有关的理论知识;预习C、VC++编程软件的使用方法。
三、实验注意事项1.实验开始前,应先检查计算机是否工作正常,是否安装了需要的软件。
2.按照实验步骤做实验,在计算机上认真输入编好的程序并保存。
3.程序编写完后,仔细检查是否存在书写错误。
4.确定程序书写无误后,编译并连接程序。
若出现错误,则修改程序直到无语法错误。
5.利用调试工具查找程序中的逻辑错误,并进行排除。
6.运行程序,观察结果并保存或记录。
7.实验结束后,应关闭计算机,清理实验桌面。
9.爱护公物,发生仪器设备等损坏事故时,应及时报告指导教师,按有关实验管理规定处理。
10.自觉遵守学校和实验室管理的其它有关规定。
四、实验总结每次实验后,应对实验进行总结,即实验结果进行整理,撰写实验报告。
实验报告除写明实验名称、日期、实验者姓名外,还包括:1.实验目的;2.实验设备;3.实验内容;4.实验步骤;5.实验结果;6.心得体会。
目录目录 (1)实验一VC++软件的熟悉与使用 (3)实验二顺序存储线性表的基本运算 (11)实验三单向链表的基本操作 (15)实验四迷宫实验 (21)实验五二叉树的存储及遍历 (28)实验六图的单源最短路径 (32)实验七排序实验 (37)实验一VC++软件的熟悉与使用一、实验目的1、熟悉VC++控制台程序的建立、编辑、编译、运行步骤。
软件技术基础设计指导书

《软件技术基础设计》指导书适用班级:项管101一、目的与要求1.目的:培养学生综合利用VB语言进行程序设计的能力,主要培养学生综合利用标准控件、ActiveX控件进行编程的能力,培养学生自学及创新的能力。
2.基本要求:①要求使用VB的各种标准控件完成可视化程序的设计,熟练掌握命令按钮、组合框、列表框、文本框、标签、定时器、ActiveX等控件的常用属性、重要事件和基本方法。
②能根据功能要求完成事件过程的代码编写。
③要求界面设计合理,操作简洁,使用方便,运行无差错。
二、设计题目1.简单考试系统设计说明:模拟计算机等级考试的选择题部分:考生需要登录系统;试题类型为单选,试题数量为>=10;根据答题情况给出成绩;需要有时间控制;答案选项利用OptionButton实现。
程序运行效果如图1所示。
图1 简单考试系统参考2.计算器程序设计说明:模拟Windows操作系统中的计算器程序,能进行加、减、乘、除以及基本函数的运算;建议使用控件数组。
程序运行效果如图2所示。
图2 计算器程序参考3.学生籍贯管理系统设计说明:能够实现学生籍贯的添加、修改、删除。
在籍贯显示界面中,选择列表框中学生姓名,在学生籍贯处显示该学生的籍贯。
单击“添加”按钮,进入籍贯录入界面,在此界面中,输入学生姓名及籍贯信息,单击“确定”按钮,将新项目添加到列表框中,并返回籍贯显示界面。
程序运行效果如图3所示。
图3 学生籍贯管理参考4.手机销售系统说明:在手机列表中选购手机,可进行单价显示,以及所购手机总价计算。
要求:利用文件记录手机信息,ComboBox控件进行手机显示。
程序运行效果如图4所示。
图4 手机销售系统参考5.霓虹灯程序设计说明:模拟霓虹灯,使得多个文字可以呈现多种色彩。
要求:使用控件数组。
程序运行效果如图5所示。
图5 霓虹灯程序参考6.打靶游戏设计说明:利用PictureBox、Label、Command等控件实现打靶游戏程序,通过鼠标点击实现打靶。
2011-软件技术基础实验指导书

《软件技术基础》课程实验指导书实验环境:C/C++语言编程Turbo C3.0 / Visual C++6.0 一、实验内容二、实验指导实验一单链表的操作一、实验目的1.掌握线性表的链式存储结构(1)线性表的链式存储原理(2)链式存储结构的优缺点2.掌握结构体的应用以及数据结点的生成(1)结构体的定义(2)动态存储分配函数的使用(3)强制类型转换的方法3.掌握指针的应用(1)巩固指针的含义和用法(2)结构体指针的使用二、预习要求1.复习C语言(1)巩固C语言程序设计的基本方法(2)巩固在TC或VC环境中编写和调试C程序2.复习指针和结构体两部分的知识(1)巩固指针的含义以及定义方式(2)理解结构体的定义以及其成员的赋值和引用3.理解课本关于单链表部分的知识(1)掌握单链表的生成原理和过程(2)在草稿纸上画出简单程序流程图三、实验内容1.通过C语言编程,用函数实现不低于五个结点的单链表的建立:(1)要求编写功能函数实现单链表的建立;(2)链表中结点的数据类型为任意原子类型,以下参考算法假设的是整型;(3)采用循环结构建表,请同学自定义循环结束标志,以下是次数循环,同学们可设计为输入某个键值结束,如数字‘-1’结束;(4)编写访问各结点的算法,把建成的单链表顺序输出。
2.实现单链表的插入和删除算法。
3.编写主函数调用以上各算法函数,调试并运行整个程序,分析运行结果。
四、 实验原理1.尾插法建立单链表(1)算法原理:从一个空表开始,循环读入数据,生成新结点,将读入数据存放在新结点的数据域中,然后将新结点插入到当前链表的表尾上,直到循环结束为止。
(2)算法示意图如下,若要建立L=(1,2,3,4,5)的单链表,则链表结构为:(3)算法描述: //结点结构体定义 struct node {int data;struct node *next; };//尾插法建立n 个结点的单链表Lstruct node* CreateList(struct node *L,int n) {int i; int x;struct node *p,*q;L=(struct node *) malloc(sizeof(struct node)); L->data=n; L->next=NULL; q=L;for(i=n;i>0;i--){p=(struct node *) malloc(sizeof(struct node)); scanf("%d",&x); p->data=x; q->next=p; p->next=NULL; q=p; }return L; }2. 单链表的访问从头节点开始,依次输出每个节点的值。
计算机软件基础实验指导书

计算机软件技术基础实验指导书实验报告要求:1.手写报告2.统一封皮(封皮填写相应内容)3.包括内容1)实验题目2)实验内容和要求3)源程序(必要的注释)4)调试过程5)运行结果6)实验心得实验一多项式的链表表示及运算一、实验目的掌握多项式的链表表示及运算方法。
二、实验内容设有多项式A(x)=7+3x+9x8+3x15B(x)=5x+6x7-9x8(1)用单链表给出A(x)的存储表示;(2)用单链表给出B(x)的存储表示;(3)以上述两个单链表为基础,通过插入和删除等运算给出A(x)+B(x)的存储表示,使其存储空间覆盖A(x)和B(x)的存储空间。
三、实验要求上述A(x),B(x)的每项系数和指数均须从键盘输入, A(x)+B(x)每项系数和指数输出到屏幕。
实验二二叉树的生成与遍历一、实验目的熟悉二叉树的二叉链表表示法,掌握使用递归方法实现二叉树的三种遍历的算法。
二、实验内容图a生成如图a所示二叉树的二叉链表,并以前序、中序、后序遍历输出。
实验三 图的表示及其遍历一、 实验目的掌握图的两种存储方式,会编程实现二叉图的两种遍历算法。
二、 实验内容1.生成所示图的邻接表2.对其进行深度优先搜索 和广度优先搜索。
实验四 查找方法比较 一、 实验目的熟悉并掌握顺序,折半,二叉排序树查找的原理及其算法。
二、 实验内容题目1 顺序与折半查找分别采用顺序查找和折半查找的算法在顺序表 (11,21,31…,91,101) 中查找元素b 。
若查找成功,输出success !及该元素的序号;若查找失败,输出fail!。
要求:1)元素b 从键盘输入;2)输出查找的过程及比较次数,比较两种查找算法的效率。
题目2 二叉排序树查找按元素在表中的顺序生成序列(45,24,53,13,30,85)的二叉排序树,并查找元素b 。
如果查找成功,输出success !;否则,输出fail!。
要求:1)元素b 从键盘输入; 2)中序遍历该二叉树。
2011版软件工程实验指导书1

2011版软件工程实验指导书1《软件工程》实验指导书一、基本目的:1.使学生把软件工程的基本原理和技术应用于实践。
2.使学生掌握实际大型软件的开发过程和组织方式。
3.使学生增强开发大型软件的能力。
二、实验环境:文档制作工具为WORD、EXCEL、VISIO、ROSE等,编程环境自选。
三、背景知识:从理论上而言,软件生存期一般都可分为计划、需求分析、设计、编码、测试、运行维护六个步骤。
根据软件工程实施过程中的各阶段活动,我们可以把它归结为不同的软件生存期模型,并归结出每一阶段的实施的行为特征。
在软件工程的实施过程中,需要制做相应的文档。
1.计划阶段计划阶段指技术人员辅助管理人员或市场部人员根据项目意向,做出初步需求调查、进行可行性论证,在论证通过后做系统方案,如委托开发,还需签定项目开发合同,并制定项目开发计划。
2.需求分析阶段需求分析阶段,管理人员提出需求分析阶段计划,分析人员制作软件需求说明书,包括软件需求子系统需求说明书、数据要求说明书、子系统数据要求说明书、系统数据流图、子系统数据流图及其相应的词典。
系统需求说明书完成后应通过项目需求评审,经用户确认后出具需求分析验收报告。
初步制定测试计划。
3.设计阶段在设计阶段需要制定系统实现方案,设计阶段计划,填写数据库设计说明书、详细设计说明书,详细设计应通过详细设计评审、出具详细设计验收报告,设计阶段完成后应开始制做用户手册、管理员手册、测试计划与测试案例设计。
4.编码阶段在编码阶段应有数据库编程规范、编程语言编程规范、内部公用函数(模块)目录等。
设计和执行模块测试。
5.测试阶段设计完成后,就应该进入测试阶段,测试阶段中,应该制定测试规范、填写测试计划与测试说明,测试过程中应填写软件测试报告。
6.运行维护阶段测试阶段完成后,应进行系统交付,进入运行维护阶段。
系统维护阶段,用户发现问题时,应填写计算机软件问题报告单,提交信息部主管或根据合同约定向设计单位提交。
软件技术基础》项目实战任务书指导书

《软件技术基础》课程设计项目实战任务书指导书胡永祥编江苏财经职业技术学院2011年5月前言《软件技术基础》是高职高专计算机软件技术、计算机应用技术、计算机网络技术、应用电子技术等专业的一门专业基础课,其特点是应用广泛,实践性较强。
通过课程设计,可使学生进一步掌握C语言程序设计的基本知识,增强学生利用C语言进行程序设计的实践技能,培养学生综合运用相关知识的能力。
一、项目实战的任务和性质1、巩固对所学C语言程序设计基本知识的掌握2、增强学生利用C语言程序设计的实践技能3、培养学生独立分析和解决问题的能力4、培养学生综合运用所学知识解决实际问题的能力二、项目实战的基本要求1、进一步掌握C语言程序设计方法和组织实现的基本技能2、学会分析解决问题的方法,对设计中出现的问题,能通过独立思考、查阅资料等手段寻找解决问题的途径3、熟悉C语言程序调试的方法,对程序中出现的错误能够独立调试解决4、对设计结果能独立进行分析、评价5、培养严肃认真、实事求是的科学作风三、项目实战内容1、选择、熟悉并适应编程编译、调试环境2、选择并确定设计课题3、审阅所选课题、明确实现的具体方法,确定基本算法和编程方法4、编写程序5、上机调试程序,查错、纠错6、撰写课程设计报告7、准备答辩说明:阅读、分析课程设计实例,有助于理解和把握C语言程序设计的一些基本方法、过程和技巧项目实战任务书一、项目实战题目学生成绩管理系统二、项目实战目的1.进一步掌握和利用C语言进行行程设计的能力2.进一步理解和运用结构化程序设计的思想和方法3.初步掌握开发一个小型实用系统的基本方法4.学会调试一个较长程序的基本方法5.学会利用流程图表示算法6.掌握书写程序设计开发文档的能力(书写课程设计报告)三、项目实战具体内容1.每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩2. 输入功能:可以一次完成若干条记录的输入3.显示功能:完成全部学生记录的显示4.查找功能:完成按学号查找学生记录并显示5.排序功能:按学生总分进行排序6.插入功能:按学号插入一条学生记录7.将学生记录保存在文件中8.应提供一个菜单来调用各个功能,调用菜单的界面应尽可能清晰美观四、项目实战要求1、用C语言实现系统2、利用结构体链表实现学生成绩的数据结构设计3、系统具有追加,查询,插入,排序等基本功能4、系统的各个功能要求用函数的形式实现5、完成设计任务并书写课程设计报告6、将学生成绩信息存在文件中五、项目实战报告的要求1、目录2、前言3、设计目标4、设计概要(设计思路)5、程序设计(要求一并提交源程序清单及电子文挡)6、测试结果7、结论或体会8、参考文献项目实战指导书一、概要设计1.制作这样的一个数据库需要实现以下功能:(1)数据库的安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发技术指导书
目录
《软件开发技术基础》实验报告 (4)
实验一线性表的操作(2学时) (5)
实验二栈的操作(3学时) (6)
实验三队列的操作(3学时) .............................................................. 错误!未定义书签。
实验四树和二叉树的操作(3学时) (8)
实验五查找算法实现(2学时) (9)
实验六排序综合实验(3学时) (10)
《软件技术开发》主要介绍线性结构、树结构、图结构三种逻辑结构元素的存储实现,在此基础上介绍一些典型算法及时、空效率分析。
这门课程的主要任务是培养学生的算法设计能力及良好的程序设计习惯。
通过学习,要求学生能够掌握典型算法的设计思想及程序实现,能够根据实际问题选取合适的存储方案,设计出简洁、高效、实用的算法,为后续课程的学习及软件开发打下良好的基础。
学习这门课程,习题和实验是两个关键环节。
学生理解算法,上机实验是最佳的途径之一。
因此,实验环节的好坏是学生能否学好《软件技术开发》的关键。
为了更好地配合学生实验,特编写实验指导书。
一、实验目的
更好的理解算法的思想、培养编程能力。
二、实验要求
1、每次实验前学生必须根据试验内容认真准备实验程序及调试时所需的输入数据。
2、在指导教师的帮助下能够完成实验内容,得出正确的实验结果。
3、实验结束后总结实验内容、书写实验报告。
4、遵守实验室规章制度、不缺席、按时上、下机。
5、实验学时内必须做有关内容,不允许上网聊天或玩游戏,如发现上述现象,取消本
次上机资格,平时成绩扣10分。
三、实验环境 VC++6.0;本实验的所有算法中元素类型可以根据实际需要选择。
四、实验报告的书写要求
1.明确实验的目的及要求;
2.记录实验的输入数据和输出结果;
3.说明实验中出现的问题和解决过程;
4.写出实验的体会和实验过程中没能解决的问题;
五、参考书目
《软件技术开发》(C++语言描述)王红梅等清华大学出版社
《DATA STRUCTURE WITH C++》 William Ford,William Topp
清华大学出版社(影印版)
《软件开发技术基础》实验报告(后面的都参照这样写)
实验名称:实验一线性表的操作
班级学号姓名
第周星期、节成绩
实验目的:
参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法
实验内容:
参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法
实验要求:
(1)将程序输入计算机,编译运行。
(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。
实验原理
具体写出线性表的生成、插入、删除和查找运算的算法描述(形式语言或程序流程图表示出来)。
实验步骤:写出调试、查找程序中问题的思路和步骤。
实验结果:写出修改前后的运行结果。
附:源程序和输入对应数据以及对应输出结果。
实验一线性表的操作(2学时)
实验类型:验证性
实验要求:必修
实验学时:2学时
一、实验目的:
参照给定的线性表顺序表类和链表类的程序样例,验证给出的线性表的常见算法。
二、实验要求:
1、掌握线性表顺序表类和链表类的特点。
掌握线性表的常见算法。
2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
设计一个静态数组存储结构的顺序表类,要求编程实现如下任务:
1)建立一个线性表,首先依次输人整数数据元素(个数根据自己的需要键盘给定)2)删除指定位置的数据元素(指定元素位置通过键盘输入)再依次显示删除后的线性表中的数据元素。
3)查找指定数据的数据元素(指定数据的大小通过键盘输入),若找到则显示位置,若没有找到就显示0。
四、要求
1)采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。
2)写出完整的程序并能调试通过即可
实验二栈的操作(3学时)
实验类型:验证性
实验要求:必修
实验学时:3学时
一、实验目的:
参照给定的栈类的程序样例,验证给出的栈的常见算法。
二、实验要求:
1、掌握栈的特点。
掌握特殊线性表的常见算法。
2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
堆栈类测试和应用问题。
要求:
(1)设计一个主函数实现对顺序堆栈类和链式堆栈类代码进行测试。
测试方法为:依
次把数据元素1,2,3,4,5入栈,然后出栈堆栈中的数据元素并在屏幕上显示。
(2)定义数据元素的数据类型为如下形式的结构体:
typedef struct
{ char taskname[10];//任务名
int taskno; //任务号
}DataType;
设计一个包含5个数据元素的测试数据,并设计一个主函数实现依次把5个数据元素入栈,然后出栈堆栈中的数据元素并在屏幕上显示。
四、要求
1)栈的长度都由自己定;
2)写出完整的程序并能调试通过即可。
3)重点理解栈的算法思想,能够根据实际情况选择合适的存储结构。
实验三队列的操作(3学时)
实验类型:验证性
实验要求:必修
实验学时:3学时
一、实验目的:
参照给定的队列类的程序样例,验证给出的队列的常见算法,并结合线性表类实现有关串的操作。
二、实验要求:
1、掌握队列、串的特点。
掌握特殊线性表的常见算法。
2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
队列类测试和应用问题。
要求:
设计一个主函数对循环队列类和链式队列类代码进行测试.测试方法为:依次把数据元素1,2,3,4,5入队,然后出队中的数据元素并在屏幕上显示。
四、要求
1)队列的长度都由自己定;
2)写出完整的程序并能调试通过即可。
3)重点理解队列和串的算法思想,能够根据实际情况选择合适的存储结构。
4)栈、队列的算法是后续实验的基础(树、图、查找、排序等)。
实验四树和二叉树的操作(3学时)
实验类型:验证性
实验要求:必修
实验学时:2学时
一、实验目的:
参照给定的二叉树类的程序样例,验证给出的有关二叉树的常见算法,并实现有关的操作。
二、实验要求:
1、掌握二叉树、哈夫曼树和树的特点。
掌握它们的常见算法。
2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1.设计实现二叉树类,要求:
(1)编写一个程序,首先建立不带头结点的二叉链式存储结构的二叉树,然后分别输出按照前序遍历二叉树、中序遍历二叉树和后序遍历二叉树访问各结点的序
列信息,最后再测试查找函数和撤销函数的正确性。
(2)实现二叉树层次遍历的非递归算法。
(3)编写一主函数来验证算法实现。
2. 假设二叉树采用链式存储结构进行存储,编写一个算法,输出一个二叉树的所有叶
子结点,并统计叶子结点个数。
实验五查找算法实现(2学时)
实验类型:验证性
实验要求:必修
实验学时:2学时
一、实验目的:
参照各种查找算法程序样例,验证给出的查找常见算法。
二、实验要求:
1、掌握各种查找算法的特点,测试并验证查找的常见算法。
2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
1. 建立有序表,采用折半查找实现某一已知的关键字的查找。
2.利用折半查找算法在一个有序表中插入一个元素,并保持表的有序性。
实验六排序综合实验(3学时)
实验类型:综合性
实验要求:必修
实验学时:2学时
一、实验目的:
参照各种排序算法程序样例,验证给出的排序常见算法。
二、实验要求:
1、掌握各种排序算法的特点,测试并验证排序的常见算法。
2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。
三、实验内容:
输入一组关键字序列分别实现下列排序:
1.实现简单选择排序、直接插入排序和冒泡排序。
2.实现希尔排序算法。
3.实现快速排序算法(取第一个记录或中间记录作为基准记录)。
4.快速排序的非递归算法。
把上述几种排序的算法编写成菜单,根据输入的数字不同执行对应的排序算法。