当前位置:文档之家› 日校-算法与数据结构实验指导书-2013版(zhr)

日校-算法与数据结构实验指导书-2013版(zhr)

日校-算法与数据结构实验指导书-2013版(zhr)
日校-算法与数据结构实验指导书-2013版(zhr)

校内讲义

《算法与数据结构》实验指导书

(2013版)

编写:张海蓉

吉林大学通信工程学院

目录

实验一线性表的应用(1学时) (1)

实验二栈与队列的应用(1学时) (2)

实验三二叉树的应用(2学时) (3)

实验四图的应用(2学时) (4)

实验一线性表的应用(1学时)

一、实验目的

掌握线性表的基本结构和操作方法,培养学生灵活使用线性表结构解决实际问题的能力。

二、实验内容

设计一个100位以内的长整数加减运算的程序。

三、实验要求

1、输入输出要求:每四位一组,组间用逗号分隔。

2、加和减分别用不同的程序实现。

3、程序应考虑输入数据的符号。

实验二栈与队列的应用(1学时)

一、实验目的

掌握栈与队列的基本结构和操作方法,培养学生灵活使用结构解决实际问题的能力。

二、实验内容

1、利用栈深度优先进行迷宫求解。

2、利用队列宽度优先进行迷宫求解。

三、实验要求

1、用数组表示迷宫。

2、建立栈,利用栈实现深度优先搜索。

3、建立队列,利用队列实现宽度优先搜索。

实验三二叉树的应用(2学时)

一、实验目的

掌握树形结构的特点,二叉树的存储方式以及相应操作。

二、实验内容

1、根据输入的数据建立一个二叉树。

2、输出二叉树(输出的结果应为树型结构)。

3、输出其前序、中序和后序遍历的结果。

4、输出树的深度,最大元,最小元。

三、实验要求

1、用链表实现。

2、必做第2、4小题,选做第1、3小题。

实验四图的应用(2学时)

一、实验目的

掌握图形结构的特点、存储方式以及相应操作。

二、实验内容

1、输入带权图的邻接矩阵(用数组表示)。

2、输出深度优先搜索结果和广度优先搜索结果。

3、输出其最小生成树。

三、实验要求

1、权为正数。

2、最小生成树出发点为第一个顶点。

3、必做第2小题,选做第1、3小题。

基础工业工程实验指导书(完整版)

实验1 流程程序分析 一、实验目的 1、学会用程序分析符号、记录并绘制某产品(或零件、服务)的流程程序图。 2、学会用“5W1H”分析(完成了什么?何处做?何时做?由谁做?如何做?为什么要这样做?)技术发掘问题,用“ECRS”原则来改进程序。 二、实验说明 1、流程程序分析是以产品或零件的加工全过程为对象,运用程序分析技巧对整个流程程序中的操作、搬运、贮存、检验、暂存五个方面加以记录和考查、分析。流程程序分析是对生产现场的宏观分析,但它比工艺流程更具体、内容更详细,用途更广泛。 2、运用“5W1H”提问技术,对“操作”、“搬运”、“贮存”、“检验”、“暂存”五个方面进行考查、逐项提问,从而达到考查、分析、发掘问题的目的。 3、在发掘问题的基础上,应用取消、合并、重排、简化四大原则来建立新的程序。 三、实验器材 电子天平、电子秒表、计算器、胶带台、胶带、胶水、记录板、A4纸、包装纸、物流箱等。 四、实验分组 5~6人一组,1人模拟顾客,1人模拟邮局业务员,1人使用记录板记录,1人使用电子秒表测时,其他人认真观察,做些辅助工作。 五、实验内容及步骤 本实验模拟邮局邮包发送流程,可参考下列流程进行: (1)顾客到达。(流程分析起点); (2)询问业务; (3)等待顾客填单; (4)从顾客手中接邮包和填好的包裹单;

(5)包装邮寄物; (6)称重; (7)使用计算器计算邮资;(2元起价,含200克,200克以上按1分/克计算邮资) (8)向顾客收取邮资; (9)登帐(实为计算机操作,这里用手工记账代替); (10)贴包裹单; (11)贴邮票; (12)将包裹放入邮件暂存箱; (13)把包裹单第二联交顾客; (14)顾客离开,服务结束。 实验时,先模拟1~2遍,然后负责记录的同学使用流程图符号记录“邮局业务员”的实际工作流程,绘制流程程序分析简图。同时记录时间和移动距离等参考数据。 六、实验报告要求 使用实习报告纸或课程设计纸书写。实验报告应包含以下内容: (1)实验目的;(2)实验器材;(3)实验分组;(4)实验内容与步骤; (5)5W1H分析过程;(6)ECRS改善过程;(7)规范的以为人主的流程程序图(含现行方法和改善方法)。(8)对分析改善进行总结。

数据结构与算法基础知识总结

数据结构与算法基础知识总结 1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 2 数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件:

(1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 ai的存储地址为:adr(ai)=adr(a1)+(i-1)k,,adr(a1)为第一个元素的地址,k代表每个元素占的字节数。 顺序表的运算:插入、删除。(详见14--16页) 4 栈和队列 栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。 栈按照“先进后出”(filo)或“后进先出”(lifo)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。 栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。 队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。rear指针指向队尾,front指针指向队头。 队列是“先进行出”(fifo)或“后进后出”(lilo)的线性表。 队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。循环队列:s=0表示队列空,s=1且front=rear表示队列满

园艺植物育种学实验指导书(2013.3)

园艺植物育种学总论实验指导书 黄桂香编著 广西大学农学院园艺系 2013年3月

目录 实验一园艺植物花粉生活力测定(3h) (3) (一)果树花粉生活力测定 (3) (二)蔬菜花粉生活力测定 (6) 实验二、三园艺植物开花习性观察及有性杂交育种(6h) (7) (一)果树开花习性观察及有性杂交育种 (7) (二)蔬菜开花习性观察及有性杂交育种 (8) 实验四、园艺植物品种描述及鉴别(3h) (10) (一)番茄品种描述及鉴别 (10) (二)荔枝品种描述及鉴别 (13) 实验五、种胚分离培养技术(3h) (16) 实验六、园艺植物选择育种(3h) (17) 实验七、园艺植物品种调查及育种方案的制订(6h) (20) 实验八、园艺植物花粉单核期观察(3h) (20)

实验一、园艺植物花粉发芽试验及生活力测定 内容一:果树花粉发芽试验及花粉生活力测定 一、目的要求 练习并掌握果树花粉发芽试验及花粉生活力测定技术 二、材料用具 供试花粉、氯化钙、硼酸、琼脂、蔗糖、凹玻片、棉花、染色瓶、蒸馏水、显微镜、计数器、天平、载玻片、盖玻片、烧杯、镊子、水浴锅、玻璃杯、玻棒、冰箱、温箱、干燥器等。联苯胺、α—萘酚、碳酸钠、酒精、过氧化氢、氯化三苯基四氮吡、磷酸氢二钠、磷酸二氢钾、量筒、量瓶、滴瓶等。 安全提示:因联苯胺、α—萘酚、氯化三苯基四氮唑为易制毒化学品,操作时要按规范要求,避免人体直接接触,注意安全。 三、说明 在有性杂交工作中,常因杂交亲本组合的花期不遇,或亲本植株异地而必须预先收集父本花粉,花粉应贮藏在低温(0—4℃),干燥(相对湿度0—4%)不受阳光直射(或黑暗)的环境下,可以较长时间地保持花粉的生活力,经贮藏或外地采来的花粉,在授粉之前,必须检验花粉的生活力,以确定花粉发芽的可靠程度,这对检验杂交后的效果,具有重要意义。 花粉人工发芽的效果与培养基的配制是否适合有很大关系,培养基常用不同浓度的蔗糖和琼脂1%及蒸馏水配制而成,不同果树的花粉对蔗糖浓度要求不同。一般柑桔花粉要求蔗糖浓度以10—15%为宜;苹果及梨以10—15%为宜,桃以10%为宜。通过控制蔗糖浓度的高低可调节培养基的渗透压,防止播种的花粉在培养基上发生破裂现象。培养基一般以微酸性为宜,pH值相应调整在6—5.2之间,发芽温度控制在20—25℃,并需要空气和较高的湿度。如在培养基中加入少量,更可促进花粉发芽。 的硼酸和维生素B 1 测定花粉生活力,同样是检查花粉的质量,因为做花粉发芽试验时,操作较复杂,设备要求较高,需时也较长。为了简易而迅速地测定花粉的生活力,也有用化学染色的方法测定花粉生活力,但此种方法有一个很大的缺点,就是不能真实地反映出有发芽力的花粉究竟有多少,因为即使染上色的花粉也不一定都具有生活力。所以一般常用而且较为可靠的方法仍然是采用花粉发芽试验,而染色法作为一种粗略的快速测定,还是比较简便的。 四、方法和步骤 (一)花粉发芽试验 (1)培养基的配制:在100毫升蒸馏水中,加入琼脂1克,蔗糖(按果树花粉种类不同的比例加入)和0.01g的硼酸共同置于烧杯中加热煮沸,使琼脂和蔗糖等充分溶解于水中,在加热过程中,由于水分蒸发,必须加入失去的水分,才能保持准确的浓度,然后将烧杯置于水浴锅中(或盛热水的烧杯中)备用,以防培养基冷却凝固 (2)发芽床的装置:用玻棒将冷却前(约50℃)的培养基滴入凹玻片的凹孔中(1—2滴),要求培养基表面必须园正,待其凝固后用作播种花粉之发芽床。 (3)播种花粉用接种丝或头发沾上花粉(花粉事先收集使之干燥,贮藏于干燥器中置于冰箱内)少许,均匀地播种于培育基表面,播种时要防止花粉成团堆集

数据结构与算法实验指导实验十

#include"stdio.h" #include"stdlib.h" #define NULL 0 #define maxsize 50 typedef struct node{ char data; struct node *lchild,*rchild; }Bitree; int a[maxsize]; int temp=0; Bitree *Q[maxsize]; Bitree *Creatree(){ char ch; int front,rear; Bitree *T,*S; T=NULL; front=1;rear=0; printf("建立二叉树,以@表示虚节点,以#结束输入:\n"); ch=getchar(); while(ch!='#'){ S=NULL; if(ch!='@'){ //@表示虚节点不是虚节点是建立新节点 S=(Bitree *)malloc(sizeof(Bitree)); S->data=ch; S->lchild=S->rchild=NULL; } rear++;Q[rear]=S; //将虚节点指针NULL或新节点地址入队 if(rear==1) T=S; //输入第一个节点为根节点 else{ if(S!=NULL&&Q[front]!=NULL) if(rear%2==0) Q[front]->lchild=S; else Q[front]->rchild=S; if(rear%2==1) front++; //节点Q[front]的两个孩子已经处理完毕,front+1 } ch=getchar(); } return T; } void Inorder(Bitree *T){ //中序遍历二叉树,并将每个结点数据存入数组中if(T!=NULL){ Inorder(T->lchild);

(完整版)离散数学实验指导书及其答案

实验一命题逻辑公式化简 【实验目的】加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。 【实验内容】用化简命题逻辑公式的方法设计一个表决开关电路。 实验用例:用化简命题逻辑公式的方法设计一个 5 人表决开关电路,要求 3 人以上(含 3 人)同意则表决通过(表决开关亮)。 【实验原理和方法】 (1)写出5人表决开关电路真值表,从真值表得出5 人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式。 (2)上面公式中的每一个联结词是一个开关元件,将它们定义成 C 语言中的函数。 (3)输入5人表决值(0或1),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。 (4)输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。 参考代码: #include int vote(int a,int b,int c,int d,int e) { // 五人中任取三人的不同的取法有10种。 i f( a&&b&&c || a&&b&&d || a&&b&&e || a&&c&&d || a&&c&&e || a&&d&&e || b&&c&&d || b&&c&&e || b&&d&&e || c&&d&&e) return 1; else return 0; } void main() { i nt a,b,c,d,e; printf(" 请输入第五个人的表决值(0 或1,空格分开):"); scanf ("%d%d%d%d%d",&a,&b,&c,&d,&e); i f(vote(a,b,c,d,e)) printf(" 很好,表决通过!\n"); else printf(" 遗憾,表决没有通过!\n"); } // 注:联结词不定义成函数,否则太繁 实验二命题逻辑推理 【实验目的】加深对命题逻辑推理方法的理解。【实验内容】用命题逻辑推理的方法解决逻辑

VCO实验指导书-2013版

VCO 压控振荡器电路设计指导书 一 实验目的 1 了解变容二极管原理,掌握高频LC 振荡器与压控振荡器电路的设计要点; 2 按要求设计一个VCO 电路,掌握高频电路设计、组装和调试步骤与方法。 二 设计要求 1 设计一个改进型电容三点式压控振荡器,实现无明显失真的正弦波输出,改变变容二极管静态工作电压调整输出频率; 2 电源电压:+12V ;输出频率调节范围:17.5MHz-22MHz ;输出信号幅度范围:3.0V-1.1V ; 三 实验原理 1 变容二极管原理 当PN 结外加反偏电压时,势垒电容随外加电压的增加而减小。变化曲线如图1所示。 当变容二极管结电容作为振荡器振荡电容的一部分时,改变 变容管反偏电压可以达到改变振荡频率的目的。变容二极管 及其应用请参考《通信电路实验与设计》3.3节内容。 改进型电容三点式振荡器具有电路简单、起振容易、频率稳定性高的特点。在工程实践中获得广泛应用。 2 原理电路 改进型电容三点式振荡器原理和电路参照教材《通信电 路实验与设计》2.4节内容。本实验设计参考电路如图2所示。 四 设计报告要求请参照实验教材附录A 图1 变容管曲线 GND GND GND 图2 设计参考电路 五 元件清单 三极管9018一个,变容管BB910一个(反偏电压0.5V-30V 时,电容范围2.3p-38p),电阻5.1k 、2k 各2个,1k 、100k 各1个,电容27p 、100p (331)、680p(681)、1000p(102)、0.01u(103)、0.1u(104)、10u 各1个,电感2.2uH 一个,电位器50k 、10k 各1个。 C j V C

算法与数据结构实验

学生实验报告册 (理工类) 课程名称:算法与数据结构专业班级 学生学号:学生: 所属院部:计算机工程学院指导教师:章海鸥 2016 ——2017 学年第 1 学期 金陵科技学院教务处制 实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸一律采用 A4的纸。

实验报告书写说明 实验报告中一至四项容为必填项,包括实验目的和要求;实验仪器和设备;实验容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:顺序表实验学时: 2 同组学生:╱实验地点: 实验日期:实验成绩: 批改教师:批改时间:

实验1 顺序表 一、实验目的和要求 掌握顺序表的定位、插入、删除等操作。 二、实验仪器和设备 VC6.0 三、实验容与过程(含程序清单及流程图) 1、必做题 (1)编写程序建立一个顺序表,并逐个输出顺序表中所有数据元素的值。 编写主函数测试结果。 (2)编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x。 如果存在,返回顺序表中和x值相等的第1个数据元素的序号(序号 从0开始编号);如果不存在,返回-1。编写主函数测试结果。 (3)在递增有序的顺序表中插入一个新结点x,保持顺序表的有序性。 解题思路:首先查找插入的位置,再移位,最后进行插入操作;从第 一个元素开始找到第一个大于该新结点值x的元素位置i即为插入位 置;然后将从表尾开始依次将元素后移一个位置直至元素i;最后将 新结点x插入到i位置。 (4)删除顺序表中所有等于X的数据元素。 2、选做题 (5)已知两个顺序表A和B按元素值递增有序排列,要求写一算法实现将A和B归并成一个按元素值递减有序排列的顺序表(允许表中含有值 相同的元素)。 程序清单: (1) #include #define maxsize 20 typedef int datatype; typedef struct{ datatype data[maxsize];

电力电子实验指导书完全版范本

电力电子实验指导 书完全版

电力电子技术实验指导书 目录 实验一单相半波可控整流电路实验........................... 错误!未定义书签。实验二三相桥式全控整流电路实验........................... 错误!未定义书签。实验三单相交流调压电路实验 .................................. 错误!未定义书签。实验四三相交流调压电路实验 .................................. 错误!未定义书签。实验装置及控制组件介绍 ............................................ 错误!未定义书签。

实验一单相半波可控整流电路实验 一、实验目的 1.熟悉单结晶体管触发电路的工作原理及各元件的作用; 2.对单相半波可控整流电路在电阻负载及电阻电感负载时的工作做全 面分析; 3.了解续流二极管的作用; 二、实验线路及原理 熟悉单结晶体管触发电路的工作原理及线路图,了解各点波形形状。将单结晶体管触发电路的输出端“G”和“K”端接至晶闸管的门极和阴极, 即构成如图1-1所示的实验线路。 图1-1 单结晶体管触发的单相半波可控整流电路 三、实验内容 1.单结晶体管触发电路的调试; 2.单结晶体管触发电路各点电压波形的观察; 3.单相半波整流电路带电阻性负载时Ud/U2=f(α)特性的测定; 4.单相半波整流电路带电阻电感性负载时续流二极管作用的观察;

四、实验设备 1.电力电子实验台 2.RTDL09实验箱 3.RTDL08实验箱 4.RTDL11实验箱 5.RTDJ37实验箱 6.示波器; 7.万用表; 五、预习要求 1.了解单结晶体管触发电路的工作原理,熟悉RTDL09实验箱; 2.复习单相半波可控整流电路的有关内容,掌握在接纯阻性负载和阻 感性负载时,电路各部分的电压和电流波形; 3.掌握单相半波可控整流电路接不同负载时Ud、Id的计算方法。 六、思考题 1.单相桥式半波可控整流电路接阻感性负载时会出现什么现象?如何 解决? 七、实验方法 1.单相半波可控整流电路接纯阻性负载 调试触发电路正常后,合上电源,用示波器观察负载电压Ud、晶闸管VT两端电压波形U VT,调节电位器RP1,观察α=30o、60o、90o、120o、150o、180o时的Ud、U VT波形,并测定直流输出电压Ud 和电源电压U2,记录于下表1-1中。

微机原理及接口技术实验指导书2013本(SH51-Keil版)讲解

微机原理及接口技术实验指导书 北京联合大学机电学院 2013年4月

目录 实验指南 GCMCU单片机实验箱简介 Keil集成开发环境使用简介 实验一、数据传送及输入输出接口实验实验二、常用数据处理程序设计 实验三、外部中断实验 实验四、定时器/计数器的应用 实验五、机电设备控制实验 实验六、LED显示器实验 实验七、模/数转换实验 实验八、串行通讯实验 附录I、预习报告格式 附录II、实验报告格式

实验指南 千里之行,始于足下。如果你想成为一个优秀的应用型性工程技术人员首先应该重视实验课程,重视实验过程。养成良好的工作作风和习惯。 为了使实验安全、可靠、准确地进行,为了避免造成实验失误,实验之初应该仔细地了解你所使用设备的各种性能和要求,认真思考。绝不可草率从事或操之过急马马虎虎。应该做到细心、耐心,逐渐培养严肃认真,一丝不苟的工作作风。请注意以下几点: 1.根据授课教师给出的时间范围,到实验室申请实验时间。 2.实验之前认真阅读实验指导书,严格按照实验内容和实验要求撰写预习报告,设计实验程序。 3.使用各种实验设备之前,必须了解测量所用的范围、额定值。应将输出量程置于最小,输入量程置于最大。 4.熟悉操作设备的各项功能和作用,做到心中有数,如有疑问应立即向教师提出。 5.实验时严格按照实验要求和实验步骤进行实验。 6.连接线路后应仔细检查,确保无误后才能开启电源。 7.各种开关不能用力硬扳,各种接插头不得硬插,各种连线应避免拉扯使用。 8.特别注意各输出引线(尤其是电源输出引线),不要与地或通过机壳造成短路。 9.实验过程中应仔细观察、记录各种状态的微小变化。 10.实验结束后应先将电源关闭,再撤除连线。清理实验台后才能离开。要做到有始有终。 11.实验完成后认真编写实验报告,不要就事论事,应该对实验结果深入进行分析讨论,提出自己的看法和评价。

算法与数据结构实验册

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课 程的实验大纲。

实验项目名称:顺序表实验学时: 2 同组学生姓名:全班同学实验地点: 1318 实验日期: 10 月14号实验成绩: 批改教师:批改时间:

实验1 顺序表 一、实验目的和要求 掌握顺序表的定位、插入、删除等操作。 二、实验仪器和设备 Turbo C 2.0 三、实验内容与过程(含程序清单及流程图) 1、必做题 (1)编写程序建立一个数续表,并逐个输出顺序表中所有数据元素的值。 编写主函数测试结果。 (2)编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x。 如果存在,返回顺序表中和x值相等的第1个数据元素的序号(序号 从0开始编号);如果不存在,返回-1。编写主函数测试结果。 (3)在递增有序的顺序表中插入一个新结点x,保持顺序表的有序性。 解题思路:首先查找插入的位置,再移位,最后进行插入操作;从第 一个元素开始找到第一个大于该新结点值x的元素位置i即为插入位 置;然后将从表尾开始依次将元素后移一个位置直至元素i;最后将新 结点x插入到i位置。 (4)删除顺序表中所有等于X的数据元素。 2、选做题 (5)已知两个顺序表A和B按元素值递增有序排列,要求写一算法实现将A和B归并成一个按元素值递减有序排列的顺序表(允许表中含有值 相同的元素)。 程序清单: 第一题: #include #define maxsize 100 typedef struct{ int datatype [maxsize]; int last; }sequenlist; void main(){ sequenlist a={{1,2,3,4},4}; for(int i=0;i

计科本科生《算法与数据结构》实验报告4

学院专业姓名学号 实验1:约瑟夫环问题(3学时) [问题描述] 将编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个开始按顺时针方向自1开始报数,报到m时停止报数。报m的人出列,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。 [实验目的] (1)掌握线性表的顺序存储结构和循环顺序存储结构。 [实验内容及要求] (1)构造数据结构。 (2)对线性表进行初始化。 [测试数据] 输入一组n,m值时,程序输出出列顺序。 [思考] (1)你采用的存储结构是顺序表还是循环顺序表?哪个比较合适? (2)当存储结构为循环链表时,如何修改你的程序?并考虑两种存储结构的优缺点。

学院专业姓名学号 实验2:ADT List(线性表)(3学时) [问题描述] 线性表是典型的线性结构,实现ADT List,并在此基础上实现两个集合的交运算或并运算。[实验目的] (1)掌握线性表的链表存储结构。 (2)掌握在单链表上基本操作的实现。 (3)在掌握单链表的基本操作上进行综合题的实现。 [实验内容及要求] (1)要求用带头结点的单链表存储两个集合中的元素和最终的结果。 (2)集合的元素限定为十进制数,程序应对出现重复的数据进行过滤,即链表中没有重复数据。 (3)显示两个集合的内容及其运算结果。 [测试数据] (1)set1={3, 8, 5, 8,11},set2={22, 6, 8, 3, 15,11,20 } set1∪set2= set1∩set2= (2)set1={1, 3, 5, 7},set2={2, 3, 7, 14, 25,38} set1∪set2= set1∩set2=

优化设计实验指导书(完整版)

优化设计实验指导书 潍坊学院机电工程学院 2008年10月 目录

实验一黄金分割法 (2) 实验二二次插值法 (5) 实验三 Powell法 (8) 实验四复合形法 (12) 实验五惩罚函数法 (19)

实验一黄金分割法 一、实验目的 1、加深对黄金分割法的基本理论和算法框图及步骤的理解。 2、培养学生独立编制、调试黄金分割法C语言程序的能力。 3、掌握常用优化方法程序的使用方法。 4、培养学生灵活运用优化设计方法解决工程实际问题的能力。 二、实验内容 1、编制调试黄金分割法C语言程序。 2、利用调试好的C语言程序进行实例计算。 3、根据实验结果写实验报告 三、实验设备及工作原理 1、设备简介 装有Windows系统及C语言系统程序的微型计算机,每人一台。 2、黄金分割法(0.618法)原理 0.618法适用于区间上任何单峰函数求极小点的问题。对函数除“单峰”外不作 其它要求,甚至可以不连续。因此此法适用面相当广。 0.618法采用了区间消去法的基本原理,在搜索区间内适当插入两点和,它们把 分为三段,通过比较和点处的函数值,就可以消去最左段或最右段,即完成一次迭代。 然后再在保留下来的区间上作同样处理,反复迭代,可将极小点所在区间无限缩小。 现在的问题是:在每次迭代中如何设置插入点的位置,才能保证简捷而迅速地找到极小点。 在0.618法中,每次迭代后留下区间内包含一个插入点,该点函数值已计算过,因此以后的每次迭代只需插入一个新点,计算出新点的函数值就可以进行比较。 设初始区间[a,b]的长为L。为了迅速缩短区间,应考虑下述两个原则:(1)等比收缩原理——使区间每一项的缩小率不变,用表示(0<λ<1)。 (2)对称原理——使两插入点x1和x2,在[a,b]中位置对称,即消去任何一边区间[a,x1]或[x2,b],都剩下等长区间。 即有 ax1=x2b 如图4-7所示,这里用ax1表示区间的长,余类同。若第一次收缩,如消去[x2,b]区间,则有:λ=(ax2)/(ab)=λL/L 若第二次收缩,插入新点x3,如消去区间[x1,x2],则有λ=(ax1)/(ax2)=(1-λ)L/λL

神经网络实验指导书2013版[1]

神经网络实验指导书2013版[1]

北京信息科技大学自编实验讲义 神经网络实验指导书 许晓飞陈雯柏编著

找其映射是靠学习实践的,只要学习数据足够完备,就能够描述任意未知的复杂系统。因此前馈神经网络为非线性系统的建模和控制提供了有力的工具。 输入层隐层输出层 图1 前馈型神经网络结构 2.BP算法原理 BP(Back Propagation)神经网络是一种利用误差反向传播训练算法的前馈型网络,BP学习算法实质是求取网络总误差函数的最小值问题[2]。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数,它是梯度下降法在多层前馈网络中的应用。具体学习算法包括两大过程,其一是输入信号的正向传播过程,其二是输出误差信号的反向传播过程。 1.正向传播 输入的样本从输入层经过隐层单元一层一层进行处理,通过所有的隐层之后,则传向输出

层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。 2.反向传播 反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。网络各层的权值改变量,则由传播到该层的误差大小来决定。 3.BP算法的特点 BP神经网络具有以下三方面的主要优点[3]:第一,只要有足够多的隐含层和隐层节点,BP 神经网络可逼近任意的非线性映射关系;第二,BP学习算法是一种全局逼近方法,因而它具有较好的泛化能力。第三,BP神经网络具有一定的容错能力。因为BP神经网络输入输出间的关联信息分布存储于连接权中,由于连接权的个数总多,个别神经元的损坏对输入输出关系只有较小影响。 但在实际应用中也存在一些问题,如:收敛

数据结构与算法的实验报告

数据结构与算法第二次实验报告 电子105班 赵萌 2010021526

实验二:栈和队列的定义及基本操作 一、实验目的: . 熟练掌握栈和队列的特点 . 掌握栈的定义和基本操作,熟练掌握顺序栈的操作及应用 . 掌握对列的定义和基本操作,熟练掌握链式队列的操作及应用, 掌握环形队列的入队和出队等基本操作 . 加深对栈结构和队列结构的理解,逐步培养解决实际问题的编程能力 二、实验内容: 定义顺序栈,完成栈的基本操作:空栈、入栈、出栈、取栈顶元素; 实现十进制数与八进制数的转换; 定义链式队列,完成队列的基本操作:入队和出队; 1.问题描述: (1)利用栈的顺序存储结构,设计一组输入数据(假定为一组整数),能够对顺序栈进行如下操作: . 初始化一个空栈,分配一段连续的存储空间,且设定好栈顶和栈底; . 完成一个元素的入栈操作,修改栈顶指针; . 完成一个元素的出栈操作,修改栈顶指针; . 读取栈顶指针所指向的元素的值; . 将十进制数N 和其它d 进制数的转换是计算机实现计算的基本问题,其解决方案很多,其中最简单方法基于下列原理:即除 d 取余法。例如:(1348)10=(2504)8 N N div 8 N mod 8 1348 168 4 168 21 0 21 2 5 2 0 2 从中我们可以看出,最先产生的余数 4 是转换结果的最低位,这正好符合栈的特性即后进先出的特性。 所以可以用顺序栈来模拟这个过程。以此来实现十进制数与八进制数的转换; . 编写主程序,实现对各不同的算法调用。 (2)利用队列的链式存储结构,设计一组输入数据(假定为一组整数),能够对链式队列进行如下操作: . 初始化一个空队列,形成一个带表头结点的空队; . 完成一个元素的入队操作,修改队尾指针; . 完成一个元素的出队操作,修改队头指针; . 修改主程序,实现对各不同的算法调用。

《计算机操作系统》实验指导书

《计算机操作系统》 实验指导书 (适合于计算机科学与技术专业) 湖南工业大学计算机与通信学院 二O一四年十月

前言 计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。 为了收到良好的实验效果,编写了这本实验指导书。在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。 实验成绩考核: 实验成绩占计算机操作系统课程总评成绩的20%。指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。有以下情形之一者,实验成绩为不及格: 1.迟到、早退、无故缺勤总共3次及以上者; 2.未按时完成实验达3次及以上者; 3.缺交实验报告2次及以上者。

(完整word版)安全人机工程学综合实验指导书20131

《安全人机工程学》实验指导书 杨轶芙编 实验学时:6学时

目录 实验一手指灵活性测试 ................................................................... - 1 -实验二动觉方位辨别能力的测定 ..................................................... - 3 -实验三暗适应测试实验 ..................................................................... - 5 -实验四明度适应测试 ......................................................................... - 8 -实验五选择、简单反应时测定实验............................................... - 10 -实验六听觉实验 ............................................................................... - 15 -实验七动作稳定性测试 ................................................................... - 22 -

实验一手指灵活性测试 『实验目的』 测定手指、手、手腕灵活性以及手眼协调能力。 『实验仪器』 采用EP707A型手指灵活性测试仪。 该仪器的主要技术参数如下: 1、手指灵活性测试100孔 2、指尖灵活性测试M6、M5、M4、 M3螺栓各25个 3、计时范围0~9999.99秒 4、电源电压220V 50HZ 5、消耗功率10W 6、外形尺寸505×310×48 7、重量3.5千克(净重) 『实验内容』 (一)手指灵活性测试(插孔插板) 1、使用者接上电源打开电源开关,此时计时器即全部显示为0000. 00。然后插上手指灵活性插板(有100个φ 1.6mm 孔),按复位按键被试即可进行测试。 2、被试用优势手拿住镊子钳住φ1.5针,插入开始位,计时器开始计时 3、依次用镊子(从左至右,从上至下)钳住φ1.5针插满100个孔,最后插终止位,计时会自动结束,记录下插入100个棒所需要的时间; 4、每次重新开始需按“复位”键清零。 (二)指尖灵活性测试 1、使用者接上电源打开电源开关,此时计时器即全部显示为0000. 00。然后插上指尖灵活性插板(M6、M5、M4、M3螺栓各25个),按复位按键被试即可进行测试。 2、当被试用优势手放入起始点第一个M6垫圈起,计时器开始计时,然后

数据结构与算法实验报告册

. . 河南工程学院 理学院学院 实验报告 (数据结构与算法) 学期: 课程: 专业: 班级: 学号: 姓名: 指导教师:

. . 目录 实验一线性表1(顺序表及单链表的合并) (1) 实验二线性表2(循环链表实现约瑟夫环) (1) 实验三栈和队列的应用(表达式求值和杨辉三角) (1) 实验四赫夫曼编码 实验五最小生成树 (1) 实验六排序算法

. . 实验一线性表1 一、实验学时:2学时 二、实验目的 1.了解线性表的逻辑结构特性是数据元素之间存在着线性关系。在计算机中 表示这种关系的两类不同的存储结构是顺序存储结构和链式存储结构。 2.熟练掌握这两类存储结构的描述方法以及线性表的基本操作在这两种存储 结构上的实现。 三、实验内容 1. 编写程序,实现顺序表的合并。 2. 编写程序,实现单链表的合并。 四、主要仪器设备及耗材 硬件:计算机一台 软件:VC++ 6.0,MSDN2003或者以上版本 五、算法设计 1. 顺序表合并的基本思想 程序流程图: 2. 单链表合并的基本思想 程序流程图 六、程序清单

. 七、实现结果 .

. 八、实验体会或对改进实验的建议.

. . 实验二线性表2 一、实验学时:2学时 二、实验目的 1.了解双向循环链表的逻辑结构特性,理解与单链表的区别与联系。 2.熟练掌握双向循环链表的存储结构以及基本操作。 三、实验内容 编写程序,采用循环链表实现约瑟夫环。 设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。 四、主要仪器设备及耗材 硬件:计算机一台 软件:VC++ 6.0,MSDN2003或者以上版本 五、算法设计 约瑟夫环实现的基本思想 程序流程图: 六、程序清单

数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1.实验目的 (1)掌握使用Visual C++ 上机调试程序的基本方法; (2)掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2.实验要求 (1)认真阅读和掌握和本实验相关的教材内容。 (2)认真阅读和掌握本章相关内容的程序。 (3)上机运行程序。 (4)保存和打印出程序的运行结果,并结合程序进行分析。 (5)按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include >验目的 掌握顺序栈的基本操作:初始化栈、判栈空否、入栈、出栈、取栈顶数据元素等运算以及程序实现方法。 2.实验要求 (1)认真阅读和掌握和本实验相关的教材内容。 (2)分析问题的要求,编写和调试完成程序。 (3)保存和打印出程序的运行结果,并分析程序的运行结果。 3.实验内容 利用栈的基本操作实现一个判断算术表达式中包含圆括号、方括号是否正确配对的程序。具体完成如下:

(1)定义栈的顺序存取结构。 (2)分别定义顺序栈的基本操作(初始化栈、判栈空否、入栈、出栈等)。 (3)定义一个函数用来判断算术表达式中包含圆括号、方括号是否正确配对。其中,括号配对共有四种情况:左右括号配对次序不正确;右括号多于左括号;左括号多于右括号;左右括号匹配正确。 (4)设计一个测试主函数进行测试。 (5)对程序的运行结果进行分析。 实验代码: #include < > #define MaxSize 100 typedef struct { int data[MaxSize]; int top; }SqStack;

数据结构与算法基础

数据结构与算法基础 一.判断题: 1.数据元素是数据的最小单位。 2.数据结构是带有结构的数据元素的集合。 3.数据结构、数据元素、数据项在计算机中的映像(或表示)分别称为存储结构、结点、数据域。 4.数据项是数据的基本单位。 5.数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要而建立的。 6.数据的物理结构是指数据在计算机内实际的存储形式。 7.算法和程序没有区别,所以在数据结构中二者是通用的。 答案: 1.错误 2.正确 3.正确 4.错误 5.正确 6.正确 7.错误 二. 数据结构是研究数据的 A 和 B 以及它们之间的相互关系,并对这种结构定义相应的 C ,设计出相应的 D ,而确保经过这些运算后所得到的新结构是 E 结构类型。 供选择答案: A、B:a理想结构b抽象结构c物理结构d逻辑结构 C、D、E:a运算b算法c结构d规则e现在的f原来的 答案: A:cB;dC:aD:bE:f 三.从供选择的答案中选取正确的答案填在下面叙述中的横线上: 1. A 是描述客观事物的数字、字符以及所能输入到计算机中并被计算机程序加工处理的符号的集合。 2. B 是数据的基本单位,即数据集合中的个体。有时一个 B 由若干个___C____组成,在这种情况下,称 B 为记录。 C 是数据的最小单位。而由记录所组成的线性表为 D 。 3. E 是具有相同特性的数据元素的集合,是数据的子集。 4. F是带有结构特性数据元素的集合。 5. 被计算机加工的数据元素不是孤立无关的,它们彼此之间一般存在着某种联系。通常将数据元素的这种关系称为G。 6. 算法的计算量的大小称为计算的H。 供选择的答案: A-F:a数据元素b符号c记录d文件e数据f数据项g数据对象h关键字i数据结构

相关主题
文本预览
相关文档 最新文档