文档库 最新最全的文档下载
当前位置:文档库 › 图的基本操作 实验报告

图的基本操作 实验报告

图的基本操作 实验报告
图的基本操作 实验报告

实验五图的基本操作

一、实验目的

1、使学生可以巩固所学的有关图的基本知识。

2、熟练掌握图的存储结构。

3、熟练掌握图的两种遍历算法。

二、实验内容

[问题描述]

对给定图,实现图的深度优先遍历和广度优先遍历。

[基本要求]

以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列。

【测试数据】

由学生依据软件工程的测试技术自己确定。

三、实验前的准备工作

1、掌握图的相关概念。

2、掌握图的逻辑结构和存储结构。

3、掌握图的两种遍历算法的实现。

四、实验报告要求

1、实验报告要按照实验报告格式规范书写。

2、实验上要写出多批测试数据的运行结果。

3、结合运行结果,对程序进行分析。

五、算法设计

1、程序所需头文件已经预处理宏定义和结构体定义如下

#include

#define MaxVerNum 100

struct edgenode

{

int endver;

int inform;

edgenode* edgenext;

};

struct vexnode

{

char vertex;

edgenode* edgelink;

};

struct Graph

{

vexnode adjlists[MaxVerNum];

int vexnum;

int arcnum;

};

2、创建无向图

void CreatAdjList(Graph* G)

{

int i,j,k;

edgenode* p1;

edgenode* p2;

cout<<"请输入顶点数和边数:"<

cin>>G->vexnum>>G->arcnum;

cout<<"开始输入顶点表:"<

for (i=0;ivexnum;i++)

{

cin>>G->adjlists[i].vertex;

G->adjlists[i].edgelink=NULL;

}

cout<<"开始输入边表信息:"<

for (k=0;karcnum;k++)

{

cout<<"请输入边对应的顶点:";

cin>>i>>j;

p1=new edgenode;

p1->endver=j;

p1->edgenext=G->adjlists[i].edgelink;

G->adjlists[i].edgelink=p1;

p2=new edgenode;

p2->endver=i;

p2->edgenext=G->adjlists[j].edgelink;

G->adjlists[j].edgelink=p2;

//因为是无向图,所以有两次建立边表的过程}

}

3、深度优先遍历

void DFS(Graph *G,int i,int visit[])

{

cout<adjlists[i].vertex<<" ";

visit[i]=1;

edgenode *p=new edgenode;

p=G->adjlists[i].edgelink;

if(G->adjlists[i].edgelink&&!visit[p->endver])

{

DFS(G,p->endver,visit);

}

}

void DFStraversal(Graph *G,char c)//深度优先遍历

{

cout<<"该图的深度优先遍历结果为:"<

int visit[MaxVerNum];

for(int i=0;ivexnum;i++)

{

visit[i]=0;//全部初始化为0,即未访问状态}

int m;

for (i=0;ivexnum;i++)

{

if (G->adjlists[i].vertex==c)//根据字符查找序号

{

m=i;

DFS(G,i,visit);

break;

}

}

//继续访问未被访问的结点

for(i=0;ivexnum;i++)

{

if(visit[i]==0)

DFS(G,i,visit);

}

cout<

}

4、广度优先遍历

void BFS(Graph* G,int v,int visit[])

{

QueueList *Q=new QueueList;

Q->front=Q->rear=NULL;

EnQueue(Q,v);

while(Q->rear!=NULL)

{

int e=0;

DeQueue(Q,&e);

cout<adjlists[e].vertex<<" ";

visit[e]=1;

edgenode* p=new edgenode;

p=G->adjlists[e].edgelink;

if(p)

{

int m=p->endver;

if(m==0)

{

EnQueue(Q,m);

while(visit[m]==0)

{

p=p->edgenext;

if(p==NULL)

break;

m=p->endver;

EnQueue(Q,m);

}

}

}

}

}

void BFStraversal(Graph *G,char c)

{

cout<<"该图的广度优先遍历结果为:"<

for (int i=0;ivexnum;i++)

{

visited[i]=0;

}

int m;

for (i=0;ivexnum;i++)

{

if (G->adjlists[i].vertex==c)

{

m=i;

BFS(G,i,visited);

break;

}

}

//继续访问未被访问的结点

for(i=0;ivexnum;i++)

{

if(visited[i]==0)

BFS(G,i,visited);

}

cout<

}

六、调试与测试

测试数据,如图:

七、总结

通过做这次实验,发现自己在数据结构这门课中还有很多不足有很多知识还没掌握,所以在写程序的时候出现了很多的错误,及还有很多的知识不以灵活运用。C++没有掌握好,所以这次做本次实验还是吃力,刚开始完全没有思路,后来经过查找资料,在自己的努力下和同学的帮助下,终于完了本次实验,此次实验发现的自己的不足,在以后的学习中,我会更加的努力。

八、源代码

#include

#define MaxVerNum 100

struct edgenode

{

int endver;

int inform;

edgenode* edgenext;

};

struct vexnode

{

char vertex;

edgenode* edgelink;

};

struct Graph

{

vexnode adjlists[MaxVerNum];

int vexnum;

int arcnum;

};

//队列的定义及相关函数的实现struct QueueNode

{

int nData;

QueueNode* next;

};

struct QueueList

{

QueueNode* front;

QueueNode* rear;

};

void EnQueue(QueueList* Q,int e) {

QueueNode *q=new QueueNode; q->nData=e;

q->next=NULL;

if(Q==NULL)

return;

if(Q->rear==NULL)

Q->front=Q->rear=q;

else

{

Q->rear->next=q;

Q->rear=Q->rear->next;

}

}

void DeQueue(QueueList* Q,int* e) {

if (Q==NULL)

return;

if (Q->front==Q->rear)

{

*e=Q->front->nData;

Q->front=Q->rear=NULL;

}

else

{

*e=Q->front->nData;

Q->front=Q->front->next;

}

}

//创建图

void CreatAdjList(Graph* G)

{

int i,j,k;

edgenode* p1;

edgenode* p2;

cout<<"请输入顶点数和边数:"<

cin>>G->vexnum>>G->arcnum;

cout<<"开始输入顶点表:"<

for (i=0;ivexnum;i++)

{

cin>>G->adjlists[i].vertex;

G->adjlists[i].edgelink=NULL;

}

cout<<"开始输入边表信息:"<

for (k=0;karcnum;k++)

{

cout<<"请输入边对应的顶点:";

cin>>i>>j;

p1=new edgenode;

p1->endver=j;

p1->edgenext=G->adjlists[i].edgelink;

G->adjlists[i].edgelink=p1;

p2=new edgenode;

p2->endver=i;

p2->edgenext=G->adjlists[j].edgelink;

G->adjlists[j].edgelink=p2;

//因为是无向图,所以有两次建立边表的过程}

}

//深度优先遍历

void DFS(Graph *G,int i,int visit[])

{

cout<adjlists[i].vertex<<" ";

visit[i]=1;

edgenode *p=new edgenode;

p=G->adjlists[i].edgelink;

if(G->adjlists[i].edgelink&&!visit[p->endver])

{

DFS(G,p->endver,visit);

}

}

void DFStraversal(Graph *G,char c)//深度优先遍历{

cout<<"该图的深度优先遍历结果为:"<

int visit[MaxVerNum];

for(int i=0;ivexnum;i++)

{

visit[i]=0;//全部初始化为0,即未访问状态

}

int m;

for (i=0;ivexnum;i++)

{

if (G->adjlists[i].vertex==c)//根据字符查找序号

{

m=i;

DFS(G,i,visit);

break;

}

}

//继续访问未被访问的结点

for(i=0;ivexnum;i++)

{

if(visit[i]==0)

DFS(G,i,visit);

}

cout<

}

//广度优先遍历

void BFS(Graph* G,int v,int visit[])

{

QueueList *Q=new QueueList;

Q->front=Q->rear=NULL;

EnQueue(Q,v);

while(Q->rear!=NULL)

{

int e=0;

DeQueue(Q,&e);

cout<adjlists[e].vertex<<" ";

visit[e]=1;

edgenode* p=new edgenode;

p=G->adjlists[e].edgelink;

if(p)

{

int m=p->endver;

if(m==0)

{

EnQueue(Q,m);

while(visit[m]==0)

{

p=p->edgenext;

if(p==NULL)

break;

m=p->endver;

EnQueue(Q,m);

}

}

}

}

}

void BFStraversal(Graph *G,char c)

{

cout<<"该图的广度优先遍历结果为:"<

for (int i=0;ivexnum;i++)

{

visited[i]=0;

}

int m;

for (i=0;ivexnum;i++)

{

if (G->adjlists[i].vertex==c)

{

m=i;

BFS(G,i,visited);

break;

}

}

//继续访问未被访问的结点

for(i=0;ivexnum;i++)

{

if(visited[i]==0)

BFS(G,i,visited);

}

cout<

}

void main()

{

Graph * G=new Graph; CreatAdjList(G);

char ch;

cout<<"请输入开始遍历的顶点:"; cin>>ch;

DFStraversal(G,ch); BFStraversal(G,ch);

}

外科手术操作的基本原则及技术操作

外科手术操作的基本原则及技术操作要求 在外科手术操作过程中,必须遵守无菌、无瘤和微创等基本原则,应尽可能避免手术后的感染、肿瘤的播散或病人机体组织不必要的损伤,以利于病人术后康复,提高手术治疗的效果。 第一节无菌原则微 生物普遍存在于人体和周围环境。—旦皮肤的完整性遇到破坏,微生物就会侵入体内并繁殖。为了避免手术后感染的发生,必须在术前和术中有针对性地采取一些预防措施,即无菌技术。它是外科手术操作的基本原则,由灭菌法、抗菌法和一定的操作规则及管理制度所组成。 灭菌(sterilization),又称消毒(disinfection),是指将传播媒介上所有微生物全部杀灭或消除,使之达到无菌处理。多用物理方法,有的化学品如环氧乙烷、甲醛、戊二醛等可以杀灭一切微生物,故也可用于灭菌。抗菌(antisepsis)则是指用化学方法杀灭存在的微生物或抑制其生长繁殖。 (一)手术用品的无菌处理方法 1.物理灭菌法包括热力、紫外线、放射线、超声波、高频电场、真空及微波灭菌等。医院常用的有热力和紫外线灭菌,其他方法均因可靠性差或对人体损害性大,不能得到广泛应用。紫外线灭菌主要用于室内空气消毒,因此本节只介绍热力灭菌。它包括干热灭菌及湿热灭菌,前者是通过使蛋白质氧化和近似炭化的形式杀灭细菌,包括火焰焚烧、高热空气。后者通过使蛋白质凝固来杀灭细菌,包括煮沸、流通蒸气和高压蒸气。 ⑴高压蒸气灭菌法:是临床应用最普遍、效果可靠的灭菌方法。此法所用灭菌器的式样有很多种,但其原理和基本结构相同,是由一个具有两层壁能耐高压的锅炉所构成,蒸气进入消毒室内,积聚而产生压力。蒸气的压力增高,温度也随之增高,当温度达121~126℃时,维持30分钟,即能杀死包括具有极强抵抗力的细菌芽胞在内的一切细菌,达到灭菌目的。 使用高压蒸气灭菌时应注意如下几点:①需要灭菌的各种包裹不应过大、过紧,一般应小于55cm×33cm×22cm;⑨包裹不应排得太密,以免妨碍蒸气的透入,影响灭菌效果;③易燃或易爆物品如碘仿、苯类等,禁用高压蒸气灭菌法;锐利器械如刀剪等不宜用此法灭菌,以免变钝;④瓶装液体灭菌时,要用玻璃纸或纱布包扎瓶口,用橡皮塞的,应插入针头排气;⑤要有专人负责,每次灭菌前都要检查安全阀的性能。 ⑵煮沸灭菌法:可用于金属器械、破璃及橡胶类物品,在水中煮沸100℃以后,维持15~20分钟,一般细菌可被杀灭。应用此法时应注意:①物品需全部浸入水中; ②橡胶类和丝线应于水煮沸后放入,15分钟即可取出;③玻璃类物品用纱布包好,放入冷水中煮。如为注射器,应拔出针芯,用纱布包好针筒、针芯;灭菌时间从水煮沸后算起,如中途加入物品则应重新从水煮沸的时间算起。 2.化学灭菌法锐利器械、内镜和腹腔镜等不适于热力灭菌的器械,可用化学药液浸泡消毒。常用的化学消毒剂有下列几种: ⑴70%酒精:它能使细菌蛋白变性沉淀,常用于刀片、剪刀、缝针及显微器

MATLAB基本操作实验报告

南昌航空大学 数学与信息科学学院 实验报告 课程名称:数学实验 实验名称: MATLAB基本操作 实验类型:验证性■综合性□ 设计性□ 实验室名称:数学实验室 班级学号: 10 学生姓名:钟 X 任课教师(教师签名): 成绩: 实验日期: 2011-10- 10

一、实验目的 1、熟悉MATLAB基本命令与操作 2、熟悉MATLAB作图的基本原理与步骤 3、学会用matlab软件做图 二、实验用仪器设备、器材或软件环境 计算机MATLAB软件 三、实验原理、方案设计、程序框图、预编程序等 问题1:在区间【0,2π】画sinx 实验程序: >> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y) 问题2:在【0,2π】用红线画sinx,用绿圈画cosx,实验程序:

>> x=linspace(0,2*pi,30); >> y=sin(x); >> z=cos(x); >> plot(x,y,'r',x,z,'co') >> 问题3:在【0,π】上画y=sinx的图形。 实验程序: >> ezplot('sin(x)',[0,pi]) >> 问题4:在【0,π】上画x=cos3t,y=sin3t星形图形。

实验程序: >> ezplot('cos(t).^3','sin(t).^3',[0,pi]) >> 问题5:[-2,0.5],[0,2]上画隐函数 实验程序: >> ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2]) >> 问题6:在[-2,2]范围内绘制tanh的图形。实验程序: >> fplot('tanh',[-2,2])

实验一Linux基本操作实验报告

实验一 Linux基本操作 一.实验目的: 1. 二.实验环境: 虚拟机+Red Hat Enterprise Server 5.0 三.实验内容: 根据以下的文字提示,调用相应的命令来完成,记录相应的运行结果。一)用户和组基本操作 1.添加一个user01用户,家目录为/home/sub2,并设置密码 2.添加一个group1 组 3.将user01用户添加到group1组中 4.修改group1组名称为group2 5.修改user01的家目录为/home/user01 6.判断/etc/password这个目录是否包含user01这个用户 7.修改user01的shell为/bin/tcsh 8.添加一个group3组,把user01和root用户都添加到该组

https://www.wendangku.net/doc/4011652530.html,er01用户从group2组切换到group3组 10.设置user01的密码在2012-5-20过期 11.把/home/user01目录所属的组修改为group3 12.删除user01帐号 13.查看内核版本号 二)进程管理 1.运行cat命令:vi test,输入若干字符如this is a example,挂起vi进程 2.显示当前所有作业 3.将vi进程调度到前台运行

4.将vi进程调度到后台并分别用kill/pkill/killall命令结束该该进程。 三)磁盘管理 1.通过fdisk 将为硬盘增加一个分区(主分区或者逻辑分区)。 2.并格式化ext3系统,

3.检测分区是否有坏道 4.检测分区的完整性 5.加载分区到/mnt目录(或者其他分区)下,并拷贝一些文件到该目录下 6.(选做)为test用户设置磁盘配额(软限制和硬限制参数自行设定) 7.退出/mnt目录后卸载该分区 8.用du查看/usr目录的大小

手术室基本技能操作流程

手术室基本技能操作流程 手术室护理工作具有很强的专业性,日常工作中离不开各项基本护理技能操作,手术室护士的培训应该着手于基础,只有牢固地掌握各项基本操作技能,才能熟练地配合各类手术,跟上的医学发展的步伐,更好地为病人服务。 第一节手术无菌技术 无菌技术是外科治疗的基本原则,是手术室护士的基本护理操作,是预防手术感染的关键环节之一,因此,做好无菌技术操作十分必要。 外科手洗手流程 所谓外科刷手是指手术人员通过刷洗和化学药物作用以祛除并杀灭手部皮肤表面上的油垢和附着的细菌,而达到消毒手的目的。

一、工作目标 1、认真、仔细按流程进行洗手 2、指导、监督医生正确洗手 二、工作规范要点 1、整个操作过程6min 2、再次消毒手臂不得超过初次消毒手臂范围 3、六步洗手法:手掌擦手掌手指交错手掌擦手掌手指交错掌心擦手背两手相互用手心揉搓指背关节两手相互用手心揉搓指尖两手互相握住大拇指旋转揉搓 4、连台手术的洗手原则:当进行无菌手术后的连台手术,若脱去手术衣、手套后手未沾染血迹、未被污染,直接用消毒液涂抹1次即可。当进行感染手术后的莲台手术,脱去手术衣、手套,更换口罩、帽子后,按前述方法重新消毒。 三.结果标准 1、准备用物齐全 2、取洗手液方法正确。 3、洗手顺序正确。

4、冲洗手臂方法正确(双手始终向上、水不返流)冲洗彻底、不留泡沫 5、毛巾擦拭方法正确 6、手臂不污染。 穿脱手术衣操作流程 常用手术衣有两种式样:一种是对开式手术衣,另一种是遮背式手术衣。它们穿法不一样,无菌范围也不一样 (一)穿对开式无菌手术衣操作流程

穿遮背式无菌手术衣操作流程

图的遍历操作实验报告

. .. . .. .. 实验三、图的遍历操作 一、目的 掌握有向图和无向图的概念;掌握邻接矩阵和邻接链表建立图的存储结构;掌握DFS及BFS对图的遍历操作;了解图结构在人工智能、工程等领域的广泛应用。 二、要求 采用邻接矩阵和邻接链表作为图的存储结构,完成有向图和无向图的DFS 和BFS操作。 三、DFS和BFS 的基本思想 深度优先搜索法DFS的基本思想:从图G中某个顶点Vo出发,首先访问Vo,然后选择一个与Vo相邻且没被访问过的顶点Vi访问,再从Vi出发选择一个与Vi相邻且没被访问过的顶点Vj访问,……依次继续。如果当前被访问过的顶点的所有邻接顶点都已被访问,则回退到已被访问的顶点序列中最后一个拥有未被访问的相邻顶点的顶点W,从W出发按同样方法向前遍历。直到图中所有的顶点都被访问。 广度优先算法BFS的基本思想:从图G中某个顶点Vo出发,首先访问Vo,然后访问与Vo相邻的所有未被访问过的顶点V1,V2,……,Vt;再依次访问与V1,V2,……,Vt相邻的起且未被访问过的的所有顶点。如此继续,直到访问完图中的所有顶点。 四、示例程序 1.邻接矩阵作为存储结构的程序示例

#include"stdio.h" #include"stdlib.h" #define MaxVertexNum 100 //定义最大顶点数 typedef struct{ char vexs[MaxVertexNum]; //顶点表 int edges[MaxVertexNum][MaxVertexNum]; //邻接矩阵,可看作边表int n,e; //图中的顶点数n和边数e }MGraph; //用邻接矩阵表示的图的类型 //=========建立邻接矩阵======= void CreatMGraph(MGraph *G) { int i,j,k; char a; printf("Input VertexNum(n) and EdgesNum(e): "); scanf("%d,%d",&G->n,&G->e); //输入顶点数和边数 scanf("%c",&a); printf("Input Vertex string:"); for(i=0;in;i++) { scanf("%c",&a); G->vexs[i]=a; //读入顶点信息,建立顶点表 }

实验报告1windows的基本操作范例

实验名称:Windows的基本操作 一、实验目的 1.掌握桌面主题的设置。 2.掌握快捷方式的创建。 3.掌握开始菜单的组织。 4.掌握多任务间的数据传递——剪贴板的使用。 5.掌握文件夹和文件的创建、属性查看和设置。 6.掌握文件夹和文件的复制、移动和删除与恢复。 7.熟悉文件和文件夹的搜索。 8.熟悉文件和文件夹的压缩存储和解压缩。 二、实验环境 1.中文Windows 7操作系统。 三、实验内容及步骤 通过上机完成实验4、实验5所有内容后完成该实验报告 1.按“实验4--范例内容(1)”的要求设置桌面,将修改后的界面复制过来。 注:没有桌面背景图“Autumn”的,可选择其它背景图。 步骤:在桌面空白区域右击,选择菜单中的“个性化”,在弹出的窗口中点击“桌面背景”,在背景栏内选中“某一张图片”,单击“确定”。 修改后的界面如下图所示: 2.将画图程序添加到“开始”菜单的“固定项目列表”上。 步骤:右击“开始/所有程序/附件”菜单中的画图程序项,在弹出的快捷菜单中选“附到「开始」菜单”命令。 3.在D盘上建立以“自己的学号+姓名”为名的文件夹(如01108101刘琳)和其子文件 夹sub1,然后:

步骤:选定D:\为当前文件夹,选择“文件/新建/文件夹”命令,并将名字改为“学号+姓名”;选定“ D:\学号+姓名”为当前文件夹,选择“文件/新建/文件夹”命令,并将名字改为“sub1” ①在C:\WINDOWS中任选2个TXT文本文件,将它们复制到“学号+姓名”文件夹中;步骤:选定“C:\WINDOWS”为当前文件夹,随机选取2个文件, CTRL+C复制,返回“D:\学号+姓名”的文件夹,CTRL+V粘贴 ②将“学号+姓名”文件夹中的一个文件移到其子文件夹sub1中; 步骤:选定“ D:\学号+姓名”为当前文件夹,选中其中任意一个文件将其拖拽文件到subl ③在sub1文件夹中建立名为“”的空文本文档; 步骤:选定“ D:\学号+姓名\ sub1”为当前文件夹,在空白处单击右键,选择“新建\文本文档”,把名字改为test,回车完成。 ④删除文件夹sub1,然后再将其恢复。 步骤:选定“ D:\学号+姓名”为当前文件夹,右键单击“sub1”文件夹,选择“删除”,然后打开回收站,右键单击“sub1”文件夹,在弹出的快捷菜单中选择“还原”。 4.搜索C:\WINDOWS\system文件夹及其子文件夹下所有文件名第一个字母为s、文件长 度小于10KB且扩展名为exe的文件,并将它们复制到sub1文件夹中。 步骤:选定“ C:\WINDOWS\system”为当前文件夹,单击“搜索”按钮,在左侧窗格选择“所有文件和文件夹”,在“全部或部分文件名”中输入“s*.exe”,在“大小”中,选择“0~10KB”。 5.用不同的方法,在桌面上创建名为“计算器”、“画图”和“剪贴板”的三个快捷方式, 它们应用程序分别为:、和。并将三个快捷方式复制到sub1文件夹中。 步骤:①在"开始"菜单的"所有程序"子菜单中找到"计算器",单击右键,在弹出的快捷菜单中选择“发送到\桌面快捷方式”。 ②在"开始"菜单的"所有程序"子菜单中找到"画图",将其拖至桌面空白处。 ③在桌面上单击右键,在弹出的快捷菜单中选择“新建\快捷方式”,在“创建快捷方式”

数据结构实验图的基本操作

浙江大学城市学院实验报告 课程名称数据结构 实验项目名称实验十三/十四图的基本操作 学生姓名专业班级学号 实验成绩指导老师(签名)日期2014/06/09 一.实验目的和要求 1、掌握图的主要存储结构。 2、学会对几种常见的图的存储结构进行基本操作。 二.实验内容 1、图的邻接矩阵定义及实现: 建立头文件test13_AdjM.h,在该文件中定义图的邻接矩阵存储结构,并编写图的初始化、建立图、输出图、输出图的每个顶点的度等基本操作实现函数。同时建立一个验证操作实现的主函数文件test13.cpp(以下图为例),编译并调试程序,直到正确运行。 2、图的邻接表的定义及实现: 建立头文件test13_AdjL.h,在该文件中定义图的邻接表存储结构,并编写图的初始化、建立图、输出图、输出图的每个顶点的度等基本操作实现函数。同时在主函数文件test13.cpp中调用这些函数进行验证(以下图为例)。

3、填写实验报告,实验报告文件取名为report13.doc。 4、上传实验报告文件report13.doc到BB。 注: 下载p256_GraphMatrix.cpp(邻接矩阵)和 p258_GraphAdjoin.cpp(邻接表)源程序,读懂程序完成空缺部分代码。 三. 函数的功能说明及算法思路 (包括每个函数的功能说明,及一些重要函数的算法实现思路) 四. 实验结果与分析 (包括运行结果截图、结果分析等)

五.心得体会

程序比较难写,但是可以通过之前的一些程序来找到一些规律 (记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。) 【附录----源程序】 256: //p-255 图的存储结构以数组邻接矩阵表示, 构造图的算法。 #include #include #include #include typedef char VertexType; //顶点的名称为字符 const int MaxVertexNum=10; //图的最大顶点数 const int MaxEdgeNum=100; //边数的最大值 typedef int WeightType; //权值的类型 const WeightType MaxValue=32767; //权值的无穷大表示 typedef VertexType Vexlist[MaxVertexNum]; //顶点信息,定点名称 typedef WeightType AdjMatrix[MaxVertexNum][MaxVertexNum]; //邻接矩阵typedef enum{DG,DN,AG,AN} GraphKind; //有向图,有向网,无向图,无向网typedef struct{ Vexlist vexs; // 顶点数据元素 AdjMatrix arcs; // 二维数组作邻接矩阵 int vexnum, arcnum; // 图的当前顶点数和弧数 GraphKind kind; // 图的种类标志 } MGraph; void CreateGraph(MGraph &G, GraphKind kd)// 采用数组邻接矩阵表示法,构造图G {//构造有向网G int i,j,k,q; char v, w; G.kind=kd; //图的种类 printf("输入要构造的图的顶点数和弧数:\n"); scanf("%d,%d",&G.vexnum,&G.arcnum); getchar();//过滤回车 printf("依次输入图的顶点名称ABCD...等等:\n"); for (i=0; i

1 药理实验基本操作

实验1 药理实验基本操作 一、试验报告的撰写 实验报告要求结构完整、条理分明、用词规范、详略得当。 内容包含:试验题目、试验目的、实验原理、试验材料、试验方法、实验结果、讨论、结论、注意事项。 二、药理学实验设计的三大原则 重复、随机、对照。 三、注射器的使用方法 试验目的:掌握注射器的使用方法 试验材料: 器材:注射器 1 ml、2 ml、5 ml;针头:4号、5号、6号。一般小鼠皮下、腹腔、肌肉注射用5.0-6号针头,静脉注射用4.5号或5号针头,口服灌胃用12号针头;大鼠与兔子用16号针头。 药品:生理盐水 试验方法: 1、安装针头:选择适宜号数的针头,安装在针管的管嘴上,拧紧,要求针尖斜面与针管刻度面一致。 2、吸取药液:将针尖浸入药液中,左手持针管,右手提抽针芯,缓慢吸取药液至需要量。 3、排尽气泡:将吸入药液的注射器垂直向上,先抽一下针芯,使针头内的药液进入针管,并使针管内的空气汇集在药液上面,然后轻轻推动针芯,使空气自针头排出,直至溢出药液为止。若遇小气泡不易排出时,可再抽入空气少许,使该微量气泡汇合于抽入的空气中,然后一并排出(注意:避免将针头朝着自己或他人,防止液体喷射到人身上)。 4、持注射器: (1)用右手拇、中二指持注射器(针管的刻度面朝上以便观察注入的药液量)。食指固定在针头与针管接头处;进针后,用食指夹住针管,拇指推动针芯注药。 (2)用右手拇、中二指持注射器(针管的刻度面朝上以便观察注入的药液量)。无名指固定在针头和针管接头处,食指推动针芯注药。 注意事项: 1、选择适宜的注射器及针头; 2、按接针头时须旋转90度; 3、针头斜面与针管刻度面一致; 4、排尽气泡; 5、注射器针头按接处需用食指或无名指固定;

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作 (4) :实验目的 (4) :实验任务和要求 (4) :实验步骤和结果 (5) :结果分析 (8) 实验二:图像的灰度变换和直方图变换 (9) :实验目的 (9) :实验任务和要求 (9) :实验步骤和结果 (9) :结果分析 (13) 实验三:图像的平滑处理 (14) :实验目的 (14) :实验任务和要求 (14) :实验步骤和结果 (14) :结果分析 (18) 实验四:图像的锐化处理 (19) :实验目的 (19) :实验任务和要求 (19) :实验步骤和结果 (19) :结果分析 (21)

实验一:数字图像的基本处理操作 :实验目的 1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用; 2、实现图像的读取、显示、代数运算和简单变换。 3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。:实验任务和要求 1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分 别显示,注上文字标题。 3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换, 显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。 4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里 叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的 对应关系。 :实验步骤和结果 1.对实验任务1的实现代码如下: a=imread('d:\'); i=rgb2gray(a); I=im2bw(a,; subplot(1,3,1);imshow(a);title('原图像'); subplot(1,3,2);imshow(i);title('灰度图像'); subplot(1,3,3);imshow(I);title('二值图像'); subplot(1,3,1);imshow(a);title('原图像'); 结果如图所示:

实验一 实验基本操作规范

实验一实验基本操作规范 一、实验目的 1.了解实验室的基本要求、实验室安全及防护知识 2.熟悉常用玻璃仪器及洗涤与干燥 3.掌握称取、吸取和量取的操作规范 4.掌握移液管、容量瓶、滴定管的正确使用方法 二、实验器材 (此部分要求同学们自己写,挑主要的写即可) 三、常用玻璃仪器(此部分不用写在实验报告) 化学实验中的玻璃仪器分为普通玻璃仪器和标准磨口仪器。 1. 普通玻璃仪器 常见的普通玻璃仪器有试管、烧杯、烧瓶等,见图1-1所示。 图1-1 常用普通玻璃仪器 2. 标准磨口仪器 化学实验中常用的标准磨口仪器如图1-2所示。

短颈圆底烧瓶斜三颈烧瓶梨形烧瓶蒸馏头标准接头 克氏蒸馏头二口接管接受管真空接受管搅拌器套管 温度计套管直形冷凝管球形冷凝管蛇形冷凝管 图1-2 标准磨口仪器 四、玻璃仪器的洗涤与干燥 (实验报告此部分序号为“三”,抓自己认为重点的写,不需要全部照抄) 1. 玻璃仪器的洗涤 使用洁净的仪器是实验成功的重要条件,也是化学工作者应有的良好习惯。洗净的仪器在倒置时,器壁应不挂水珠,内壁应被水均匀润湿,形成一层薄而均匀的水膜。如果有水珠,说明仪器还未洗净,需要进一步进行清洗。 (1) 一般洗涤 仪器清洗的最简单的方法是用毛刷蘸上去污粉或洗衣粉擦洗,再用清水冲洗干净。洗刷时,不能用秃顶的毛刷,也不能用力过猛,否则会戳破仪器。有时去污粉的微小粒子粘服在器壁上不易洗去,可用少量稀盐酸摇洗一次,再用清水冲洗。如果对仪器的洁净程度要求较高时,可在用去离子水或蒸馏水进行淋洗 次,用蒸馏水淋洗仪器时,一般用洗瓶进行喷洗,这样可节约蒸馏水和提高洗涤效果。 (2) 铬酸洗液洗涤

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作....................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验二:图像的灰度变换和直方图变换............................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验三:图像的平滑处理....................................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验四:图像的锐化处理......................................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。

外科基本技能操作规范

一、无菌术 【适应证】 1. 手术室手术操作 【禁忌证】 1. 手术前不要参加感染创口换药 2. 轻度上呼吸道感染者戴双层口罩,严重者不可参加手术 3. 双手及上臂有皮肤化脓性感染、湿疹者不可参加手术 【流程】 1. 洗手 1.1 准备工作 1.1.1 修剪手指甲,除去甲缘下的污垢 1.1.2 去除饰物,更换洗手衣、裤、鞋,上衣的袖口须卷至上臂上1/3处 1.1.3 戴好无菌口罩、帽子。口罩须遮住鼻孔,头发不可飘露在帽外 1.1.4 用洗手液洗去手、前臂、肘部及上臂下半部之污垢与油脂(六步/七步洗手法) 1.2 清洁洗手 1.2.1 流动水下清洁指甲 1.2.2 用洗手液(百能除菌洗手液)清洗手、前臂、上臂至肘上10cm(七步洗手法) 1.2.3 流动水下彻底冲净洗手液,注意手臂上水不可流至手上 1.2.4 用无菌巾(或无菌纸巾)擦干或在烘干机下烘干手、臂,注意手、臂不可触碰他物(包 括烘干机),如误触他物,必须重新按上述步骤洗手 1.3 消毒洗手 1.3.1 取2ml消毒液(3M消毒液)于一手掌心 1.3.2 另一手指尖于该掌心内擦洗 1.3.3 用剩余的消毒液均匀涂抹于另一手的手掌及手臂至肘上6cm,不超过清洁洗手的范围

1.3.4 再取2ml消毒液于另一手掌心,重复步骤1.3.1至1.3.3 1.3.5 最后再取2ml消毒液 1.3.6 掌心相对手指并拢,互相搓擦 1.3.7 掌心相对双手交叉,沿指缝相互搓擦 1.3.8 手心对手背,沿指缝相互搓擦,交换进行 1.3.9 弯曲各手指关节,双手相扣,进行搓擦 1.3.10 一手握另一手大拇指,旋转搓擦,交换进行 1.3.11 揉搓双手至腕部,直至消毒液干燥,再戴外科手套,手、臂不可触碰他物,如误触他物, 必须重新洗手、消毒 1.4 注意事项 1.4.1 应特别注意指尖、甲缘、指间和手掌等部的清洁和消毒 1.4.2 洗手消毒完毕,保持拱手姿势,双手远离胸部30cm以外,向上不能高于肩部,向下不能 低于剑突,手臂不应下垂,也不可接触未经消毒的物品。否则,即应重新洗手 2. 穿手术衣、带无菌手套 2.1 取一件折叠的手术衣,用双手分别提起手术衣的衣领两端,轻抖开手术衣,有腰带的一面 向外 2.2 将手术衣略向上抛起,顺势双手同时插入袖筒,手伸向前(不可高举过肩),待巡回护士 在后面协助穿衣,使双手伸出袖口,不得用未戴手套的手拉衣袖或接触其它处, 2.3 由巡回护土系紧背后衣带 2.4 带无菌手套:选用与自己手尺码相一致的无菌手套一副,由巡回护士拆开外包,术者取出内层套袋。用左手自手套袋内捏住两只手套套口的翻折部而一并取出之。先将右手伸人右手手套内,再用已戴好手套的右手指插入左手手套的翻析部,以助左手伸入手套内。整理双手术衣袖口,避免触及腕部皮肤,将手套翻折部翻回盖住手术衣袖口。注意在未戴手套前,手不能接触手套之外面,已戴手套后,手套外面不能接触皮肤。手套外面的润滑粉(淀粉)需用无菌盐水冲净 2.5 提起前襟的腰带,将右手的腰带递给已戴好手套的手术人员,或由巡回护士用无菌持物钳夹持,自身向左后旋转,使腰带绕穿衣者一周,交穿衣者自行在左侧腰间系紧(某些一次手术衣需要双手交叉提左右腰带略向后递送,由护土在身后给予系紧腰带) 2.6 穿好手术衣、戴好手套,在等待手术开始前,应将双手放在手术衣胸前的夹层或双手互握 置于胸前。双手不可高举过肩、垂于腰下或双手交叉放于腋下

神经外科的基本操作.

神经外科的基本操作很多,我想建议开展一个交流区,从最小的操作开始,如冲水器的使用,电凝的使用,吸引器使用等这样不经意的动作.请各位战友能积极参与,贴出你的心得体会,以供我等学习之用.这样更利于神外的发展. 这是以前一个置顶的帖子,从中学到很多,请大家继续延续我们的交流,以下是gulang100 战友整理的一些内容,希望可以节省大家的时间 神经外科的手术经验交流 神外同仁: 我把收集的神经外科的手术原则拿出与大家共享,望都有借鉴,为中国外科事业做贡献 [color=red]神经外科手术的若干要点 Ossama Al-Mefty 著,清风译 1. Remove the bone, leave the brain alone. 尽可能保护脑组织,可能需要更多切除颅骨。 2. An arachnoid membrane is your best ally. Always do your dissection within the arachnoidal planes. 蛛网膜是你的朋友,要在蛛网膜间隙分离。 3. Microsurgical technique is indispensable in the surgery of meningiomas. Master it. 显微外科技术对于神经外科手术是不可缺少的。 4. Sharp dissection is the safest dissection. 锐性分离是最安全的分离。 5. Never pull or force anything. "Gentle, brother, gentle.尽量减少推压或牵拉脑组织的任何部位。 6. The anatomy of the skull base is complex. Learn it in the laboratory before going to the operating room. 颅底解剖很复杂,实验室的学习很重要。 7. Seek total removal with zeal during the first operation. It is the patient's best chance for cure. The best time is the first time. 在第一次手术中积极寻找完全切除的可能,第一次手术是患者获得治愈的最佳时机。 8. The use of the power drill is indispensable. Practice it. 磨钻的使用在神经外科手术中是必不可少的。多进行实践. 9. Be a vascular surgeon: preserve, repair, or reconstruct vessels. Life and function run through them. 做一个血管外科医师,在需要时保护,修复或重建血管。 10. Veins are more vital than they are usually believed to be. Preserve them.尽可能保留静脉,静脉比想象的还重要。 11. Preserving perforators is the greatest technical challenge and is crucial for preserving function. 保护功能区对神经外科医生是最大的技术挑战。 12. Maintain normal cerebral perfusion pressure by avoiding hypotension and cerebral retraction. 维持正常脑灌注压。 13. Plan the closure before the opening. 手术前要计划好如何结束。 14. Repair defects with vascularized tissue. 修复缺损要用带血管蒂的组织。 15. A tumor destroys the normal anatomy. Always be on the lookout for displaced structures. It is better to say "there it is" and be wrong a hundred times than to say "there it was" and be right once. 肿瘤会破坏正常解剖关系,要始终留意移位的结构。说错“它在这儿”一百次也比说对“它曾经在这儿”一次要好。 16. Preservation is the best means of reconstruction. Save every structure. 保留是

实验一 Matlab基本操作(2016)

实验一 MATLAB 基本操作 一、实验目的 1. 学习和掌握MA TLAB 的基本操作方法 2. 掌握命令窗口的使用 3. 熟悉MATLAB 的数据表示、基本运算 二、实验内容和要求 1. 实验内容 1) 练习MATLAB7.0或以上版本 2) 练习矩阵运算与数组运算 2. 实验要求 1) 每位学生独立完成,交实验报告 2) 禁止玩游戏! 三、实验主要软件平台 装有MATLAB7.0或以上的PC 机一台 四、实验方法、步骤及结果测试 1. 实验方法:上机练习。 2. 实验步骤: 1) 开启PC ,进入MA TLAB 。 2) 使用帮助命令,查找sqrt 函数的使用方法 答: help sqrt 3) 矩阵、数组运算 a) 已知 ??????????=987654321A ,???? ??????=963852741B ,求)2()(A B B A -?+ 答: A=[1, 2, 3; 4, 5, 6; 7, 8, 9]; B=[1, 4, 7; 2, 5, 8; 3, 6, 9]; (A+B)*(2*B-A) b) 已知?? ????-=33.1x ,??????=π24y ,求T xy ,y x T c) 已知??????????=987654321A ,???? ??????=300020001B ,求A/B, A\B. d) 已知???? ??????=987654321A ,求:(1) A 中第三列前两个元素;(2) A 中所有第二行元素;(3) A 中四个角上的元素;(4) 交换A 的第1、3列。(5) 交换A 的第1、2行。(6) 删除A 的第3列。

e) 已知[]321=x ,[]654=y ,求:y x *.,y x /.,y x \.,y x .^, 2.^x ,x .^2。 f) 给出x=1,2,…,7时,x x sin 的值。 3)常用的数学函数 a )随机产生一个3x3的矩阵A ,求:(1) A 每一行的最大、最小值,以及最大、最小值所在的列;(2) A 每一列的最大、最小值,以及最大、最小值所在的行;(3) 整个矩阵的最大、最小值;(4) 每行元素之和;(5) 每列元素之和;(6) 每行元素之积;(7) 每列元素之积。 b) 随机产生两个10个元素的向量x ,y 。(1) 求x 的平均值、标准方差。(2) 求x ,y 的相关系数。(3)对x 排序,并记录排序后元素在原向量中的位置。 4) 字符串操作函数 建立一个字符串向量(如‘ABc123d4e56Fg9’),然后对该向量做如下处理: (1) 取第1~5个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。 (4) 统计字符串中小写字母的个数。

数字图像处理实验报告

数字图像处理实验报告实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MA TLAB目录下work文件夹中的forest、tif图像文件读出、用到imread,imfinfo 等文件,观察一下图像数据,了解一下数字图像在MA TLAB中的处理就就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MA TLAB目录下work文件夹中的b747、jpg图像文件读出,用rgb2gray()将其转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程与调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程与调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别。 2)对B进行直方图均衡化处理,试比较与源图的异同。 3)对B进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。

数字图像处理实验一图像的基本操作和基本统计指标计算实验报告

实验一图像的基本操作和基本统计指标计算 一、实验目的 熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。 了解计算图像的统计指标的方法及其在图像处理中的意义。 了解图像的几何操作,如改变图像大小、剪切、旋转等。 二、实验主要仪器设备 (1)台式计算机或笔记本电脑 (2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT)) (3)典型的灰度、彩色图像文件 三、实验原理 (1)将一幅图像视为一个二维矩阵。 < (2)利用MATLAB图像处理工具箱读、写和显示图像文件。 ①调用imread函数将图像文件读入图像数组(矩阵)。例如“I=imread(‘’);”。其基本格式为:“A=imread(‘’)”,其中,A为二维矩阵,filename.为文件名,fmt为图像文件格式的扩展名。 ②调用imwrite函数将图像矩阵写入图像文件。例如“imwrite(A,’’);”。其基本格式为“imwrite(a,”。 ③调用imshow函数显示图像。例如“imshow(‘’);”。其基本格式为:I为图像矩阵,N 为显示的灰度级数,默认时为256。 (3)计算图像有关的统计参数。 四、实验内容 (1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。 (2)利用MATLAB计算图像有关的统计参数。 五、实验步骤 (1)利用“读图像文件I/O”函数读入图像。 (2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion(格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType(彩色类型)、CodingMethod(编码方法)等。 ' (3)利用“像素和统计处理”函数计算读入图像的二维相关系数(corr2函数)、确定像素颜色值(impixel函数)、确定像素的平均值(mean2函数)、显示像素信息(pixval函数)、计算像素的标准偏移(std2函数)等。 要求:参照例题,对图像J加均值为0、方差为的高斯白噪声形成有噪图像J1,即

相关文档