中科大软院算法导论-第五次实验报告-最长公共子序列实验报告

中科大软院算法导论-第五次实验报告-最长公共子序列实验报告
中科大软院算法导论-第五次实验报告-最长公共子序列实验报告

第五次实验报告

——最长公共子序列的生成算法

1.1算法应用背景

最长公共子序列是一个序列S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则S称为已知序列的最长公共子序列。而最长公共子串(要求连续)和最长公共子序列是不同的。

最长公共子序列是一个十分实用的问题,它可以描述两段文字之间的“相似度”,即它们的雷同程度,从而能够用来辨别抄袭。对一段文字进行修改之后,计算改动前后文字的最长公共子序列,将除此子序列外的部分提取出来,这种方法判断修改的部分,往往十分准确。简而言之,百度知道、百度百科都用得上。

1.2算法原理

若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。

例:∑= {x, y, z} ,A = x y z y x z x z

x x x 是长度为3 的子序列

x z y z x 是长度为5 的子序列

例:A = x y z y x z x z,B = x z y x x y z x

x x x是长度为3 的公共子序列

x z y z 是长度为4 的公共子序列

x z y x x z 是长度为6 的最长公共子序列

1.3算法描述

记L n,m为序列A n和B m的最长公共子序列长度,则L i,j为序列A i和Bj的最长公共子序列的长度。根据最长公共子序列的性质,则得到:

阶段的划分和最长公共子序列长度的获取

第一阶段:计算A1和Bj的最长公共子序列的长度L1,j ,j=1,2,…m

第二阶段:计算A2和B j的最长公共子序列的长度L2,j, j=1,2,…m

第n 阶段:计算A n和B j的最长公共子序列的长度L n,j, j=1,2,…m

第n 阶段的L m,n便是序列A n和B m的最长公共子序列的长度

为了得到A n和B m最长公共子序列,设置一个二维的状态字数组s i,j,在上述每一个阶段计算L n,j过程中,根据公共子序列的性质则有按照如下方法把搜索状态登记于状态字s i,j中:s i,j =1 a i=b j

s i,j =2 a i≠b j L i-1,j>= L i,j-1

s i,j =3 a i≠b j L i-1,j< L i,j-1

设L n,m=k,S k=c1c2……c k是序列A n和B m的长度为k的最长公共子序列。最长公共子序列的搜索过程为状态字s n,m开始。搜索过程如下:

S m,n =1 a n=b m c k=a n下一个搜索方向是S n-1,m-1

S m,n =2 a i≠b j L i-1,j>= L i,j-1下一个搜索方向是S n-1,m

S m,n =3 a i≠b j L i-1,j< L i,j-1 下一个搜索方向是S n,m-1

递推关系:

若s i,j =1 则c k=a i,i=i-1,j=j-1,k=k-1

s i,j =2 a i≠b j 则i=i-1

s i,j =3 a i≠b j 则j=j-1

从i=n,j=m开始搜索,直到i=0或j=0结束,即可得到A n和B m的最长公共子序列。1.4程序实现及程序截图

1.4.1程序源码

#include

#include

#define MAXLEN 100

void LCSLength(char *x, char *y, char *z,int m, int n, int c[][MAXLEN], int b[][MAXLEN]) {

int i,j,k,len;

for(i = 0; i <= m; i++)

c[i][0] = 0;

for(j = 1; j <= n; j++)

c[0][j] = 0;

for(i = 1; i<= m; i++)

{

for(j = 1; j <= n; j++)

{

if(x[i-1] == y[j-1])

{

c[i][j] = c[i-1][j-1] + 1;

b[i][j] = 1;

}

else if(c[i-1][j] >= c[i][j-1])

{

c[i][j] = c[i-1][j];

b[i][j] = 2;

}

else

{

c[i][j] = c[i][j-1];

b[i][j] = 3;

}

}

}

i=m;j=n;k=len=c[i][j];

while ((i!= 0) &&(j != 0))

{ // printf("%d %d\n",i,j);

switch (b[i][j])

{

case 1: z[k]=x[i-1];k--;j--;

case 2:i--;break;

case 3:j--;break;

}

}

printf("最长公共子序列长度\n");

for (i=1;i<=m;i++){

for (j=1;j<=n;j++){

printf("%d ",c[i][j]);

}

printf("\n");

}

printf("最长公共子序列字符比较\n"); for (i=1;i<=m;i++){

for (j=1;j<=n;j++){

printf("%d ",b[i][j]);

}

printf("\n");

}

printf("最长公共子序列为:");

for (i=1;i<=len;i++)

{

printf("%c",z[i]);

}

printf("\n");

}

int main(int argc, char **argv)

{

char x[MAXLEN];

char y[MAXLEN];

char z[MAXLEN];

int b[MAXLEN][MAXLEN];

int c[MAXLEN][MAXLEN];

int m, n;

printf("请按照提示输入两个字符串\n");

printf("请输入第一个字符串:");

scanf("%s",x);

printf("请输入第二个字符串:");

scanf("%s",y);

printf("\n");

m = strlen(x);

n = strlen(y);

LCSLength(x, y, z, m, n, c, b);

return 0;

}

1.4.2程序截图

图1-1 最长公共子序列算法

中科大软件学院C+考试试卷

《面向对象编程技术》试卷 注:1)请将答案写在答题纸上,写在试卷上不算分。答题纸在试卷的最后页。 2)交卷时,试卷和答题纸一起交。 一、单选题 (每小题1.5分,共30分) 1. C++中,以下有关构造函数的叙述不正确的是 ______ 。 A. 构造函数名必须和类名一致 B. 构造函数在定义对象时自动执行 C. 构造函数无任何函数类型 D. 在一个类中构造函数有且仅有一个 2.以下叙述不正确的是 ______ 。 A. 在类的定义中,通常是成员变量描述对象的属性;用成员函数描述对象的行为 B. 类的一个成员只能具有一种访问控制属性 C. 构造函数和析构函数是特殊的成员函数,因此不允许重载 D. 通过对象只能访问类的公有成员 3. 以下关于虚函数的叙述不正确的是 ______ 。 A. 虚函数属于成员函数 B. 虚函数不允许说明成静态的 C. 凡是虚函数必须用virtual说明 D. 虚函数可以被继承 4. cout是I0流库预定义的______ 。 A.类 B. 对象 C. 包含文件 D. 常量 5.面向对象程序设计中的数据隐藏指的是______ 。 A.输入数据必须输入保密口令 B.数据经过加密处理 C. 对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性6.拷贝(复制)构造函数的作用是______ 。 A.进行数据类型的转换 B.用对象调用成员函数 C.用对象初始化对象D.用一般类型的数据初始化对象 7. 下列不是描述类的成员函数的是______ 。 A.构造函数 B.析构函数 C.友元函数 D.拷贝构造函数 8. 如果类A被说明成类B的友元,则______ 。 A. 类A的成员即类B的成员 B. 类B的成员即类A的成员 C. 类A的成员函数不得访问类B的成员 D. 类B不一定是类A的友元 9. 对于任何一个类,析构函数最多有______ 个。 A. 0 B. 1 C. 2 D. n 10. 下列特性中,C与C++共有的是______ 。 A.继承 B.封装 C.多态性 D.函数定义不能嵌套 11. 在公有继承的情况下,基类公有和保护成员在派生类中的访问权限______ 。 A. 受限制 B. 保持不变 C. 受保护 D. 不受保护 12. 通过______ 调用虚函数时,采用动态束定。 A. 对象指针 B. 对象名 C. 成员名限定 D. 派生类名 13. C++ 类体系中,不能被派生类继承的有______ 。 A. 成员转换函数 B. 构造函数 C. 虚函数 D. 静态成员函数 14. 假定 ab 为一个类,则执行 ab x;语句时将自动调用该类的______ 。 A. 有参构造函数 B. 无参构造函数 C. 拷贝构造函数 D. 赋值构造函数 15. 静态成员函数不能说明为______ 。 A. 整型函数 B. 浮点函数 C. 虚函数 D. 字符型函数 16. 在 C++ 中,数据封装要解决的问题是______ 。 A. 数据规范化排列 B. 数据高速转换 C. 避免数据丢失 D. 保证数据完整性

实验报告封面

(此文档为word格式,下载后您可任意编辑修改!) 建筑材料试验报告 专业: 班级: 学号: 姓名: 成绩:

河南城建学院 土木工程与材料工程系建材实验 序言 实验报告是实验者最后交出的成果,是对实验资料的总结,因此应按照要求(具体见实验规则)及时认真地书写。 本报告册中带*的项目专科生不作要求。实验报告中的“问题分析”项目主要包括本实验误差产生的原因分析(误差过大时才书写)、在实验中所观察到的异常现象及其产生原因分析等内容。主义论据要清晰明了,没有问题则不要勉强。 附:实验报告评分标准

建材实验室 2010年11月 目录 1、材料密度试验…………………………………………… (1) 2、材料表观密度试验…………………………………… (4)

3、材料堆积密度试 验 (7) 4、水泥细度试验…………………………………………… (10) 5、砂的筛分析试验………………………………………… (13) 6、混凝土拌合物试验……………………………………… (17) 7、混凝土抗压强度试验…………………………………… (21) 8、混凝土抗折强度试验…………………………………… (24) 9、混凝土劈裂抗拉强度试验……………………………… (27) 10、水泥胶砂试件成型试验………………………………… (30) 11、水泥胶砂强度试验……………………………………… (32) 12、沥青试样制备试验………………………………………

(36) 13、沥青针入度试验………………………………………… (38) 14、沥青延度试验…………………………………………… (41) 15、沥青软化试验…………………………………………… (44) 16、钢筋试验………………………………………………… (47) 17、新拌筑砂浆试验………………………………………… (52) 18、砂浆抗压强度试验……………………………………… (55) 19、普通粘土砖试验………………………………………… (59) 20、水泥净浆的SEM实验(设计 性)…………………………… 21、水泥稠度凝结时间安定性(设计 性)…………………………

大数据算法实验教学大纲

《大数据算法》实验教学大纲 大纲制定(修订)时间: 2017 年 11 月课程名称:《大数据算法》课程编码:0 课程类别:专业基础课课程性质:选修 适用专业:通信工程 课程总学时:40 实验(上机)计划学时: 8 开课单位:理学院 一、大纲编写依据 1.信息与计算科学2017-2020版教学计划; 2.信息与计算科学专业《大数据算法》理论教学大纲对实验环节的要求。 二、实验课程地位及相关课程的联系 1.《大数据算法》是信息与计算科学专业的一门专业方向课程;

2.本实验项目是《大数据算法》课程综合知识的运用; 3. 大数据不论在研究还是工程领域都是热点之一,算法是大数据管理与计算的核心主题,通过上机实验,不仅巩固学生在课堂上所学的知识,加深对大数据算法的理解,更重要的是通过实验题目,提高学生的动手能力,增强学生就业的竞争力; 4.本实验为后续的毕业设计有指导意义。 三、本课程实验目的和任务 1.理解大数据算法的基本理论,训练运用大数据思想对实际问题进行分析、设计、实践的基本技术,掌握科学的实验方法; 2.培养学生提炼、分析问题和独立解决问题的能力; 3.通过实验使学生能够正确使用一种大数据算法环境; 4.通过综合性、设计性实验训练,使学生初步掌握简单的概率算法、I/O有效算法、并行算法的设计方法; 5.培养正确记录实验数据和现象,正确分析算法性能的能力,以及正确书写实验报告的能力。 四、实验基本要求 1.实验项目的选定依据教学计划对学生实践能力培养的要求;

2.巩固和加深学生对大数据算法设计与分析方法的理解,提高学生结合运用所学知识解决问题的能力; 3.实验项目要求学生掌握大数据算法基本知识、MapReduce简单编程技术,并运用相关知识自行设计实验方案,完成解决一定问题的小型程序。 4.通过实验,要求学生做到: (1)能够预习实验,自行设计实验方案,并撰写实验报告; (2)学会一种大数据算法开发环境的使用,能利用该环境编制简单的外存有效的算法以及并行算法,验证课程中涉及的知识点,并独立设计算法解决某一实际问题; (3)能够独立分析程序运行结果,分析算法性能。 五、实验内容和学时分配

中科大软院数据库考试题

一、给定关系 R(A,B) 和 S(B,C) ,将下面的关系代数表达式转换为相应的SQL语句: π (attribute-list) [ (condition) [ R ? S ] ] 二、Megatron 747 磁盘具有以下特性: 1)有8个盘面和8192个柱面 2)盘面直径为英寸,内圈直径为英寸 3)每磁道平均有256个扇区,每个扇区512字节 4)每个磁道10%被用于间隙 5)磁盘转速为 7200 RPM 6)磁头启动到停止需要1ms,每移动500个柱面另加1ms 回答下列有关Megatron 747的问题(要求写出式子并且计算出结果,精确到小数点后两位): 1)磁盘容量是多少GB 2)如果一个块是8KB,那么一个块的传输时间是多少ms 3)平均寻道时间是多少ms 4)平均旋转等待时间是多少ms 三、下面是一个数据库系统开始运行后的undo/redo日志记录,该数据库系统支持simple checkpoint (1)(2)(3) 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 设日志修改记录的格式为 ,(1)、(2)、(3)为三种故障情形下磁盘日志内容,请分别给出这三种情况下数据库系统的恢复过程以及数据元素A, B, C, D, E, F和G 在执行了恢复过程后的值。

动态规划解找零钱问题实验报告

一、实验目的 (1)熟练掌握动态规划思想及教材中相关经典算法。 (2)掌握用动态规划解题的基本步骤,能够用动态规划解决一些问题。二、实验内容与实验步骤 (1)仔细阅读备选实验的题目,选择一个(可选多个)作为此次实验题目,设计的程序要满足正确性,代码中有关键的注释,书写格式清晰,简洁易懂,效率较高,利用C++的模板,设计的程序通用性好,适合各种合理输入,并能对不合理输入做出正确的提示。 (2)可供选择的题目有以下2个: (i)找零钱问题(难度系数为3) ★问题描述 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱,可以实用的各种面值的硬币个数不限。当只 用硬币面值T[1],T[2],…,T[i]时,可找出钱数j的最少硬币个数记为 C(i,j)。若只用这些硬币面值,找不出钱数j时,记C(i,j)=∞。 ★编程任务 设计一个动态规划算法,对1≤j≤L,计算出所有的C( n,j )。算法中只允许实用一个长度为L的数组。用L和n作为变量来表示算法的 计算时间复杂性 ★数据输入 由文件input.txt提供输入数据。文件的第1行中有1个正整数n (n<=13),表示有n种硬币可选。接下来的一行是每种硬币的面值。由 用户输入待找钱数j。 ★结果输出 程序运行结束时,将计算出的所需最少硬币个数输出到文件output.txt中。 输入文件示例输出文件示例 input.txt output.txt 3 3 1 2 5 9

三、实验环境 操作系统 Windows 7 调试软件 VC++6.0 上机地点 综合楼211 四、问题分析 (1) 分析要解决的问题,给出你的思路,可以借助图表等辅助表达。 答:这个问题用动态规划来解,归结到动态规划上面就变成了无限背包问题(因为收银台的硬币默认是无穷的,但一种改进版本可以考察有限硬币的情况)。区别在于,现在我们需要求一个最少的硬币数而不是最大值。但是选择的情况也是相同的,即每次选择都可以选择任何一种硬币。 首先,找零钱问题具有最优子结构性质: 兑换零钱问题的最优子结构表述:对于任意需要找的钱数j ,一个利用T[n]中的n 个不同面值钱币进行兑换零钱的最佳方案为P(T(1),j),P(T(2),j),...,P(T(n),j),即此时的最少钱币个数 ∑==n 1j) P(T (k),),(k j n C ,则 P(T(2),j),...,P(T(n),j)一定是利用T[n]中n 个不同的面值钱币对钱数 j=j-P(T(1),j)* T(1)进行兑换零钱的最佳方案。 其次,找零钱问题具有重叠于问题性质: a)当n=1时,即只能用一种钱币兑换零钱,钱币的面值为T[0],有 b)当n>1时, 若j>T[n],即第n 种钱币面值比所兑换零钱数小,因此有} 1])[,({),(m in 1+-=≤≤k T j n C j n C n k 。当k 为n)i (1k 0≤≤时,C(n,j)达到最小 值,有P(T(k0),j)=P(T(0k ),j-T(0k ))+1 若j=T[n],即用n 种钱币兑换零钱,第n 种钱币面值与兑换零钱数j 相等,此时有C(n,j)=C(n,T[n])=1; { ] [,1] [,0])[,(),(n T i n T i n T i P j i P =≠= = 若j

Java弹球游戏实验报告—chen汇总

课程设计报告 题目弹球小游戏 姓名方成 学号20 专业java 指导教师陈华恩 2013年12 月30

目录 一、实验目的 (2) 二、需求分析 (2) 三、实验任务 (2) 1、设计 (3) 2、程序要求: (3) 3、选作题: (3) 四、开发工具与平台 (3) 五、设计思路 (3) 1、界面设计 (3) 2、逻辑设计 (3) 3、程序测试 (4) 六、实验总结 (5) 七、程序代码 (5) 八、参考文献 (11) 1.《疯狂java讲义》 (12) 2.《算法导论》 (12) 3.《java编程思想》 (12)

一、实验目的 1、熟练掌握java面向对象编程。 2、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 3、掌握timer类的灵活使用 4、培养独立查找资料,并解决问题的能力。 二、需求分析 经典的碰撞球是一个的古老游戏,目的是在训练人的反应能力。只有通过把所有的砖块消除完,才能顺利的完成任务。游戏要求如下: 1、实现球速度的随机性 2、实现球碰撞到边缘或者砖块自动反弹 3、实现游戏可以随时暂停 4、实现游戏结束后能重新开始游戏 三、实验任务 1、设计 设计并编程实现弹球程序:用户能通过菜单或者按钮新增一小球,该小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的菜单或者按钮功能。(2)使用timer,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 3、选作题: (1)实现奖励机制及关卡机制 四、开发工具与平台

地质雷达实验报告封面报告

地质雷达实验报告封面 报告 Document number:PBGCG-0857-BTDO-0089-PTT1998

地质雷达实验报告 成绩: 系别:资源勘查与土木工程系 专业班级: 姓名: 学号: 指导教师: 年月日

实验项目名称:地质雷达的操作及应用 同组学生姓名: 实验地点:结构检测实验室91110 实验日期:年月日 实验目的 (1)了解地质雷达基本构造、性能和工作原理。 (2)掌握地质雷达的操作步骤和使用方法。 实验原理及方法 通过发射天线向地下发射宽频带高频电磁波。在传播过程中,当遇到存在电性差异的地下介质或目标体时,雷达波会发生反射返回地面,并由接收天线接收,并以波或图像的形式,存储在电脑中。 仪器设备 OKO-2俄罗斯地质雷达。

实验步骤 (1)连好数据线; (2)打开主机和天线上的电源开关; (3)运行采集软件; (4)设置参数; (5)数据采集并保存数据; (6)关机、拆线。 数据处理 主要包括两个方面:即增益和滤波。增益的目的是放大深部信号的增幅,使较弱的信号能被识别,滤波的种类很多,一般包括中值滤波、平均值滤波、带通滤波和巴特沃斯带通滤波等等。 注意事项 在运用雷达过程中,须掌握雷达工作的三个重要参数:环境电导率、介电常数和探测频率。 环境电导率σ是表征介质导电能力的参数,它决定了电磁波在介质中的穿透深度,其穿透深度随电导率的增加而减小,当介质的电导率σ>10-2S/m时,电磁波衰减极大,难于传播,雷达方法不宜使用,如:湿粘土、湿页岩、海水、海水冰、湿沃土、金属物等。

介电常数是影响应用效果的另一个重要因素,它决定了高频电磁波在介质中的传播速度,并且反射信号的强弱也取决于介电常数的差异。电磁波在介质中的传播速度可采用下式近似考虑: r C V ε≈ 式中: C ─ 电磁波在真空中的传播速度,C =ns (光速), r ε─ 介质的相对介电常数。 介质的介电常数主要受介质的含水量以及孔隙率的影响,相对介电常数与水含量的关系曲线,相对介电常数的范围为:1(空气)~81(水),多数干燥的地下介质,其相对介电常数值均小于10。 探测频率不但是制约探测深度的一个关键因素,同时也决定了探测的分辨率;探测频率越高,探测深度越浅,探测的垂直分辨率和水平分辨率越高。高频 电磁波在传播过程中发生衰减,其衰减的程度随电磁波频率的增加而增加,这也是造成探测频率越高,探测深度越浅的原因。因此,在实际工作时,必须根据目标体的探测深度选用合理的探测频率。 附图(不少于6张图片)

(完整版)中科大软院常见复试题目.doc

1.ipv4 的替代方案; 2.单链表原地逆向转置; 3.折半查找算法 4.简述操作系统中系统调用过程; 5.在数据库中什么是关系,它和普通二维表啥区别; 6.什么是原子操作; 7.路由协议有哪些; 8.进程的三种状态,以及之间转换的过程; 9.快速排序的基本过程; 10.什么叫视图?视图在数据库的第几层; 11.二叉树的搜索; 12.什么叫冲突?解决冲突的办法都有哪些; 13.java 与 C++区别; 14.深度、广度搜索的过程; 15.迪杰斯克拉算法的过程; 16.关系模式和关系; 17.数据链路停发协议,就是流量控制; 18.虚拟存储器及相关算法;段存储器; 19.进程线程树图; 20.传输等待协议; 21.堆栈排序及其与快速排序的不同; 22.386 的保护模式是什么; 23.页表; 24.ER图; 25.关系范式 26.链表查询某个元素,平均时间复杂度是多少; 27.路由协议有哪些; 28.网络服务质量包括哪些方面; 29.并发控制是为了保证事务的?; 30.什么是 DMA; 31.两个时钟不同步的设备怎么通信; 32.操作系统的调度算法有哪些; 33.单链表的原地逆置算法 34.数据库的两级模式以及它们的关系和作用(貌似是这样) 35.操作系统的进程调度算法有哪些,并介绍其中两种 36.计算机的一条指令有几个机器周期,为什么 37.原子操作, pv 操作的要点和注意事项 38.内核、芯片(记不清了) 39.DMA控制器的组成和工作原理 40.简述最短路径的迪杰斯特拉算法 41.什么是 P 操作与 V 操作。 42.一个深度为 N的满二叉树有多少个结点。 43.实现一个队列的方法 44.折半查找调节与时间复杂度

重庆大学算法导论跳桩得珠宝问题项目报告(包含报告和源代码)

重庆大学项目报告 项目题目:跳桩得珠宝问题 学院: 专业班级:计科 年级:2011级 姓名: 学号: 完成时间:2013 年 6 月7 日指导教师:陈波 重庆大学教务处制

项目报告正文 一.问题描述 有m排n列的柱桩,每一排的柱桩从左向右标号为1,2,…,n,且在每个柱桩上预先放好价值不一样的宝石。现在有位杂技演员从第一排的第1号柱桩开始跳跃,每次都必须跳到下一排的柱桩上,且每次跳跃最多只能向左或向右移动一个桩子。也就是说如果现在杂技演员站在第j号桩上,那么他可跳到下一排的第j号桩上,也可跳到下一排的第j-1 (if j>1)或者j+1 (if j

算法导论实验

《算法导论》课程实验报告 (院)系数理系 _ _____ 专业 ______ _信息与计算科学________ ____ 班级信科1001班 学号_ 20 08 15__ 学生姓名刘俊伟_ 曹玮王舒斌 指导教师_ 阳卫锋 ______ _____

《算法导论》实验指导书 实验目标 通过实验,使同学掌握并能熟练运用散列表、贪心算法、动态规划算法。 实验三计数排序 实验目的:掌握利用计数排序进行排序。 实验内容:对数组利用计数排序进行排序。 实验要求: 1)利用计数排序法。 2)记录每一步数组的中元素的变化 代码: import java.awt.BorderLayout; import java.awt.Button; import https://www.360docs.net/doc/bc4361982.html,ponent; import java.awt.Frame; import https://www.360docs.net/doc/bc4361982.html,bel; import java.awt.Panel; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Area; import javax.swing.Box; import javax.swing.JFrame; class CountingSort extends Frame { public static void main(String[] args) { new CountingSort().lauchFrame(); } private void lauchFrame() { Frame f = new JFrame("计数排序"); f.setBounds(350, 150, 600, 300);

中科大考博辅导班:2019中科大软件学院考博难度解析及经验分享

中科大考博辅导班:2019中科大软件学院考博难度解析及经验分享中国科学院大学2019年博士研究生招生统一实行网上报名。报考者须符合《中国科学院大学2019年招收攻读博士学位研究生简章》规定的报考条件。考生在报考前请联系所报考的研究所(指招收博士生的中科院各研究院、所、中心、园、台、站)或校部相关院系,了解具体的报考规定。 下面是启道考博辅导班整理的关于中国科学技术大学软件学院考博相关内容。 一、院系简介 中国科学技术大学是中国科学院直属的唯一院校,是一所以前沿科学和高新技术为主、科技人文与科技管理兼备的综合性全国名校,为国家教育重点建设的9所世界知名高水平研究型大学之一,在国际上享有较高的声誉。学校力争在2018年建校60周年前后,把学校建设成为“规模适度、质量优异、结构合理、特色鲜明”的世界知名的高水平研究型大学。目前,校本部共有10个学院、25个系和少年班,43个本科专业;一级学科博士学位授权点17个,国家重点学科19个,二级学科博士学位授权点89个,二级学科硕士学位授权点105个,有工商管理(MBA)、公共管理(MPA)和工程硕士3个专业硕士学位授权点;17个博士后流动站,45个博士后流动站专业,具备培养学士、硕士、博士的完整教育体系。其严谨务实的学风、创新探索的精神、高水平级的成果、国际化办学的追求,都使得这所年轻的研究型大学受到国际社会越来越强的关注 二、招生信息 中国科学技术大学软件学院博士招生专业有1个: 085271电子与信息 研究方向:不区分研究方向 三、报考条件 (1)中华人民共和国公民;拥护中国共产党的领导,愿意为祖国社会主义现代化建设服务;品德良好,遵纪守法,学风端正,无任何考试作弊、学术剽窃及其它违法违纪行为; (2)身体健康状况符合我校规定的体检要求,心理正常; (3)申请者原则上应来自国内重点院校或所在高校学习专业为重点学科; (4)专业基础好、科研能力强,在某一领域或某些方面有特殊学术专长及突出学术成果; (5)对学术研究有浓厚的兴趣,有较强的创新意识、创新能力和专业能力;

数据库原理实验报告2012

《数据库原理》实验报告书 班级: 学号: 姓名: 指导教师: 实验成绩: 中南林业科技大学涉外学院理工系

目录 数据库原理实验安排 (3) 实验一数据库和表的建立、数据操作 (4) 实验二 SQL语言的使用 (9) 实验三完整性、安全性实现 (16) 实验四数据库编程 (18) 附录一SQL Server的安装 (20)

数据库原理实验安排 一、实验目的 通过实验,使学生熟悉并掌握数据库的基本概念、基本原理、和基本技术;能够应用这些理论和技术设计合理的数据库;更重要的是通过教学活动,使学生能够把与数据库相关的先修后继知识融会贯通,初步具有开发完整可用的数据库系统的能力。 二、实验安排 本门课程共分4个实验,8学时 实验一数据库和表的建立、数据操作 2学时 实验二 SQL语言的使用2学时 实验三完整性、安全性实现 2学时 实验四数据库编程 2学时 三、实验考核 实验成绩通过实验报告及每次实验后的验机给出,每次实验结束后都必须写出实验报告。

实验一数据库和表的建立、数据操作 一、实验目的: 掌握使用SQL语言进行数据定义和数据操纵的方法。 二、实验要求: 建立一个数据库stumanage,建立三个关系表students,course,grade。向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。 三、实验步骤: 1、在SQL Server中输入本机器的名字,选择“windows身份验证”。点击确定连接SQL Server数据库服务器。 2、新建查询分析器。 3、在查询分析器中输入SQL语句------建立数据库stumanage。然后单击上面的绿色三角形右箭头。下部的空白区显示该语句的运行情况。 4、选择数据库stumanage为当前数据库。 5、如下图建立表students: 列名数据类型允许空主键说明 (1) sno Char(8) 否是学号 (2) sname Varchar(20) 是否姓名 (3) sex Char(2) 是否性别 (4) dept Varchar(20) 是否所在系 如下图建立表:course 列名数据类型允许空主键说明 (1) cno Char(6) 否是课程号 (2) cname Varchar(20) 是否课程名 如下图建立表sc:(注:包括两个外键,sno和cno共同组成主键)列名数据类型允许空主键外键说明 (1) sno Char(8) 否是 students(sno) 学号 (2) cno Char(6) 否是 course(sno) 课程号 (3) grade int 否否否成绩 6、使用SQL语句完成建表操作并以截屏的方式将建表操作过程粘贴在下方表格中。

中科大实验报告封面

中科大实验报告封面 篇一:中科大地图导航(实验报告) 中科大地图导航 一,科大西区地图的构建与表示: (1)、物理地图的抽象表达 地图选择:科大西区地图 节点数:12 边数:15 地点信息:地点名,时间,简介,街道名,街道长度(权值) 注释:该图为对科大地图抽象的结果。 1 / 11 各顶点信息(地点信息和边信息严格按原地图制作,故直接见地图): 1 :北门2:圆盘岔路口 3:东路岔路口 4:核科学院 5:生命科学院 6:西区学生活动中心 7:校车站 8:电三楼9:火灾重点实验室 10:南环路岔路口11:国家同步实验室。(计算机中表示顶点号要减去1) (2)、地图信息的计算机信息表达 图文件节点代码(采用邻接表方式存储): 图信息定义于“节点定义.h”中,用于底层数据类型支持,其中重载了图的输入输出运算符,图中的节点和边的比

较与赋值运算符等。 #define MAX_VERTEX_NUM 20 typedef struct InfoType //边信息 { int length; char* name; }InfoType; typedef struct VertexType//地点信息 { char* name; char* time; char* scribe; VertexType& operator =(VertexType& b); }VertexType; typedef struct ArcNode //边 { int adjvex; *nextarc; 2 / 11 ArcNode InfoType *info; ArcNode& operator =(ArcNode& b); }ArcNode; typedef struct VNode //图的邻接表 { VertexType* data; ArcNode *firstarc; VNode& operator=(VNode& a); }VNode,AdjList[MAX_VERTEX_NUM];

实验报告

实验三:苯酚的紫外光谱绘制及定量测定 姓名:黄日权学号:20120010007 一、实验目的 1. 了解紫外可见分光光度计的基本原理; 2. 学习并掌握紫外可见分光光度计的基本操作; 3. 掌握紫外可见吸收光谱的绘制和定量测定方法。 二、实验原理 分子的紫外可见吸收光谱是由于分子中的某些基团吸收了紫外可见辐射光后,发生了电子能级跃迁而产生的吸收光谱。它是带状光谱,反映了分子中某些基团的信息。可以用标准光谱图再结合其它手段进行定性分析。 根据物质对紫外-可见光吸收的吸光度与物质含量符合Lambert-Beer(朗伯—比尔)定律:A=εbc,(A为吸光度,ε为摩尔吸光系数,b为液池厚度,c为溶液浓度),因此,可以对物质进行定量分析。 在紫外-可见吸收分光光度分析中,必须注意溶液的pH 值的影响。因为溶液的pH 值不但有可能影响被测物吸光强度,甚至还可能影响被测物的峰位形状和位置。酚类化合物就有这一现象,例如苯酚在溶液中存在如下电离平衡: 苯酚在紫外区有三个吸收峰,在酸性或中性溶液中,λmax 为196.3nm,210.4nm 和269.8nm;在碱性溶液中λmax 位移至207.1nm,234.8nm 和286.9nm。下图为0.021g/L 的苯酚分别在0.010mol/L 盐酸溶液与氢氧化钠溶液中的紫外吸收光谱。由图可知,在盐酸溶液与氢氧化钠溶液中,苯酚的紫外吸收光谱有很大差别,所以在用紫外可见吸收分光光度分析苯酚时应加缓冲溶液,本实验是通过加氢氧化钠强碱溶液来控制溶液pH 值的。

三、仪器和试剂 1、仪器:(1)UV-1700 型紫外可见分光光度计;(2)1.00cm石英比色皿2个;(3)50mL 容量瓶8 个;(4)5mL、10mL移液管各1 支;(5)100mL、250mL 烧杯各1 个;(6)吸耳球1 个。 2、试剂:(1)苯酚标准溶液: 100mg/L;(2)10% NaOH 溶液 四、实验操作 1、配置系列标准溶液:准确移取100mg/L 的苯酚标准溶液0.00(1 号)、2.00(2 号)、4.00(3 号)、6.00(4 号)、8.00(5 号)、10.00mL(6 号)分别置于50 ml 容量瓶中,各加10 滴10%的NaOH 溶液,并用蒸馏水稀释至刻度,摇匀。 2、绘制吸收曲线:用1cm 石英比色皿,以NaOH 空白溶液为参比,在200~330nm 范围内,测量系列标准溶液中的 3 号(或 4 号)的吸光度A,绘制吸收曲线,找出最大吸收波长λmax 。 3、绘制标准工作曲线:用1cm 石英比色皿,以NaOH 空白溶液为参比,在选定的最大吸收波长λmax 下分别测定标准系列样品的吸光度,绘制标准工作曲线。 4、测定未知溶液:取未知夜10.00mL 置于50.00mL 容量瓶中,加10 滴10%的NaOH 溶液,用蒸馏水稀释至刻度;以NaOH 空白溶液为参比,用1cm 的比色皿在最大吸收波长处测定吸光度A。 5、计算未知溶液的含量(mg/mL)。 6、配制0.1mg/mL 的苯酚水溶液,以空白溶液为参比,用1cm 石英比色皿测定其吸光 度A,绘制吸收曲线,比较其余步骤(2)所得吸收曲线的差别,并说明理由。 五、实验报告及要求 1、绘制苯酚碱性溶液的标准工作曲线; 图一. 苯酚碱性溶液的标准工作曲线

中科大软院金老师的数据库实验一

第一次实验报告 1、实验任务 根据下面的需求描述,使用Sybase Power Designer设计相应的数据库概念模型,并转换成Oracle或MS SQL Server上的物理数据库结构: 某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求: 银行有多个支行。各个支行位于某个城市,每个支行有唯一的名字。银行要监控每个支行的资产。银行的客户通过其身份证号来标识。银行存储每个客户的姓名及其居住的街道和城市。客户可以有帐户,并且可以贷款。客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。银行员工也通过身份证号来标识。员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。每个支行的管理机构存储每个员工的姓名、电话号码、家庭地址及其经理的身份证号。银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。银行提供两类帐户——储蓄帐户和支票帐户。帐户可以由2个或2个以上客户所共有,一个客户也可有两个或两个以上的帐户。每个帐户被赋以唯一的帐户号。银行记录每个帐户的余额、开户的支行以及每个帐户所有者访问该帐户的最近日期。另外,每个储蓄帐户有其利率,且每个支票帐户有其透支额。每笔贷款由某个分支机构发放,能被一个或多个客户所共有。每笔贷款用唯一的贷款号标识。银行需要知道每笔贷款所贷金额以及逐次支付的情况(银行将贷款分几次付给客户)。虽然贷款号不能唯一标识银行所有为贷款所付的款项,但可以唯一标识为某贷款所付的款项。对每次的付款需要记录日期和金额。

2、实验过程 (1)确定实体和属性 由上面的需求描述我们可以很容易得出以下几个实体: ●员工(身份证号,姓名,电话号码,家庭地址,开始工作日 期) ●存储账户(账户号,余额,利率) ●支票账户(账户号,余额,透支额) ●客户(身份证号,姓名,街道,城市) ●支行(支行名称,城市,资产) ●贷款(贷款号,总额) ●支付(日期,金额) 图1 PS: 1、在此ER图中我没有设计账户类,然后派生出存储账户和支票账户,因为在客户的需求中,只有两种账户类型,除了支票账户类型就是存储账户类型,没有所谓的“一般的账户”,所以就不

重庆大学算法导论跳桩得珠宝问题项目报告(包含报告和源代码)

大学项目报告 项目题目:跳桩得珠宝问题 学院: 专业班级:计科 年级:2011级 姓名: 学号: 完成时间:2013 年 6 月7 日指导教师:波 大学教务处制

项目报告正文 一.问题描述 有m排n列的柱桩,每一排的柱桩从左向右标号为1,2,…,n,且在每个柱桩上预先放好价值不一样的宝石。现在有位杂技演员从第一排的第1号柱桩开始跳跃,每次都必须跳到下一排的柱桩上,且每次跳跃最多只能向左或向右移动一个桩子。也就是说如果现在杂技演员站在第j号桩上,那么他可跳到下一排的第j号桩上,也可跳到下一排的第j-1 (if j>1)或者j+1 (if j

算法导论第二章答案

第二章算法入门 由于时间问题有些问题没有写的很仔细,而且估计这里会存在不少不恰当之处。另,思考题2-3 关于霍纳规则,有些部分没有完成,故没把解答写上去,我对其 c 问题有疑问,请有解答方法者提供个意见。 给出的代码目前也仅仅为解决问题,没有做优化,请见谅,等有时间了我再好好修改。 插入排序算法伪代码 INSERTION-SORT(A) 1 for j ← 2 to length[A] 2 do key ←A[j] 3 Insert A[j] into the sorted sequence A[1..j-1] 4 i ←j-1 5 while i > 0 and A[i] > key 6 do A[i+1]←A[i] 7 i ←i ? 1 8 A[i+1]←key C#对揑入排序算法的实现: public static void InsertionSort(T[] Input) where T:IComparable { T key; int i; for (int j = 1; j < Input.Length; j++) { key = Input[j]; i = j - 1; for (; i >= 0 && Input[i].CompareTo(key)>0;i-- ) Input[i + 1] = Input[i]; Input[i+1]=key; } } 揑入算法的设计使用的是增量(incremental)方法:在排好子数组A[1..j-1]后,将元素A[ j]揑入,形成排好序的子数组A[1..j] 这里需要注意的是由于大部分编程语言的数组都是从0开始算起,这个不伪代码认为的数组的数是第1个有所丌同,一般要注意有几个关键值要比伪代码的小1. 如果按照大部分计算机编程语言的思路,修改为: INSERTION-SORT(A) 1 for j ← 1 to length[A] 2 do key ←A[j] 3 i ←j-1

(完整版)实验报告封面

建筑材料试验报告 专业: 班级: 学号: 姓名: 成绩:

河南城建学院 土木工程与材料工程系建材实验 序言 实验报告是实验者最后交出的成果,是对实验资料的总结,因此应按照要求(具体见实验规则)及时认真地书写。 本报告册中带*的项目专科生不作要求。实验报告中的“问题分析”项目主要包括本实验误差产生的原因分析(误差过大时才书写)、在实验中所观察到的异常现象及其产生原因分析等内容。主义论据要清晰明了,没有问题则不要勉强。 附:实验报告评分标准

建材实验室 2010年11月 目录 1、材料密度试验…………………………………………… (1)

2、材料表观密度试验…………………………………… (4) 3、材料堆积密度试 验 (7) 4、水泥细度试验…………………………………………… (10) 5、砂的筛分析试验………………………………………… (13) 6、混凝土拌合物试验……………………………………… (17) 7、混凝土抗压强度试验…………………………………… (21) 8、混凝土抗折强度试验…………………………………… (24) 9、混凝土劈裂抗拉强度试验……………………………… (27) 10、水泥胶砂试件成型试验………………………………… (30) 11、水泥胶砂强度试验………………………………………

(32) 12、沥青试样制备试验……………………………………… (36) 13、沥青针入度试验………………………………………… (38) 14、沥青延度试验…………………………………………… (41) 15、沥青软化试验…………………………………………… (44) 16、钢筋试验………………………………………………… (47) 17、新拌筑砂浆试验………………………………………… (52) 18、砂浆抗压强度试验……………………………………… (55) 19、普通粘土砖试验………………………………………… (59) 20、水泥净浆的SEM实验(设计 性)……………………………

相关文档
最新文档