文档库 最新最全的文档下载
当前位置:文档库 › 实验二 顺序表删除算法

实验二 顺序表删除算法

实验二  顺序表删除算法
实验二  顺序表删除算法

实验一顺序表的基本算法

一.实验目的:

掌握线性表在顺序存储结构上的基本运算。

二.实验要求:

1. 给出程序设计的基本思想、原理和算法描述。

2. 画出程序流程图;根据数据结构有关知识编出算法程序;

3. 源程序给出注释。

4. 保存和打印出程序的运行结果,并结合程序进行分析。

三.实验内容:

1.编写顺序表删除函数;

2.编写程序实现以下功能:

(1) 创建顺序表

(2) 调用删除函数,删除表中第三个位置上的元素;

(3) 输出最终顺序表中的元素。

3.编写函数,要求实现以下功能:

(1)查找元素x在顺序表中的位置:如果x在表中,返回x在顺序表中的位置;如果x 不在表中,返回0;

#include

#include

#define MaxSize 50

typedef char ElemType;

typedef struct

{ ElemType elem[MaxSize];

int length;

}SqList;

static SqList L;

void InitList() /* 初始化顺序表*/ {

L.length=0;

}

int ListEmpty() /* 判断顺序表是否为空*/ { return(L.length== 0);

}

int ListLength() /* 求顺序表长度*/ { return(L.length);

}

void DispList() /* 显示顺序表中所有元素*/ { int i;

if(ListEmpty()) return;

for(i=0;i

printf("%c", L.elem[i]);

printf("\n");

}

int GetElem(int i, ElemType &e) /* 读取顺序表中的元素*/ { if(i<1 || i>L.length)

return 0;

e=L.elem[i-1];

return 1;

}

int LocateElem(ElemType e) /* 确定顺序表中元素的位置*/ { int i=0;

while(i

if(i>= L.length)

return 0;

else

return i+1;

}

int ListInsert( int i, ElemType e) /*插入*/

{ int j;

if(i<1 || i>L.length+1)

return 0;

i--;

for(j=L.length; j>i; j--)

L.elem[j]=L.elem[j-1];

L.elem[i]=e;

L.length++;

return 1;

}

int ListDelete( int i, ElemType &e) /* 删除*/ { int j;

if(i<1 || i>L.length)

return 0;

i--;

e=L.elem[i];

for(j=i; j

L.elem[j]=L.elem[j+1];

L.length--;

return 1;

}

void main( )

{

ElemType e;

printf("(1)初始化顺序表L\n");

InitList();

printf("(2)依次采用尾插法插入a, b, c, d,e元素\n");

ListInsert(1,'a');

ListInsert(2,'b');

ListInsert(3,'c');

ListInsert(4,'d');

ListInsert(5,'e');

printf("(3)输出顺序表L:");

DispList();

printf("(4)顺序表L长度=%d\n",ListLength());

printf("(5)顺序表L为%s\n",(ListEmpty()?"空":"非空"));

GetElem( 3, e);

printf("(6)顺序表L的第3个元素=%c\n",e);

printf("(7)元素a的位置=%d\n",LocateElem('a'));

printf("(8)在第4个元素位置上插入f元素\n");

ListInsert( 4, 'f');

printf("(9)输出顺序表L:");

DispList();

printf("(10)删除L的第3个元素\n");

ListDelete(3, e);

printf("(11)输出顺序表L:");

DispList();

}

顺序表的创建插入与删除

#include #define maxsize 1024 //定义maxsize是1024 #define inplen 10 //定义inplen是10 typedefint datatype; typedefstruct { datatype data[maxsize]; int last; }sequenlist; //创建一个顺序表并且将之初始化 sequenlist *CreatInit(void) { sequenlist *l; l = new sequenlist( ); //使用动态分配sequenlist空间大小l->last=-1; //空表 return l; } //打印出顺序表 void println(sequenlist *head) { sequenlist *p = head; inti = 0; printf(" Now the squenlist is:"); for (i = 0; i<= p->last; i++) { printf("%d ", p->data[i]); } } //计算出顺序表的长度 int Length(sequenlist *head) { return head->last+1; } //给顺序表结点data[i]赋值 sequenlist *Setvalue(sequenlist *head) { inti; sequenlist *p = head; for (i = 0; idata[i]); //键盘上输入10 个结点的值} p->last = i-1;

动态规划实验报告

华东师范大学计算机科学技术系上机实践报告 一、 内容与设计思想 1.对于以下5 个矩阵: M 1: 2?3, M 2: 3?6, M 3: 6?4, M 4: 4?2, M 5: 2?7 , (a) 找出这5个矩阵相乘需要的最小数量乘法的次数。 (b) 请给出一个括号化表达式,使在这种次序下达到乘法的次数最少。 输入: 第一行为正整数N,表示有N 组测试数据; 每组测试数据的第一行为n,表示有n 个矩阵,2<=n<=50; 接下去的n 行,每行有两个整数x 和y,表示第ni 个矩阵是x*y 的。 输出: 对行每组数据,输出一行,每行一个整数,最小的矩阵连乘积。 我们保证输出的结果在2^64之内。 基本思想: 对于n 个矩阵的连乘积,设其不同的计算次序为P(n)。 由于每种加括号方式都可以分解为两个子矩阵的加括号问题:(A1...Ak)(Ak+1…An)可以得到关于P(n)的递推式如下: 2.定义0/1/2背包问题为:}x p max{n 1i i i ∑=。限制条件为:c x w n 1i i i ≤∑=,且 n i 1},2,1,0{x i ≤≤∈。设f(i , y)表示剩余容量为y ,剩余物品为:i ,i+1,…,n 时的最优解的值。 1.)给出f(i , y)的递推表达式; 2.)请设计求解f(i , y)的算法,并实现你的算法; 3.)设W=[10,20,15,30],P=[6,10,15,18],c=48,请用你的算法求解。 输入: 第一行为一个正整数N ,表示有几组测试数据。 每组测试数据的第一行为两个整数n 和M ,0=-=∑-=

实验操作考核评分标准

实验考核评分标准 1. 用自然过滤法分离Fe(OH)3胶状沉淀。 (1)胶体或胶状沉淀不能直接过滤(应先加热破坏胶体,否则会透滤。稍加热示范即可。若学生不加热便过滤,则提示。) (2)自然过滤(滤纸折叠法、撕去一角、放入漏斗、调节水柱、玻棒引流、“三靠两低”等,先转移溶液、后转移沉淀,每次转移量不能超过滤纸高度的2/3。) 2. 现有由CuSO4与NaHCO3在水中反应制备的Cu2(OH)2CO3沉淀,利用倾析法将其与溶液分离并检查SO42-洗净否。 (1)倾析分离(静置、玻棒引流、蒸馏水洗涤两三遍。) (2)SO 42-检查(用小漏斗过滤法,过滤几滴溶液在试管中,因有CO 3 2-、需加几滴HNO 3 、 再加几滴BaCl2溶液检查。) 3. 在不增加溶液体积前提下除去硫酸亚铁铵过饱和溶液中的不溶性杂质。 热过滤操作(加热使硫酸亚铁铵晶体溶解完全、选无颈漏斗并注意预热、过滤时每次转移少量溶液、烧杯中剩余溶液保持加热。注意题目的前提条件,必要时提醒学生80°C以上硫酸亚铁铵晶体会溶解完全。) 4. 将CuSO4·5H2O晶体与母液分离并用乙醇洗涤晶体。 (1)抽滤操作(滤纸大小、润湿滤纸、稍抽气使滤纸紧贴、玻棒引流、注意加入的溶液不能超过漏斗容积的2/3、开大水龙头抽滤、滤饼要较均匀地铺满漏斗底、用药勺压实滤饼、抽滤至干、先拔橡皮管再关水龙头、玻棒轻轻揭起滤纸边、取出滤纸与沉淀、滤液从抽滤瓶的上口倒出。) (2)洗涤操作(2种方法:沉淀较多时,拔掉橡皮管暂停抽滤、加入洗涤剂洗涤;沉淀较少时,关小水龙头、加入洗涤剂洗涤。我们要求用前一种方法,所以要求学生过滤较多晶体。) 5. 将预先已称好的10.0 g CuSO4·5H2O晶体重结晶。 重结晶操作(按1:1量好10mL蒸馏水,先加部分水、几滴H2SO4,加热至沸,若晶体未完全溶解,则用滴管逐滴加水至晶体刚好完全溶解,停止加热,然后用水冷却或自然冷却。注:不允许浓缩、不用过滤。) 6. 水浴蒸发浓缩制备CuSO4·5H2O晶体。 (1)水浴加热(500 mL大烧杯、水量为其容量的1/2~2/3。) (2)蒸发浓缩(蒸发皿。先加硫酸酸化再加热、前期搅拌、发现有晶体析出时停止搅拌,浓缩至表面出现一层完整的晶膜即停止加热浓缩。) 7. 称取5.0 g NaCl固体并将其溶解。 (1)电子秤的使用(注意:不能用滤纸称量、不能将试剂撒在电子秤上。) (2)固体试剂的取用(试剂瓶盖子反过来放在实验台上、用干净药勺取试剂、取出试剂后立即盖紧瓶盖、取多的药品不能倒回原瓶) (3)固体溶解(加热、搅拌) 8. 将15.0 mL 0.1 mol/L Fe2(SO4)3溶液沉淀完全。 (1)沉淀操作(煮沸后边搅拌边滴加NaOH溶液、双手并用。沉淀完全后要煮沸一段时间,要学生口头说明即可。)

动态规划算法实验

一、实验目的 (2) 二、实验内容 (2) 三、实验步骤 (3) 四.程序调试及运行结果分析 (5) 附录:程序清单(程序过长,可附主要部分) (7)

实验四动态规划算法的应用 一、实验目的 1.掌握动态规划算法的基本思想,包括最优子结构性质和基于表格的最优值计算方法。 2.熟练掌握分阶段的和递推的最优子结构分析方法。 3.学会利用动态规划算法解决实际问题。 二、实验内容 1.问题描述: 题目一:数塔问题 给定一个数塔,其存储形式为如下所示的下三角矩阵。在此数塔中,从顶部出发,在每一节点可以选择向下走还是向右走,一直走到底层。请找出一条路径,使路径上的数值和最大。 输入样例(数塔): 9 12 15 10 6 8 2 18 9 5 19 7 10 4 16 输出样例(最大路径和): 59 题目二:最长单调递增子序列问题(课本184页例28) 设有由n个不相同的整数组成的数列,记为:a(1)、a(2)、……、a(n)且a(i)<>a(j) (i<>j) 若存在i1

题目三 0-1背包问题 给定n种物品和一个背包。物品i的重量是wi,其价值为vi,背包的容量为c,。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品只有两个选择:装入或不装入,且不能重复装入。输入数据的第一行分别为:背包的容量c,,物品的个数n。接下来的n 行表示n个物品的重量和价值。输出为最大的总价值。 输入样例: 20 3 11 9 9 10 7 5 输出样例 19 2.数据输入:个人设定,由键盘输入。 3.要求: 1)上述题目任选一做。上机前,完成程序代码的编写 2)独立完成实验及实验报告 三、实验步骤 1.理解算法思想和问题要求; 2.编程实现题目要求; 3.上机输入和调试自己所编的程序; 4.验证分析实验结果; 5.整理出实验报告。

数据结构-顺序表的查找插入与删除

一、上机实验的问题和要求: 顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求: 1.从键盘输入10个整数,产生顺序表,并输入结点值。 2.从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找 不到,则显示“找不到”。 3.从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插 入在对应位置上,输出顺序表所有结点值,观察输出结果。 4.从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。 二、源程序及注释: #include #include /*顺序表的定义:*/ #include #define ListSize 100 /*表空间大小可根据实际需要而定,这里假设为100*/ typedef int DataType; /*DataType可以是任何相应的数据类型如int, float或char*/ typedef struct { DataType data[ListSize]; /*向量data用于存放表结点*/ int length; /*当前的表长度*/ }SeqList; void main() { SeqList L; int i,x; int n=10; /*欲建立的顺序表长度*/ L.length=0; void CreateList(SeqList *L,int n); void PrintList(SeqList L,int n); int LocateList(SeqList L,DataType x); void InsertList(SeqList *L,DataType x,int i); void DeleteList(SeqList *L,int i); CreateList(&L,n); /*建立顺序表*/ PrintList(L,n); /*打印顺序表*/ printf("输入要查找的值:"); scanf("%d",&x); i=LocateList(L,x); /*顺序表查找*/ printf("输入要插入的位置:"); scanf("%d",&i); printf("输入要插入的元素:"); scanf("%d",&x);

动态规划算法的应用实验报告

实验二动态规划算法的应用 一、实验目的 1.掌握动态规划算法的基本思想,包括最优子结构性质和基于表格的最优值计算方法。 2.熟练掌握分阶段的和递推的最优子结构分析方法。 3.学会利用动态规划算法解决实际问题。 二、实验内容 1.问题描述: 题目一:数塔问题 给定一个数塔,其存储形式为如下所示的下三角矩阵。在此数塔中,从顶部出发,在每一节点可以选择向下走还是向右走,一直走到底层。请找出一条路径,使路径上的数值和最大。 输入样例(数塔): 9 12 15 10 6 8 2 18 9 5 19 7 10 4 16 输出样例(最大路径和): 59 三、算法设计 void main() { 申明一个5*5的二维数组; for(int i=0;i<5;i++) { for(int j=0;j<=i;j++) { 输入数组元素p[i][j]; }

} for(int k=0;k<5;k++) { for(int w=0;w<=k;w++) { 输出数组元素p[k][w]; } } for(int a=4;a>0;a--) { for(int s=0;s<=a;s++) { if(p[a][s]大于p[a][s+1]) p[a-1][s]等于p[a-1][s]加p[a][s]; else p[a-1][s] 等于p[a-1][s] 加p[a][s+1]; } } 输出p[0][0] }

四.程序调试及运行结果分析 五.实验总结 虽然这个实验比较简单,但是通过这次实验使我更加了解的动态规划法的好处和、,在解决问题时要尝试使用动态规划,这样就有可能得到一种即简单复杂性有不高的算法。

王家庄小学科学实验操作考核总结

王家庄小学学生科学实验操作考核总结 为了进一步促进我校《科学》实验教学的开展,培养学生初步的观察能力、 实验能力和动手能力,发展学生的想象能力和创新精神,提高学生整体素质, 根据区教育局通知,我校在放假前对3-6年级的学生科学实验操作进行了考核, 现总结如下: 一、成立了实验操作考核的组织领导小组 实验操作考核领导小组 组长:王军庆 副组长:董兴堂 组员:赵国耀蔺香梅齐娟王菊梅魏志华 二、拟定各年级试题 我校3--6年级均参加小学生参加科学实验操作考核,并将考核成绩列入期 末。小学科学实验操作考核的命题范围是以课程标准为依据,试题和评分标准由 教导处拟定。试题公开,并提前下发到学生手中。各年级试题如下: 1、三年级科学实验操作考试试题 试题:用温度计测量水的温度 实验题目:用温度计测量一杯热水的温度 实验用品:400ml烧杯一个,一支温度计,适量冷水和一暖壶热水,吸水纸, 废物瓶,水温测量记录表,手帕。 考核学生姓名: 步骤操作要求评分标准满分得分备注 1 清点材料与 用具 按材料清单清点物品是否齐全(5分)。 5 2 观察温度计 的零刻度线、 分度值和量 程 A、观察温度计的零刻度线(5分)。 B、观察温度计的分度值和量程(10分)。 15 3 用手感知水 温 将手指伸入烧杯中(冷水)或将手放在烧 杯外壁(热水),用手感知温度(10分), 估计水温(10分)。 20

4 用温度计测 量水的温度 并且读数、填 表 A、手拿温度计上端,将其竖直放入水中(10 分)。 B、温度计的玻璃泡要完全浸没在水中,玻 璃泡不要碰到烧杯的侧壁和底部(10分)。 C、等示数稳定时再读数。读数时要让玻璃 泡继续停留在水中(10分)。 D、视线要和温度计示数保持向平(10分)。 E、将测得的数据填写在记录表上(5分)。 45 5 整理仪器,擦 拭桌面 A、用手帕将温度计擦干装入盒内,烧杯里 面水倒掉,并放回原处,摆放整齐(10分)。 B、擦拭桌面(5分)。 15 2、四年级科学实验操作考试试题 试题:使用电池盒和小灯座连接简单电路 实验题目:使用电池盒和小灯座连接简单电路 实验用品:小灯座、电池盒、导线、小灯泡、电池、开关。 考核学生姓名: 步骤操作要求评分标准满分得分备注 1 清点材料与 用具 按材料清单清点物品是否齐全(5分)。 5

实验一 数据结构顺序表的插入和删

实验一顺序表的操作 1.实验题目:顺序表的操作 2.实验目的和要求: 1)了解顺序表的基本概念、顺序表结构的定义及在顺序表上的基本操作(插入、删除、查找以及线性表合并)。 2)通过在Turbo C(WinTc,或visual stdio6)实现以上操作的C语言代码。 3)提前了解实验相关的知识(尤其是C语言)。 3.实验内容:(二选一) 1)顺序表的插入算法,删除算法,顺序表的合并算法 2)与线性表应用相关的实例(自己选择详尽实例) 4.部分参考实验代码: ⑴顺序表结构的定义: #include #define MAXLEN 255 typedef int ElemType; typedef struct { ElemType elem[MAXLEN]; int length; }sqList; ⑵顺序表前插(在第i号元素前插入一个新的元素) int ListInsert(sqList *la,int i,int x)

{ int j; if(i<0||i>la-> length +1) {printf(“\n the value of i is wrong!”); return 0; } if(la-> length +1>=MAXLEN) { printf(“\n overflow!”); return 0; } . for(j=la-> length;j>=i;j--) la->list[j+1]=la->list[j]; la->list[i]=x; la-> length++; return 1; } ⑶顺序表删除 int ListDelete(sqList *la,int i) { if(i<0||i>la-> length) { printf(“\n the position is wrong!\n”); return 0; }

2018年理、化、生实验操作考试工作总结范文

2018年理、化、生实验操作考试工作总结范文 根据陕二办(XX)25号和x市考发(XX)39号等有关文件精神,xx中学于XX年3月7日举行了XX年度理、化、生实验操作考试。应参加考试204人,实参加考试199人,5人因故缺考。根据考试情况来看,期中物理最高98分,平均86.1分,合格率100%;化学最高96分,平均89.9分,合格率99.5%;生物最高98分,平均90.4分,合格率100%。现将我校XX年度理、化、生实验操作考试总结 一、领导重视,精心部署,制定了严密的实施方案。 理化生实验操作考试是高中学业水平考试的重要组成部分,是检验实验教学的重要手段,也是高考录取的参考。做好理化生实验操作考试是端正考风、树立教育良好形象,为国选才的重要工作,事关维护社会稳定的大局。因此县教体局成立了以龙局长为组长的领导小组,精心策划、精选监考,制定了严密的实施方案。学校也制定了实施细则,对考试的流程进行了精心安排、对考试的药品、仪器和器材进行了认真检查和补充。 二、准备充分,要求严格,进行了认真的考务培训。 3月6日下午,县考管中心全体工作人员、xx中学的主考、副主考、监考和考试工作人员29人在xx中学小会议室进行了考务培训。会议组织学习了《考试通知》、《考试方案》、《监考职责》。

主考王彬校长做了动员讲话,县局刘书记强调了实验操作考试的极端重要性。会上主考与考管中心主任签订了责任书。会后分学科进行了监考培训、工作人员考务组织培训、抽签培训。学校还对考生进行了考前教育。 三、操作规范,公平公正,举行了统一的操作考试。 3月7日清晨,监考员和考务工作人员早早来到考点,做考前的最后准备工作,7:50第一组考生顺利完成抽签,分三科进入考场。每个考场安排一名主监考和六名副监考,每位副监考负责一道实验操作考试监考。考试进行了一整天,监考老师坚守岗位,认真监考,公平评判,始终如一。带队老师组织学生,先将每组学生(72人)随机分为三个学科小组,每个学科小组随机抽签决定考试试题,每道题由四人同时操作,整个考试过程井然有序。 四、总结及时,寻找差距,反馈了教学的得失建议。 理化生实验考试结束以后,学校抓住机遇,对实验教学中存在的问题进行及时整改、制定了实验管理元绩效考核办法和理化生科任教师实验教学考核办法,对仪器、药品、器材进行了普查补充,重新核定了各年级理化生学生实验、演示实验、探究实验教学目录,作为检查实验开出率的依据。

理化实验操作考试监考心得

2015年理化实验操作考试监考总结 平定县岔口中学梁文华 2015年5月,我有幸被平定县教育局选为中考化学实验操作考试监考教师,专门负责试题一、二两个实验的监考,在长达5天的时间里,看了成百上千名学生做实验的情况,感受颇深。 一、领导重视,师生落实 1.物理、化学实验考试是学生升学考试的一部分,对提高学生的操作能力有很大的意义。对学生的实验考试很有必要的。实验考试一直得到了上级领导的重视。在得到考试通知后,各学校领导高度重视,大力支持,从资金、时间、后勤上给予保证; 2.各学校教务处精心组织考务工作认真落实考务,监考教师上岗前都经过了培训; 3.实验教师及时清点器材认真准备,发现不足及时弥补; 4.上级领导安排井然有序,时间充裕; 5.在监考前夕,深感任务重大,但评分细则的详尽,带队领导的嘱咐,都使得实验考试的监考变得简单易行。 二、取得的成绩 1.考试成绩:总体来说成绩很好,大部分学生都能合格,满分比例也不小; 2.化学每个实验能够按照基本步骤完成,能对实验现象分析,能正确回答实验结果; 3.绝大多数同学的实验能力得到了提高,操作步骤正确; 4.学生很会整理器材,爱护仪器。 三、监考过程中发现的几点问题: 1.学生钻了评分细则的空子。每个学生在考试前都已经阅读并且看过相应的评分细则,甚至在练习实验时就是按照细则一步步进行的,而其他操作并没有规范,导致在监考过程中经常会出现这样的评价:你这儿不应该……,而应该……,但是由于评分细则中没有这一条,所以不扣分。这无形中放任了学生的错误。 2.抽签后依然让学生拿着资料复习。学生进实验室后,开考第一件事就是把所有答案填完整,更有学生,实验做错了,出现的现象跟预期的不一样,依然指鹿为马,把背好的答案填上。如试题二“物理变化与化学变化的探究”中,一个是水的沸腾实验,一个是NaOH溶液与CuSO4溶液的反应,有的同学不明原理,直接在沸腾的水中滴入两种溶液,形成了黑色不溶物CuO,孩子们看着黑色的沉淀,违心地告诉我:“老师,生成了蓝色沉淀!”这大大违背了化学科学探究以实验事实得结论的原则。 四、学生在考试过程中的失分点: 1.称量氯化钠时,在天平的两个托盘上各放一张称量纸,一定要注意,右盘也必须放; 2.用镊子取5克砝码,放在右托盘,然后用药匙向左托盘中加氯化钠,不可先加氯化钠,再放砝码;

实验操作考核工作总结

2016香积寺中学理化实验操作考核工作总结我校根据区教育局的组织安排,5月11号进行了九年级物理、化学实验操作考核,通过考核组的辛勤工作、共同努力,圆满地完成了实验操作考核工作。 一、统一认识,加强领导 校领导十分重视实验操作考核工作,组织了有关人员认真学习省、市文件。加大了实验操作考试宣传的力度,校领导在各种会议上都把实验操作考核工作作为重要内容加以强调,学校召开了相关教师会,落实布置了考务工作,将实验操作考核的有关精神向学生、家长、社会大力宣传,明确了分工,落实了责任。 二、精心策划、认真实施 (1)本学期开学我校进行了理科实验装备摸底调查,为学校补充了实验仪器,确保实验教学和考核工作能正常的进行。召开了理科实验教师及管理人员培训会,对理科实验教学及管理工作进行了培训,有效的提高了实验教师及管理人员的业务水平。 (2)制定了2016年实验操作考核实施办法。设置考点,所有学生在本校参加考试,以保证安全和不影响正常上课。重视实验操作考试,组织了学生考前训练,实验仪器准备充分,考试组织工作井然有序 (3)在学校抽调职业道德好、业务素质较高、责任心较强、在理化实验教学中有一定声望的理化教师、实验师,组成理化实验操作考核小组,对九年级毕业生进行了物理、化学实验操作考核。 三、统一标准,公正评分

考试教师的选聘和培训是实现公平公正考核的条件。因此,我们选聘的考试教师的基本条件是:师德高尚、责任心强、专业技术过硬、在学校有名望。由此组成了实验操作考核组,经过严格的实地培训,认真学习了《理化实验操作考核规则》、《监考教师职责》,明确了职责;仔细研究了试题及评分意见,制定出统一评分标准及实施细则,在考核中切实做到了给分有理、扣分有据,体现了公平公正的原则。 四、严肃纪律,确保安全 为保证考试的信度,严格了考试纪律,杜绝一切循私舞弊的违纪行为。整个考核过程由区督导室参与督查、督办,整个考核工作无一违纪、违规现象,确保了考试的公平公正和成绩的真实可。确保实验操作过程安全,没有出现任何安全事故,保证了整个考核工作万无一失。 五、效果明显,成绩喜人 由于各级领导和学校重视实验操作考核,组织工作完善,学校均由校长牵头,分管领导和相关教师具体组织学生参加考试,考核工作井然有序,学生操作熟练,动手能力普遍较强。 2016年5月

算法实验动态规划----矩阵连乘

实验三:动态规划法 【实验目的】 深入理解动态规划算法的算法思想,应用动态规划算法解决实际的算法问题。 【实验性质】 验证性实验。 【实验要求】 对于下列所描述的问题,给出相应的算法描述,并完成程序实现与时间复杂度的分析。该问题描述为:一般地,考虑矩阵A1,A2,…,An的连乘积,它们的维数分别为d0,d1,…,dn,即Ai的维数为di-1×di (1≤i≤n)。确定这n个矩阵的乘积结合次序,使所需的总乘法次数最少。对应于乘法次数最少的乘积结合次序为这n个矩阵的最优连乘积次序。按给定的一组测试数据对根据算法设计的程序进行调试:6个矩阵连乘积A=A1×A2×A3×A4×A5×A6,各矩阵的维数分别为:A1:10×20,A2:20×25,A3:25×15,A4:15×5,A5:5×10,A6:10×25。完成测试。 【算法思想及处理过程】

【程序代码】

printf ("\n\n矩阵连乘次数的最优值为:\n"); printf ("-----------------------------------------------\n"); print2 (0, 6-1, s); printf ("\n-----------------------------------------------\n\n"); return 0; } void MatrixChain (int p[], int m[][6], int s[][6], int n) { int i, j, k, z, t; for (i=0; i

顺序表的查找、插入与删除实验报告

《数据结构》实验报告一 学院:班级: 学号:姓名: 日期:程序名 一、上机实验的问题和要求: 顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求: 1.从键盘输入10个整数,产生顺序表,并输入结点值。 2.从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找 不到,则显示“找不到”。 3.从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插 入在对应位置上,输出顺序表所有结点值,观察输出结果。 4.从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。 二、源程序及注释: #include #include /*顺序表的定义:*/ #include #define ListSize 100 /*表空间大小可根据实际需要而定,这里假设为100*/ typedef int DataType; /*DataType可以是任何相应的数据类型如int, float或char*/ typedef struct { DataType data[ListSize]; /*向量data用于存放表结点*/ int length; /*当前的表长度*/ }SeqList; void main() { SeqList L; int i,x; int n=10; /*欲建立的顺序表长度*/ L.length=0; void CreateList(SeqList *L,int n); void PrintList(SeqList L,int n); int LocateList(SeqList L,DataType x); void InsertList(SeqList *L,DataType x,int i); void DeleteList(SeqList *L,int i);

南京邮电大学算法设计实验报告——动态规划法

实验报告 (2009/2010学年第一学期) 课程名称算法分析与设计A 实验名称动态规划法 实验时间2009 年11 月20 日指导单位计算机学院软件工程系 指导教师张怡婷 学生姓名丁力琪班级学号B07030907 学院(系) 计算机学院专业软件工程

实验报告 实验名称动态规划法指导教师张怡婷实验类型验证实验学时2×2实验时间2009-11-20一、实验目的和任务 目的:加深对动态规划法的算法原理及实现过程的理解,学习用动态规划法解决实际应用中的最长公共子序列问题。 任务:用动态规划法实现求两序列的最长公共子序列,其比较结果可用于基因比较、文章比较等多个领域。 要求:掌握动态规划法的思想,及动态规划法在实际中的应用;分析最长公共子序列的问题特征,选择算法策略并设计具体算法,编程实现两输入序列的比较,并输出它们的最长公共子序列。 二、实验环境(实验设备) 硬件:计算机 软件:Visual C++

三、实验原理及内容(包括操作过程、结果分析等) 1、最长公共子序列(LCS)问题是:给定两个字符序列X={x1,x2,……,x m}和Y={y1,y2,……,y n},要求找出X和Y的一个最长公共子序列。 例如:X={a,b,c,b,d,a,b},Y={b,d,c,a,b,a}。它们的最长公共子序列LSC={b,c,d,a}。 通过“穷举法”列出所有X的所有子序列,检查其是否为Y的子序列并记录最长公共子序列并记录最长公共子序列的长度这种方法,求解时间为指数级别的,因此不可取。 2、分析LCS问题特征可知,如果Z={z1,z2,……,z k}为它们的最长公共子序列,则它们一定具有以下性质: (1)若x m=y n,则z k=x m=y n,且Z k-1是X m-1和Y n-1的最长公共子序列; (2)若x m≠y n且x m≠z k,则Z是X m-1和Y的最长公共子序列; (3)若x m≠y n且z k≠y n,则Z是X和Y的最长公共子序列。 这样就将求X和Y的最长公共子序列问题,分解为求解较小规模的问题: 若x m=y m,则进一步分解为求解两个(前缀)子字符序列X m-1和Y n-1的最长公共子序列问题; 如果x m≠y n,则原问题转化为求解两个子问题,即找出X m-1和Y的最长公共子序列与找出X 和Y n-1的最长公共子序列,取两者中较长者作为X和Y的最长公共子序列。 由此可见,两个序列的最长公共子序列包含了这两个序列的前缀的最长公共子序列,具有最优子结构性质。 3、令c[i][j]保存字符序列X i={x1,x2,……,x i}和Y j={y1,y2,……,y j}的最长公共子序列的长度,由上述分析可得如下递推式: 0 i=0或j=0 c[i][j]= c[i-1][j-1]+1 i,j>0且x i=y j max{c[i][j-1],c[i-1][j]} i,j>0且x i≠y j 由此可见,最长公共子序列的求解具有重叠子问题性质,如果采用递归算法实现,会得到一个指数时间算法,因此需要采用动态规划法自底向上求解,并保存子问题的解,这样可以避免重复计算子问题,在多项式时间内完成计算。 4、为了能由最优解值进一步得到最优解(即最长公共子序列),还需要一个二维数组s[][],数组中的元素s[i][j]记录c[i][j]的值是由三个子问题c[i-1][j-1]+1,c[i][j-1]和c[i-1][j]中的哪一个计算得到,从而可以得到最优解的当前解分量(即最长公共子序列中的当前字符),最终构造出最长公共子序列自身。

理化实验操作考试监考心得

理化实验操作考试监考 心得 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

2015年理化实验操作考试监考总结 平定县岔口中学梁文华 2015年5月,我有幸被平定县教育局选为中考化学实验操作考试监考教师,专门负责试题一、二两个实验的监考,在长达5天的时间里,看了成百上千名学生做实验的情况,感受颇深。 一、领导重视,师生落实 1.物理、化学实验考试是学生升学考试的一部分,对提高学生的操作能力有很大的意义。对学生的实验考试很有必要的。实验考试一直得到了上级领导的重视。在得到考试通知后,各学校领导高度重视,大力支持,从资金、时间、后勤上给予保证; 2.各学校教务处精心组织考务工作认真落实考务,监考教师上岗前都经过了培训; 3.实验教师及时清点器材认真准备,发现不足及时弥补; 4.上级领导安排井然有序,时间充裕; 5.在监考前夕,深感任务重大,但评分细则的详尽,带队领导的嘱咐,都使得实验考试的监考变得简单易行。 二、取得的成绩 1.考试成绩:总体来说成绩很好,大部分学生都能合格,满分比例也不小; 2.化学每个实验能够按照基本步骤完成,能对实验现象分析,能正确回答实验结果; 3.绝大多数同学的实验能力得到了提高,操作步骤正确;

4.学生很会整理器材,爱护仪器。 三、监考过程中发现的几点问题: 1.学生钻了评分细则的空子。每个学生在考试前都已经阅读并且看过相应的评分细则,甚至在练习实验时就是按照细则一步步进行的,而其他操作并没有规范,导致在监考过程中经常会出现这样的评价:你这儿不应该……,而应该……,但是由于评分细则中没有这一条,所以不扣分。这无形中放任了学生的错误。 2.抽签后依然让学生拿着资料复习。学生进实验室后,开考第一件事就是把所有答案填完整,更有学生,实验做错了,出现的现象跟预期的不一样,依然指鹿为马,把背好的答案填上。如试题二“物理变化与化学变化的探究”中,一个是水的沸腾实验,一个是NaOH溶液与CuSO4溶液的反应,有的同学不明原理,直接在沸腾的水中滴入两种溶液,形成了黑色不溶物CuO,孩子们看着黑色的沉淀,违心地告诉我:“老师,生成了蓝色沉淀!”这大大违背了化学科学探究以实验事实得结论的原则。 四、学生在考试过程中的失分点: 1.称量氯化钠时,在天平的两个托盘上各放一张称量纸,一定要注意,右盘也必须放; 2.用镊子取5克砝码,放在右托盘,然后用药匙向左托盘中加氯化钠,不可先加氯化钠,再放砝码; 3.多余氯化钠应放入规定的“盛放多余氯化钠”的烧杯中,切不可放回原瓶; 4.将称好的氯化钠及时倒入烧杯中,避免之后的实验过程中,氯化钠洒在实验台上;

算法设计与分析实验报告

本科实验报告 课程名称:算法设计与分析 实验项目:递归与分治算法 实验地点:计算机系实验楼110 专业班级:物联网1601 学号:2016002105 学生姓名:俞梦真 指导教师:郝晓丽 2018年05月04 日

实验一递归与分治算法 1.1 实验目的与要求 1.进一步熟悉C/C++语言的集成开发环境; 2.通过本实验加深对递归与分治策略的理解和运用。 1.2 实验课时 2学时 1.3 实验原理 分治(Divide-and-Conquer)的思想:一个规模为n的复杂问题的求解,可以划分成若干个规模小于n的子问题,再将子问题的解合并成原问题的解。 需要注意的是,分治法使用递归的思想。划分后的每一个子问题与原问题的性质相同,可用相同的求解方法。最后,当子问题规模足够小时,可以直接求解,然后逆求原问题的解。 1.4 实验题目 1.上机题目:格雷码构造问题 Gray码是一个长度为2n的序列。序列无相同元素,每个元素都是长度为n的串,相邻元素恰好只有一位不同。试设计一个算法对任意n构造相应的Gray码(分治、减治、变治皆可)。 对于给定的正整数n,格雷码为满足如下条件的一个编码序列。 (1)序列由2n个编码组成,每个编码都是长度为n的二进制位串。 (2)序列中无相同的编码。 (3)序列中位置相邻的两个编码恰有一位不同。 2.设计思想: 根据格雷码的性质,找到他的规律,可发现,1位是0 1。两位是00 01 11 10。三位是000 001 011

010 110 111 101 100。n位是前n-1位的2倍个。N-1个位前面加0,N-2为倒转再前面再加1。 3.代码设计:

初中理化生实验操作考试小结

初中理化生实验操作考试小结 在县教育局的统一安排下,我校进行了初中毕业生实践能力考试(理化生实验操作考试)。初二年级的生物实验操作考试应参加的考生共有51人,其中因故未能参加考试的有4人;初三年级物理、化学实验操作考试应参加考试学生52人,实际参加考试52人。初二生物实验操作总平均分8.2分,初三物理实验操作总平均分8.8分,初三化学实验操作总平均分7.4分(均以实考人数计算)。初中生实践能力考试正式纳入初中学业水平考试有力推进了新课程的改革,有利于学生综合素质的提高,推动了素质教育的进一步发展。现就我校理化生实验操作考试情况小结如下: 1、本次实验操作考试能够严格按照《湘西自治州初中毕业生实践能力考试方案》的要求执行,学校成立了考试领导小组,分工明确。工作人员能够积极履行各自职责,一切为学生负责,一切为考试负责,做到了公平、公正。 2、实验教学得到了强化,学生实践能力有了明显提高。通过这次实验操作考试,我校理化生教师对实验教学有了更进一步的认识,充分认识到实验教学的重要性以及意义,实验教学得到了强化。学生动手能力有了明显提高,同时学生的学习兴趣得到了很好的培养。 3、存在的问题。在教育局相关领导的支持下,本次考试能够在我校顺利完成。但也存在一些问题,主要是学校实验设备缺乏。结合本次考试,我校实验操作考试存在以下问题: (1)实验室不足。现我校只有一间实验室,理化生共用。 这次考试临时腾出了两间教室作为考试用,没有实验桌,用课桌代替。(2)仪器配备不齐。本次初二生物实验操作考试至少需要12台显微镜,而我校尚欠4台(所欠4台仪器站借来我校)。 初三化学实验操作考试连试管架都不齐。 初中毕业生实践能力考试纳入中考是初中学业水平考试的一项重要改革,有利于实现新课改,有利于学生综合素质的提高,有力地推进了素质教育的全面发展。在我校将一如既往地搞好实验教学,努力改善实验教学硬件设施。 1/ 1

实验一数据结构顺序表的插入和删除

实验一顺序表的操作 1. 实验题目:顺序表的操作 2.实验目的和要求: 1)了解顺 序表的基本概念、顺序表结构的定义及在顺序表上的基本操作(插入、 删除、查找以及线性表合并 )。 2)通过在 Turbo C ( WinTc ,或 visual stdio6 )实现以上操作的 C 语言 代码。 3)提前了解实验相关的知识(尤其是 C 语 言)。 3.实验内容:(二选一) 1) 顺序表的插入算法, 删除算法, 顺序表的合并算法 2) 与线性表应用相关的实例( 自己选择具体实例) 4.部分参考实验代码: ⑴ 顺序表结构的定义: #include #define MAXLEN 255 typedef int ElemType; typedef struct { ElemType elem[MAXLEN]; int length; }sqList; ⑵ 顺序表前插(在第i 号元素前插入一个新的元素) int ListInsert(sqList *la,int i,int x) { int j; if(i<0||i>la-> length +1) { printf( “ n the value of i is wrong! ” ); return 0; } if(la-> length +1>=MAXLEN) { printf( “ n overflow! ” ); return 0; }

. for(j=la-> length;j>=i;j--) la->list[j+1]=la->list[j]; la->list[i]=x; la-> length ++; return 1; } ⑶ 顺序表删除 int ListDelete(sqList *la,int i) { if(i<0||i>la-> length ) { printf( “ return 0; n”); } for(i;i length;i++) la->list[i-1]=la->list[i]; la-> length --; return 1; } 5.附录:实验预备知识: ⑴ 复习 C 语言中数组的用法。 ⑵ 了解线性表和顺序表的概念,顺序表的定义方法; 线性表是n 个数据元素的有限序列,至于每个数据元素的具体含义,在不同的情况下各不相同。 顺序表是线性表的顺序存储表示,是用一组地址连续的存储单元依次存储线性表的数据元素。 在 C 语言中,顺序表是用数组来实现的。 ⑶ 掌握线性表在顺序存储结构上实现基本操作:查找、插入、删除和 合并的算法。 在实现这些算法的时候,要注意判断输入数据的合法性,除此之外还要要注意以下内容: 在实现查找的时候,首先要判断该顺序表是否为空,其次要判断查找后的结果(查到时输出查到的数据,未查到时给出未查到提 示)。 在实现插入的时候,首先要判断该顺序表是否为满,如为满则报错 (此时要注意:顺序表是用数组来实现的,它不能随机分配空 间);如不为满,则需判断要插入的位置是否合法(例如:如果 一个线性表的元素只有10 个,而要在第0 个元素前插入或在第 11 个元素后插入就为不合法)。其次要注意是前插还是后插,两

算法设计与分析---动态规划实验

《算法设计与分析》实验报告实验二递归与分治策略

Module 1: 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 59327 Accepted Submission(s): 20813 Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超过一米的范围内接住坠落的馅饼。现在给这条小径如图标上坐标: 为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在0-10这11个位置。开始时gameboy站在5这个位置,因此在第一秒,他只能接到4,5,6这三个位置中其中一个位置上的馅饼。问gameboy最多可能接到多少个馅饼?(假设他的背包可以容纳无穷多个馅饼) Input 输入数据有多组。每组数据的第一行为以正整数n(0

相关文档
相关文档 最新文档