最新《数据结构》讲义资料

最新《数据结构》讲义资料
最新《数据结构》讲义资料

数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。换句话说,数据是对客观事物采用计算机能够识别、存储和处理的形式所进行的描述;是计算机加工处理的对象。包括数值、字符、声

数据元素是组成数据的基本单位

一个数据元素可由若干个数据项组成(

数据对象是性质相同的数据元素的集合,是数据的一个子集。

…},字母字符数据对象是集合

象。由此可看出,不论数据元素集合是无限集(如整数集)

Data Structure)

数据元素相互之间的关系称为结构( Structure ),有四种基本结构。集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无任何其它关系。

线性结构:结构中的数据元素之间存在着一对一的线性关系。

图状结构或网状结构:结构中的数据元素之间存在着多对多的任意关系。

为数据结构的有限集,S是D上关系的有限集。

表示复数的虚部。

存储结构(又称物理结构)是逻辑结构在计算机中的存储映象,是逻辑结构在计算机中的实现,它包括

据元素的表示和关系的表示

形式化描述:要存入机器中,建立一从

,使S(D

逻辑结构与存储结构的关系为:

数据结构的内容可归纳为三个部分:逻辑结构、存储结构和运算集合。按某种逻辑关系组织起来的一批数据,按一定的映象方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合,(Data Type)

数据类型是一组性质相同的值集合以及定义在这个值集合上的一组操作的总称

合,即该类型的取值范围,以及该类型中可允许使用的一组运算。例如高级语言中的数据类型就是已经实现的从这个意义上讲,数据类型是高级语言中允许的变量种类,

计算机中使用的是二进制数,汇编语言中则可给出各种数据的十进制表示,如

二进制数据的抽象; 使用者在编程时可以直接使用

据抽象,出现了数据类型,

(Abstract Data Type)

)是指基于一类逻辑关系的数据类型以及定义在这个类型之上的一组操作。抽象数据类型的定义取决于客观存在的一组逻辑特性,而与其在计算机内如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部使用。从某种意义上讲,抽象数据类型和数据类型实质上

一个线性表的抽象数据类型的描述如下:

-list

所有属于同一数据对象,i=1,2,…,

所有数据元素,…,n-1

Linear-list:

初始化空线性表

求线性表的表长

取线性表的第个元素;

在线性表的第i个位置插入元素

删除线性表的第i个元素。

的定义

的定义格式不唯一

抽象数据类型名

数据对象: <

其中数据对象和结构关系的定义采用数学符号和自然语言描述: 初始条件描述>

操作结果描述>

关于参数传递

参数表中的参数有两种:第一种参数只为操作提供待处理数据又能返回操作结果,

作结果描述操作执行之后

构成一个结构类型

语言函数实现各操作。

在数据结构中的指定位置上增添新的数据元素;

删去数据结构中某个指定数据元素;

更新:改变数据结构中某个元素的值,在概念上等价于删除和插入操作的组合;

查找:在数据结构中寻找满足某个特定要求的数据元素(的位置和值

重新安排数据元素之间的逻辑顺序关系,使数据元素按值由小到大或由大到小

结构化的开发方法是面向过程的开发方法,

本书中用到以下常量符号,

# define FALSE 0

# define MAXSIZE 100

# define OK 1

define ERROR 0

本书中所有的算法都以如下的函数形式加以表示,

函数名(

函数的定义主要由函数名和函数体组成,

部分如“[形式参数]”为可选项,

、简单赋值;

〈变量名〉

〈变量〉++

后赋值给变量。

〉=〈表达式〉

条件选择语句。

〈表达式〉)语句;

〈表达式〉)语句;

else 语句;

语句

表达式1>;

循环体语句;

首先计算表达式1的值,然后求表达式的值,若结果非零(即为真)则执行循环体语句,最后对表达式直到表达式的值为零(即不成立为假)时为止。

循环首先计算条件表达式的值,若条件表达式的值非零(即条件成立)

次计算条件表达式的值,重复执行,直到条件表达式的值为零(即为假)时退出循环,

语句

条件表达式

该循环语句首先执行循环体语句然后计算条件表达式的值,

算条件表达式的值,直到条件表达式的值为零,即条件不成立时结束循环。

特别当数据为单个字符时,函数实现;当数据为字符串时,

当数据为字符串时,用puts

其中输入输出函数中的类型部分不做严格要求,

其它一些语句。

return <表达式

语句:语句中结束循环过程或跳出情况语句。

continue语句:可用在循环语句中结束本次循环过程,进入下一次循环过程。

//

注释句的作用是增强算法的可阅读性,在算法描述中要求在函数首部加上对算法功能的必要注释描述。加注释说明时如果没有涉及到的参量一定是多余的,而涉及到的内容应当作为参量,这实际上是程序设计中的一希望多加注意。

例如:

用于求一个或几个表达式中的最大值;

用于求表达式的绝对值;eof

)的定义

Algorithm is a finite set of rules which gives a sequence of operation for solving a specific 算法是规则的有限集合,

其中每一条指令表示一个或多个操作。

有穷性:有限步骤之内正常结束,

确定性:算法中的每一个步骤必须有确定含义,

可行性:原则上能精确进行,操作可通过已实现的基本运算执行有限次而完成。

至少有一个或多个输出。

最基本的是有限性、

算法的正确性

所设计的程序没有语法错误;

所设计的程序对于几组输入数据能够得出满足要求的结果;

所设计的程序对于精心选择的典型、

(4)

例如:

max=0;

i=1; i<=n; i++

{ scanf(, x); if (x>max) max=x; }

可读性

语言和程序的关系

描述了数据对象的元素之间的关系(包括数据逻辑关系、

描述算法的工具:算法可用自然语言、

二义,框图直观但不擅长表达数据的组织结构,

设计实现算法过程的步骤

找出与求解有关的数据元素之间的关系(建立结构关系)

确定在某一数据对象上所施加的运算。

考虑数据元素的存储表示。

选择描述算法的语言。

设计实现求解的算法,并用程序语言加以描述。

对问题规模和该算法在运行时所占的空间

同的问题其含义不同,

数量关系评价体现在时间——算法编程后在机器中所耗费的时间。数量关系评价体现在空间——算法编程后在机器中所占的存储量。关于算法执行时间

一个算法的执行时间大致上等于其所有语句执行时间的总和,

数和执行一次所需时间的乘积。

语句频度

语句频度是指该语句在一个算法中重复执行的次数。

算法的时间复杂度

原操作是指从算法中选取一种对所研究问题是基本运算的操作,用随着问题规模增加的函数来表征

而对于算法分析,我们关心的是算法中语句总的执行次数T(n)是关于问题规模n的函数,进而分析的变化情况并确定T(n)的数量级(Order of Magnitude)。在这里,我们用“O”来表示数量级,这样我

其时间复杂度为

for (i=1; i<= n; i++) x=x+1;

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

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

我们称之为平方阶。此外算法还能呈现的时间复杂度有对数阶

数据结构中常用的时间复杂度频率计数有7个:

O(n2)平方型 O(n3)立方型

O(nlog2n)二维型

充分大时)。

与图1.6是同一问题的不同表示形式。

增长较慢的算法为最优的算法。从中我们应该选择使用多项式阶

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

for (j=i; j<= n; j++) x++;

语句x++的执行频度为: n+(n-1)+(n-2)+…+3+2+1 =n(n+1)/2

的增长率为n2, 即时间复杂度为O(n2)。

最坏时间复杂度

算法中基本操作重复执行的次数还随问题的输入数据集的不同而不同。

算法的空间复杂度(略)

B, …, Z)就是一个简单的线性表,表中的每一个英文字母是一个数据元素,

元素之间存在唯一的顺序关系,如在英文字母表字母B的前面是字母A,而字母

(data elements) 可由若干数据项组成,如学生成绩表中,每个学生及其各科成绩

各科成绩及平均成绩等数据项

。数据对象(

n (n≥0)个类型相同的数据元素a1, a2, …, an

…,an)。这里的数据元素ai(1≤i≤n)只是一个抽象的符号,其具体含义在不同它既可以是原子类型,也可以是结构类型但同一线性表中的数据元素必须属于同一数据对象。

线性表中相邻数据元素之间存在着序偶关系,即对于非空的线性表(a1,

同一性:线性表由同类数据元素组成,每一个

有穷性:线性表由有限个数据元素组成,表长度就是表中数据元素的个数。

有序性:线性表中表中相邻数据元素之间存在着序偶关系

,因为数据元素之间是由一前驱一后继的直观有序的关系确

队列等都符合线性条件。

ADT List{

数据元素: D={ai| ai

S={

基本操作:

为未初始化线性表。

L初始化为空表。

DestroyList(&L)

线性表L

销毁。

ClearList(&L)

线性表已存在。

将表L置为空表。

线性表L

如果L为空表则返回真,

线性表L

L为空表则返回0,

LocateElem(L, e,compare()) compare()

个与e满足关系的数据元素的位序,存在,

返回线性表

ListInsert (&L, i, e)

已存在,1≤

个位置之前插入新的数据元素e,L ListDelete (&L, i, &e)

已存在且非空,ListLength(L)

i个数据元素,

Void union (List &La, List Lb){

La_len= ListLength (La); Lb_len= ListLength (Lb);

loc(ai) =loc(a1)+(i-1)

它是一种随机存取的数据结构。

顺序存储结构可以借助于高级程序设计语言中的一堆数组来表示,一维数组的下标与元素在线性表中的序语言中下标等于序号减1)。线性表的顺序存储结构可用C语言定义如下:

ElemType *elem; /* */

int length;

int listsize;

线性表顺序存储结构上的基本运算

初始化操作

Status IniList_Sq(SqList

L.elem=(ElemType*)

If(!L.elem) exit

由于结点的物理顺序必须和结点的逻辑顺序保持一致,因此我们必须

个位置,然后在该位

是指在线性表的末尾插入结点,所以无需移动结点,直接将e插入表的末尾

图2.3 顺序表中插入元素

Status ListInsert_sq(sqList &L, int i, ElemType e){

(i<1||i>L.length+1) return ERROR;

(L.length>=L.listsize){

newbase=(ElemType*)realloc(L.listsize+LISTINCREMENT)*sizeof( ElemType));

线性表的删除运算是指将表的第

变成长度为n-1

n-i)个元素依次向前移动一个位置。

(4, 9, 15, 21, 28, 30, 30, 42, 51, 62)

图2.4 顺序表中删除元素

Status ListDelete_Sq(sqList &L,int i,ElemType &e){

If( (i<1) || (i>L.length) ) return ERROR;

i个元素的概率,并假设在任何位置上删除的概率相等,即。删除一个元素所需移动元素的平均次数Edel为

在顺序表中查找元素的算法:

int LocatElem_Sq(SqList L,ElemType e, Status(*compare)(ElemType, ElemType))

)无需为表示结点间的逻辑关系而增加额外的存储空间(因为逻辑上相邻的元素其存储的物理位置也是相邻

)可方便地随机存取表中的任一元素。

其缺点是:

插入或删除运算不方便,除表尾的位置外,

用来存储结点的值;指针域用来存储数据元素的直接后继的地址(或位置)链表正是通过每个结点的指针域将线性表的n个结点按

其逻辑顺序链接在一起。由于链表的每个结点只有一个

图2.5单链表的示例图

图2.6 单链表的逻辑状态

图2.7 带头结点单链表图示单链表可以由头指针唯一确定。单链表的存储结构描述如下:

图2.8 头插法建立单链表图示CreateList_L(Linklist &L, int n){

L=(Linklist) malloc(sizeof(Lnode));

L->next=NULL;

图2.9 尾插法建表图示

在单链表中,由于每个结点的存储位置都放在其前一结点的next域中,因而即使知道被访问结点的序号

也不能像顺序表那样直接按序号i访问一维数组中的相应元素,实现随机存取,而只能从链表的头指针出发,next逐个结点往下搜索,直至搜索到第i个结点为止。

设带头结点的单链表的长度为n,要查找表中第i个结点,则需要从单链表的头指针

:要在带头结点的单链表

pre指示,然后申请一个新的结点并由指针

,然后使

图 2.10 在单链表第i个结点前插入一个结点的过程ListInsert_L(Linklist &L, int i, ElmeType e ){

While( p && j

p=p->next;

j>i-1) return ERROR;

s=(Linklist)malloc(sizeof(LNode));

图2.11 单链表的删除过程ListDelete_L(Linklist &L, int i, Elemtype &e){

( p->next && j

p=p->next;

图2.12 带头结点循环单链表

双向链表

循环单链表的出现,虽然能够实现从任一结点出发沿着链能找到其前驱结点,但时间耗费是

图2.13 双链表的结点结构

由于在双向链表中既有前向链又有后向链,寻找任一个结点的直接前驱结点与直接后继结点变得非常方便。

指向双链表中某一结点,则有下式成立:

p->prior->next = p = p->next->prior

图2.14 双向循环链表图示

图2.15 双向链表插入操作

双向链表的删除操作

图2.16 双向链表的删除操作

静态链表同样可以借助一维数组来描述:

1000

图2.17 静态链表的插入和删除操作示例

s, ElemType e){

i=s[i].cur;

IniteSpace_SL(SlinkList &space){

1,而链表的存储密度小

则单链表的存储密度为因此若不

而单链表的存储空间利用率为

在链表中的任何位置上进行插入和删除,都只需要修改指针。而在顺序表中进行插入和删除,平均要移动表中近一半的结点,尤其是当每个结点的信息量较大时,移动结点的时间开销就相当可观。因此,对于频繁进宜采用链表做存储结构。若表的插入和删除主要发生在表的首尾两端,

对于没有提供指针类型的高级语言,

在存储分配上有不足之处,但它和动态链表一样,具有插入和删除方便的特点。

值得指出的是,即使是对那些具有指针类型的语言,静态链表也有其用武之地。特别是当线性表的长度不

个系数唯一确定。因此,在计算机内,可以用一个线性表P来表示:则它也可以用一个线性表Q来表示,

,则两个多项式相加的结果Rn(x)=Pn(x)+Q m(x),也可以用线性表

我们可以采用顺序存储结构来实现顺序表的方法,使得多项式的相加的算法定义十分简单,即

20001个空间,而存储的有用数据只有三个,这无疑是一种浪费。则必须存储相应的指数信息才行。

在最坏情况下,即n+1个系数都不为零,则比只存储系数的方法多存储

但对于非零系数多的多项式则不宜采用这种表示。

图2.18 多项式的单链表表示法

所指的结点应是“和多项式”中的一项,所指的结点应是“和多项式”中的一项,将结点

栈的定义

栈作为一种限定性线性表,是将线性表的插入和删除运算限制为仅在表尾进行,通常将表中允许进行删除操作的一端称为栈顶

器指示。同时表的另一端被称为栈底

数据元素:可以是任意类型的数据,但必须属于同一个数据对象。数据关系:栈中数据元素之间是线性关系。

基本操作:

InitStack(&S)

初始条件:S为未初始化的栈。

操作结果:将S初始化为空栈。

ClearStack(&S)

已经存在。

置成空栈。

StackEmpty(S)

初始条件:栈S已经存在。

操作结果:若S为空栈,则函数值为TRUE,否则FALSE

已经存在。

的顶部插入(亦称压入

Pop(&S, &e)

初始条件:栈S已经存在。

操作结果:删除栈S的顶部元素,并用

GetTop(S, &e)

已经存在。

的顶部元素。

GetTop(S,&e)不改变栈顶的位置。

typedef struct {

SElemType * base;

SElemType *top;

顺序栈基本操作的实现如下:

Status InitStack (SqStack &S){

S.base=(SElemType *)malloc

(STACK_INIT_SIZE *sizeof(SElemType)); Status GetTop(SqStack S, SElemType &e)

Status Push(SqStack &S, SElemType e){

if (S.top - S.base>= S.stacksize){

S.base=(SElemType*)realloc(S.base,

Status Pop(SqStack &S, SelemType &e)

If( S.top==S.base) return ERROR;

数制转换

假设要将十进制数N转换为d进制数,一个简单的转换算法是重复下述两步,直到X = N mod d (其中mod为求余运算)

N = N div d (为整除运算)

栈非常重要的一个应用是在程序设计语言中用来实现递归。递归是指在定义自身的同时又出现了对自身的调

递归函数

很多数学函数是递归定义的,

一个函数调用另一个函数时,在运行被调用函数之前,系统做的工作有:

保留本层参数与返回地址(将所有的实在参数、返回地址等信息传递给被调用函数保存)给下层参数赋值(为被调用函数的局部变量分配存储区);

将程序转移到被调函数的入口。

恢复上层参数(释放被调函数的数据区)

依照被调函数保存的返回地址,将控制转移回调用函数。

当多个函数调用时按后调用先返回的原则。

中的任何一个塔座上;

任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。

时,问题比较简单,只要将编号为

2 if(n==1)

3 move(x,1,z); /* 的圆盘从X Z */

4 else {

5 hanoi(n-1,x,z,y); /* 的圆盘移到 */

6 move(x,n,z); /* Z */

7 hanoi(n-1,y,x,z); /* 的圆盘移动到作辅助塔 */

算法:

下面给出三个盘子搬动时

hanoi(2,A,C,B):

hanoi(1,A,B,C) move(A->C) 1

move(A->B) B

hanoi(1,C,A,B) move(C->B) 1号搬到

hanoi(1,B,C,A) move(B->A)

move(B->c) 2C

hanoi(1,A,B,C) move(A->C) C

递归问题的优点

通过上面的例子可看出,递归既是强有力的数学方法,也是程序设计中一个很有用的工具。对递归问题描述简捷,结构清晰,程序的正确性容易证明。

递归算法求解问题的要素

递归算法就是算法中有直接或间接调用算法本身的算法。递归算法的要点如下:问题具有类同自身的子问题的性质,被定义项在定义

2017数据结构实验指导书

《数据结构》实验指导书 贵州大学 电子信息学院 通信工程

目录 实验一顺序表的操作 (3) 实验二链表操作 (8) 实验三集合、稀疏矩阵和广义表 (19) 实验四栈和队列 (42) 实验五二叉树操作、图形或网状结构 (55) 实验六查找、排序 (88) 贵州大学实验报告 (109)

实验一顺序表的操作 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的和要求 1、熟练掌握线性表的基本操作在顺序存储和链式存储上的实现。 2、以线性表的各种操作(建立、插入、删除等)的实现为重点。 3、掌握线性表的动态分配顺序存储结构的定义和基本操作的实现。 二、实验内容及步骤要求 1、定义顺序表类型,输入一组整型数据,建立顺序表。 typedef int ElemType; //定义顺序表 struct List{ ElemType *list; int Size; int MaxSize; }; 2、实现该线性表的删除。 3、实现该线性表的插入。 4、实现线性表中数据的显示。 5、实现线性表数据的定位和查找。 6、编写一个主函数,调试上述算法。 7、完成实验报告。 三、实验原理、方法和手段 1、根据实验内容编程,上机调试、得出正确的运行程序。 2、编译运行程序,观察运行情况和输出结果。 四、实验条件 运行Visual c++的微机一台 五、实验结果与分析 对程序进行调试,并将运行结果进行截图、对所得到的的结果分析。 六、实验总结 记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等,并将其写入实验报告中。

【附录----源程序】 #include #include using namespace std; typedef int ElemType; struct List { ElemType *list; int Size; int MaxSize; }; //初始化线性表 bool InitList(List &L) { L.MaxSize=20; L.list=new ElemType[L.MaxSize]; for(int i=0;i<20&&L.list==NULL;i++) { L.list=new ElemType[L.MaxSize]; } if(L.list==NULL) { cout<<"无法分配内存空间,退出程序"<L.Size+1||pos<1) { cout<<"位置无效"<

安全生产内业资料管理制度正式版

Through the joint creation of clear rules, the establishment of common values, strengthen the code of conduct in individual learning, realize the value contribution to the organization.安全生产内业资料管理制 度正式版

安全生产内业资料管理制度正式版 下载提示:此管理制度资料适用于通过共同创造,促进集体发展的明文规则,建立共同的价值观、培养团队精神、加强个人学习方面的行为准则,实现对自我,对组织的价值贡献。文档可以直接使用,也可根据实际需要修订后使用。 随着安全生产管理的开展,安全标准化建设的推扩及“十二五”国家安全生产规划的计划实施,做好安全内业资料管理工作将成为安全监理工作的重要日程,我监理部根据相关安全管理规定要求特制定本制度以加强安全监理工作程序化、标准化、痕迹化的管理工作。 一、按《交通部“平安工地”建设评分表内容》建立健全各种安全管理责任制度具体如下: 1、安全生产管理办法; 2、安全监理实施细则;

3、安全生产检查制度; 4、安全生产会议制度; 5、安全生产教育培训制度; 6、安全生产费用管理制度; 7、安全隐患及重大危险源管理制度; 8、安全生产应急及事故处理制度; 9、安全生产责任制考核奖惩制度; 10、专项方案安全监理办法。 二、及时对各种资料反馈情况、参数等进行分类进行登记归档。 三、每月对各种资料25日前定时对本月定时进行检查、校对、整理。 四、根据各种资料的闭合情况,指导工作计划及实施过程的控制,使安全管理工作走向制度化、标准化、程序化。

安全资料内业资料管理细则

安全资料及内业资料管理细则 一、总则 1、内业资料是真实记述和反映工程项目建设和管理等活动的历史记录,是在过程管理和控制活动中所形成的有组织的文件和资料,是质量信誉评价、竣工交付、施工索赔和结算等工作的基础,内业资料质量的好坏将对项目施工全过程控制起到关键性的作用,并为加快发展现代科学技术以及更好地开展生产经营活动提供必要条件和科学依据。 2、内业资料管理是工程项目管理工作的重要组成部分,体现了工程项目的管理水平。为全面推动和加强内业资料管理工作,不断提高内业资料管理水平和质量,确保内业资料真实完整和规范,满足本项目质量控制和管理工作的需要,达到精细化管理,根据公司的有关规定工程质量信誉评价的需要,结合项目实际,特制定本细则。 二、组织机构及主要职责 1、项目经理对本项目的资料管理工作全面负责,项目总工对内业资料管理具体负责,其他项目领导班子成员和各职能部门负责人、各作业层分别按照各自分工负责各分管范围内内业资料管理工作。 2、为加强对内业资料管理,成立内业资料管理领导小组. 3、管理职责; (1)管理小组职责:监督、检查、指导和帮助内业资料相关部门和人员做好各项具体工作,定期组织内业资料检查考评,及时处理解决内业资料管理中存在的主要问题。 (2)工程部是整理工程施工技术资料的主要责任部门,负责标准规范、设计图纸、设计变更和施组、工艺等各种施工技术资料的收集、整理和管理工作。 (3)质量管理部是整理工程施工质量检验资料的主要责任部门,负责进行质量管理、检验、监督检查等质量资料的收集、整理、保管和所有技术、质量资料的归档工作,并负责与监理、业主和质检站相关质量方面的往来文件。 (4)安全环保部是整理安全、环保资料的主要责任部门,负责安全、环保相关资料的形成、收集、整理和保管工作。 (5)试验室是整理工程原材料和过程检验、试验资料等质量保证资料的主要责任部门,负责各种质保资料和试验管理台帐、各种检验、试验资料的形成、收集、整理和保管工作。 (6)测量组是本工程项目施工测量工作的主要责任部门,负责测量管理台帐、交接桩记录、复测资料和各种过程测量资料的形成、收集、整理和保管工作。 (7)其他业务部门按照业务分工分别负责施工设备、施工用电、工程物资、工程合同、工程计划、工程计价、人力资源、职工培训、办公用品等相关内业资料的产生、收集、整理和保管等工作。 (8)生产分部职责:负责施工现场工程日志和其他原始记录等内业资料的形成、积累等工作。 三、内业资料管理原则 内业资料整理遵循“及时、准确、真实、规范、完整”的原则,即: 1)及时:及时填写,及时签字,及时整理,及时归档。 2)准确:内容准确无误,符合相关标准的要求。

数据结构课程实验指导书

数据结构实验指导书 一、实验目的 《数据结构》是计算机学科一门重要的专业基础课程,也是计算机学科的一门核心课程。本课程较为系统地论述了软件设计中常用的数据结构以及相应的存储结构与实现算法,并做了相应的性能分析和比较,课程内容丰富,理论系统。本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。 由于以下原因,使得掌握这门课程具有较大的难度: 1)理论艰深,方法灵活,给学习带来困难; 2)内容丰富,涉及的知识较多,学习有一定的难度; 3)侧重于知识的实际应用,要求学生有较好的思维以及较强的分析和解决问题的能力,因而加大了学习的难度; 根据《数据结构》课程本身的特性,通过实验实践内容的训练,突出构造性思维训练的特征,目的是提高学生分析问题,组织数据及设计大型软件的能力。 课程上机实验的目的,不仅仅是验证教材和讲课的内容,检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面: (1)加深对课堂讲授内容的理解 实验是对学生的一种全面综合训练。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,实验题中的问题比平时的习题复杂得多,也更接近实际。实验着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变" 活" ,起到深化理解和灵活掌握教学内容的目的。 不少学生在解答习题尤其是算法设计时,觉得无从下手。实验中的内容和教科书的内容是密切相关的,解决题目要求所需的各种技术大多可从教科书中找到,只不过其出

现的形式呈多样化,因此需要仔细体会,在反复实践的过程中才能掌握。 (2) 培养学生软件设计的综合能力 平时的练习较偏重于如何编写功能单一的" 小" 算法,而实验题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。 通过实验使学生不仅能够深化理解教学内容,进一步提高灵活运用数据结构、算法和程序设计技术的能力,而且可以在需求分析、总体结构设计、算法设计、程序设计、上机操作及程序调试等基本技能方面受到综合训练。实验着眼于原理与应用的结合点,使学生学会如何把书本上和课堂上学到的知识用于解决实际问题,从而培养计算机软件工作所需要的动手能力。 (3) 熟悉程序开发环境,学习上机调试程序一个程序从编辑,编译,连接到运行,都要在一定的外部操作环境下才能进行。所谓" 环境" 就是所用的计算机系统硬件,软件条件,只有学会使用这些环境,才能进行 程序开发工作。通过上机实验,熟练地掌握程序的开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。 完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆语法错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,尽快掌握程序调试方法是非常重要的。分析问题,选择算法,编好程序,只能说完成一半工作,另一半工作就是调试程序,运行程序并得到正确结果。 二、实验要求 常用的软件开发方法,是将软件开发过程划分为分析、设计、实现和维护四个阶段。虽然数据结构课程中的实验题目的远不如从实际问题中的复杂程度度高,但为了培养一个软件工作者所应具备的科学工作的方法和作风,也应遵循以下五个步骤来完成实验题目: 1) 问题分析和任务定义 在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。本步骤强调的是做什么?而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的

数据结构实验指导书2014(1)

《数据结构》实验指导书 专业:____________班级:_______________组序:_____________ 学号:______________姓名:_______________ 中国矿业大学管理学院 2014 年9 月

上篇程序设计基础 实验一 Java编程环境 【实验目的】 1.掌握下载Java sdk软件包、Eclipse软件的安装和使用方法 2.掌握设置Java程序运行环境的方法 3.掌握编写与运行Java程序的方法 4.了解Java语言的概貌 【实验内容】 一 JDK下载与安装 1. 下载JDK 为了建立基于SDK的Java运行环境,需要先下载免费SDK软件包。SDK包含了一整套开发工具,其中包含对编程最有用的是Java编译器、Applet查看器和Java解释器。下载链接 https://www.360docs.net/doc/c316700509.html,。 2.安装SDK 运行下载的JDK软件包,在安装过程中可以设置安装路径及选择组件,默认的组件选择是全部安装,安装成功后,其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,demo文件夹中包含开源代码程序实例。 安装成功后,文件和子目录结构如图1所示。其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,sample文件夹包含开源代码程序实例,src压缩文件中包含类库开源代码。 图1 二.设置环境变量

安全生产管理内业资料清单

安全生产管理内业资料清单 一、管理制度存档 1、建立安全生产目标的管理制度,明确目标与指标的制定、分解、实施、考核 等环节内容。 2、建立设置安全管理机构、配备安全管理人员的管理制度。 3、建立针对安全生产责任制的制定、沟通、培训、评审、修订及考核等环节内 容的管理制度。 4、建立健全安全生产责任制,并对落实情况进行考核。 5、建立安全生产费用提取和使用管理制度。 6、建立员工工伤保险、安全生产责任保险的管理制度。 7、建立识别、获取、评审、更新安全生产法律法规与其他要求的管理制度。 8、建立规章制度的管理制度,确保安全生产规章制度和操作规程编制、发布、 使用、评审、修订等效力。 9、建立文件和档案的管理制度,明确责任部门、人员、流程、形式、权限及各 类安全生产档案及保存要求等。 10、建立安全教育培训的管理制度。 11、建立生产设备设施变更管理制度,履行变更程序,并对变更的全过程进行隐 患控制。 12、建立设备设施的检修、维护、保养管理制度。 13、建立至少包括下列危险作业的安全管理制度,明确责任部门、人员、许可范 围、审批程序、许可签发人员等。 14、建立警示标志和安全防护的管理制度。 15、建立有关承包商、供应商等相关方的管理制度。 16、建立有关人员、机构、工艺、技术、设施、作业过程及环境变更的管理制度, 并制定实施计划。 17、建立隐患排查治理的管理制度,明确责任部门、人员、方法。 18、制定隐患排查工作方案,明确排查的目的、范围、方法和要求等。 19、建立危险源的管理制度,明确辨识与评估的职责、方法、范围、流程、控制 原则、回顾、持续改进等。

20、建立职业健康的管理制度。 21、建立健全职业卫生档案和员工健康监护档案。对接触职业危害的作业人员, 每1~2年应进行一次职业危害体检,体检结果记入“职业健康监护档案”。 22、建立事故应急救援制度。建立火灾、爆炸和毒物逸散等重大事故的专项应急 预案。 23、建立事故的管理制度,明确报告、调查、统计与分析、回顾、书面报告样式 和表格等内容。 24、建立安全生产标准化绩效评定的管理制度,明确对安全生产目标完成情况、 现场安全状况与标准化规范的符合情况、安全管理实施计划的落实情况的测量评估的方法、组织、周期、过程、报告与分析等要求,测量评估应得出可量化的绩效指标。 25、按照相关规定建立和发布健全的安全生产规章制度,至少包含下列内容:安 全目标管理、安全生产责任制管理、法律法规标准规范管理、领导现场带班、班组岗位达标、安全生产投入管理、文件和档案管理、风险评估和控制管理、安全教育培训管理、特种作业人员管理、设备设施安全管理、建设项目安全设施“三同时”管理、生产设备设施验收管理、生产设备设施报废管理、施工和检(维)修安全管理、危险物品及重大危险源管理、作业安全管理、相关方及外用工(单位)管理、职业健康管理、劳动防护用品(具)和保健品管理、安全检查及隐患治理、应急管理、事故管理、安全绩效评定管理、消防安全管理等。 26、主要安全生产资料进行档案管理:安全生产会议记录(含纪要)、安全费用 提取使用记录、员工安全教育培训记录、劳动防护用品采购发放记录、危险源管理台帐、安全生产检查记录、授权作业指令单、事故调查处理报告、事故隐患整改记录、安全生产奖惩记录、特种作业人员登记记录、特种设备管理记录、外来施工队伍安全管理记录、安全设备设施管理台账(包括安装、运行、维护等)、有关强制性检测检验报告或记录、新改扩建项目“三同时”、风险评价信息、职业健康检查与监护记录、应急演习信息、技术图纸等。

安全管理内业资料内容

安全管理档案 工程名称 建设单位 监理单位 施工单位 建档日期 结档日期

总目录 第一部分、安全生产责任制 第二部分、目标管理 第三部分、施工组织设计{包括应急管理内容(应急预案、应急演练方案、演练总结)} 第四部分、分部分项工程安全技术交底 第五部分、安全检查 第六部分、安全教育 第七部分、班前安全活动 第八部分、特种作业持证上岗 第九部分、工伤事故处理 第十部分、安全标志 第十一部份、 第十一部份、文明施工 (以上为安全内业资料主要内容)

第一部分、安全生产责任制 具体内容 1、安全生产责任制(按中冶天工安全生产责任制内容编制) 2、职能部门安全生产责任制(按中冶天工安全生产责任制内容编制) 3、安全生产责任制考核办法(按范本制定) 4、安全生产责任制考核表 5、安全生产责任书 6、项目部管理人员表(附上岗证复印件) 7、各工种安全技术操作规程 8、安全经理、专(兼)职安全员聘书(任命书) 9、安全生产值班制度(自编) 10、安全生产值班表及值班记录(自编)

安全生产责任书 见(中冶天工分包工程安全生产协议书) (2008.10版)

( )项目部管理人员表

第二部分、目标管理 具体内容 1、安全管理目标(按中冶天工管理目标) 2、安全管理目标考核办法(按中冶天工安全生产管理办法自行制定) 3、安全责任目标分解 4、安全管理目标考核记录 项目安全管理目标 一、事故控制目标 1、杜绝死亡,重伤事故,轻伤事故频率 3 ‰以下 2、杜绝火灾,中毒,机械设备事故。 二、达标目标 依照《中冶天工施工现场安全管理标准》每次检查均达到合格(优良)。 三、文明施工目标 本项目必须创县、地(市)、省(合格、优良)安全文明工地。 补充:

实验指导-数据结构B教案资料

实验指导-数据结构B

附录综合实验 1、实验目的 本课程的目标之一是使得学生学会如何从问题出发,分析数据,构造求解问题的数据结构和算法,培养学生进行较复杂程序设计的能力。本课程实践性较强,为实现课程目标,要求学生完成一定数量的上机实验。从而一方面使得学生加深对课内所学的各种数据的逻辑结构、存储表示和运算的方法等基本内容的理解,学习如何运用所学的数据结构和算法知识解决应用问题的方法;另一方面,在程序设计方法、C语言编程环境以及程序的调试和测试等方面得到必要的训练。 2、实验基本要求: 1)学习使用自顶向下的分析方法,分析问题空间中存在哪些模块,明确这些模块之间的关系。 2)使用结构化的系统设计方法,将系统中存在的各个模块合理组织成层次结构,并明确定义各个结构体。确定模块的主要数据结构和接口。 3)熟练使用C语言环境来实现或重用模块,从而实现系统的层次结构。模块的实现包括结构体的定义和函数的实现。 4)学会利用数据结构所学知识设计结构清晰的算法和程序,并会分析所设计的算法的时间和空间复杂度。 5)所有的算法和实现均使用C语言进行描述,实验结束写出实验报告。

3、实验项目与内容: 1、线性表的基本运算及多项式的算术运算 内容:实现顺序表和单链表的基本运算,多项式的加法和乘法算术运算。 要求:能够正确演示线性表的查找、插入、删除运算。实现多项式的加法和乘法运算操作。 2、二叉树的基本操作及哈夫曼编码译码系统的实现 内容:创建一棵二叉树,实现先序、中序和后序遍历一棵二叉树,计算二叉树结点个数等操作。哈夫曼编码/译码系统。 要求:能成功演示二叉树的有关运算,实现哈夫曼编码/译码的功能,运算完毕后能成功释放二叉树所有结点占用的系统内存。 3、图的基本运算及智能交通中的最佳路径选择问题 内容:在邻接矩阵和邻接表两种不同存储结构上实现图的基本运算的算法,实现图的深度和宽度优先遍历算法,解决智能交通中的路径选择问题。设有n 个地点,编号为0~n-1,m条路径的起点、终点和代价由用户输入提供,寻找最佳路径方案(例如花费时间最少、路径长度最短、交通费用最小等,任选其一即可)。 要求:设计主函数,测试上述运算。 4、各种内排序算法的实现及性能比较 内容:验证教材的各种内排序算法。分析各种排序算法的时间复杂度。 要求:使用随机数产生器产生较大规模数据集合,运行上述各种排序算法,使用系统时钟测量各算法所需的实际时间,并进行比较。

《数据结构》实验指导书

《数据结构》实验指导书 实验类别:课内实验实验课程名称:数据结构 实验室名称:软件工程实验室实验课程编号:N02070601 总学时:64 学分: 4 适用专业:计算机科学与技术、网络工程、物联网工程、数字媒体专业 先修课程:计算机科学导论、离散数学 实验在教学培养计划中地位、作用: 数据结构是计算机软件相关专业的主干课程,也是计算机软硬件专业的重要基础课程。数据结构课程实验的目的是通过实验掌握数据结构的基本理论和算法,并运用它们来解决实际问题。数据结构课程实验是提高学生动手能力的重要的实践教学环节,对于培养学生的基本素质以及掌握程序设计的基本技能并养成良好的程序设计习惯方面发挥重要的作用。 实验一线性表的应用(2学时) 1、实验目的 通过本实验,掌握线性表链式存储结构的基本原理和基本运算以及在实际问题中的应用。 2、实验内容 建立某班学生的通讯录,要求用链表存储。 具体功能包括: (1)可以实现插入一个同学的通讯录记录; (2)能够删除某位同学的通讯录; (3)对通讯录打印输出。 3、实验要求 (1)定义通讯录内容的结构体; (2)建立存储通讯录的链表结构并初始化; (3)建立主函数: 1)建立录入函数(返回主界面) 2)建立插入函数(返回主界面) 3)建立删除函数(返回主界面) 4)建立输出和打印函数(返回主界面) I)通过循环对所有成员记录输出 II)输出指定姓名的某个同学的通讯录记录 5)退出 实验二树的应用(2学时) 1、实验目的 通过本实验掌握二叉排序树的建立和排序算法,了解二叉排序树在实际中的应用并熟练运用二叉排序树解决实际问题。 2、实验内容 建立一个由多种化妆品品牌价格组成的二叉排序树,并按照价格从低到高的顺序 打印输出。 3、实验要求 (1)创建化妆品信息的结构体; (2)定义二叉排序树链表的结点结构; (3)依次输入各类化妆品品牌的价格并按二叉排序树的要求创建一个二叉排序树链表;(4)对二叉排序树进行中序遍历输出,打印按价格从低到高顺序排列的化妆品品牌信息。 实验三图的应用(2学时)

建筑安全安全内业资料管理制度.doc

(建筑安全)安全内业资料管理制度4 安全内业资料管理制度 第一条 工区项目部安全管理内业资料主要包括: 1.安全生产责任制台帐(包括本级安全管理组织机构文件、安全包保责任状、安全生产责任制和安全生产目标考核等); 2.安全生产管理制度台帐; 3.安全生产宣传教育培训台帐(本级安全宣传培训资料,各项目分部三级教育汇总情况); 4.安全生产检查与隐患整改台帐(包括本级定期和经常性安全检查情况等); 5.安全专题会议记录台帐(制定规章制度、部署安全检查、研究安全奖罚事宜和较大隐患治理方案等); 6.专项施工方案、安全技术交底监控备案台帐; 7.安全保证资金使用管理汇总统计台帐; 8.特种作业人员、危险岗位操作人员花名册汇总统计台帐; 9.施工机械、特种设备汇总统计台帐(含分包方设备,内容主要包括;设备名称、编号、操作人员及操作证书编号等);

10.生产安全事故应急预案管理台帐(各工区编制的应急预案备案,本级综合预案的编制、审批、演练、修订等,地方和业主相关应急预案等) 11.生产安全事故记录和报告、调查处理资料等。 12.上级制订下发的有关安全生产的规章制度、通知、通报等。 第二条 安全报表上报时间要求: 1.月报:工区于每月22日前将安全情况报表报送工区项目部安质部。 2.半年报表:工区于6月30日前报送工区项目部安质部,并附安全生产工作小结。 3.年度报表:工区于12月30日前报送工区项目部安质部,并附年度安全工作小结。 第三条 各工区安全管理内业资料至少包括: 1.安全生产责任制台帐(包括本级安全管理组织机构文件、安全包保责任状、安全生产责任制和责任目标考核记录等); 2.安全生产管理制度台帐; 3.安全生产宣传教育培训、学习和活动资料; 4.上场员工“三级”教育资料; 5.安全生产检查与隐患整改台帐(包括本级定期和经常性安全检查情况

《数据结构》实验指导

《数据结构》实验指导 (计算机信息大类适用) 实验报告至少包含以下内容: 实验名称 实验目的与要求: 实验内容与步骤(需要你进行细化): 实验结果(若顺利完成,可简单说明;若实验过程中遇到问题,也请在此说明) 收获与体会(根据个人的实际情况进行说明,不得空缺) 实验1 大整数加法(8课时) 目的与要求: 1、线性表的链式存储结构及其基本运算、实现方法和技术的训练。 2、单链表的简单应用训练。 3、熟悉标准模版库STL中的链表相关的知识。 内容与步骤: 1、编程实现单链表的基本操作。 2、利用单链表存储大整数(大整数的位数不限)。 3、利用单链表实现两个大整数的相加运算。 4、进行测试,完成HLOJ(https://www.360docs.net/doc/c316700509.html,) 9515 02-线性表大整数A+B。 5、用STL之list完成上面的任务。 6、尝试完成HLOJ 9516 02-线性表大菲波数。 实验2 栈序列匹配(8课时) 目的与要求 1、栈的顺序存储结构及其基本运算、实现方法和技术的训练。 2、栈的简单应用训练。 3、熟悉标准模版库STL中的栈相关的知识。 内容与步骤: 1、编程实现顺序栈及其基本操作。 2、对于给出的入栈序列和出栈序列,判断2个序列是否相容。即:能否利用栈 将入栈序列转换为出栈序列。 3、进行测试,完成HLOJ 9525 03-栈与队列栈序列匹配。 4、用STL之stack完成上面的任务。 5、尝试完成HLOJ 9522 03-栈与队列胡同。

实验3 二叉排序树(8课时) 目的与要求 1、二叉树的链式存储结构及其基本运算、实现方法和技术的训练。 2、二叉树的遍历方法的训练。 3、二叉树的简单应用。 内容与步骤: 1、编程实现采用链式存储结构的二叉排序树。 2、实现插入节点的操作。 3、实现查找节点的操作(若查找失败,则将新节点插入二叉排序树)。 4、利用遍历算法对该二叉排序树中结点的关键字按递增和递减顺序输出,完成 HLOJ 9576 07-查找二叉排序树。 5、尝试利用二叉排序树完成HLOJ 9580 07-查找Let the Balloon Rise。 实验4 最小生成树(8课时) 目的与要求 1、图的邻接矩阵存储结构及其相关运算的训练。 2、掌握最小生成树的概念。 3、利用Prim算法求解最小生成树。 实验背景: 给定一个地区的n个城市间的距离网,用Prim算法建立最小生成树,并计算得到的最小生成树的代价。要求显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。 内容与步骤: 1、建立采用邻接矩阵的图。 2、编程实现Prim算法,求解最小生成树的代价。 3、尝试利用Prim算法完成:HLOJ 9561 06-图最小生成树。

安全生产内业资料清单

安全生产内业资料清单 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

安全生产内业资料清单 一、手续:1、安全生产“三同时”验收批文。 2、安全生产验收评价报告、现状评价报告、预评价报告、安全设施设计专篇复印件或批文。3、安全生产许可证(只针对矿山企业、建筑施工企业、危险化学品、烟花爆竹、民用爆炸物品生产企业)。 二、证书:1、企业主要负责人、安全管理人员安全管理资格培训合格证书。2、特种操作人员证书,包括:电工、焊工、十五大工艺操作工等。3、防雷、防静电检测合格证。4、特种设备检定证书、压力容器检定证书。 三、教育培训:1、安全教育培训计划、档案、台账。2、特种作业人员培训台账。3、三级教育培训档案、台账、记录(培训教材、讲义、培训人员签到、考试考核结果)。 四、制度及文件:1、安全生产年度工作计划和工作总结。2、安全生产责任制度。3、安全生产规章制度:安全检查和隐患排查治理,事故管理,防火防爆,重点部位管理、重大危险源监控管理制度,应急救援管理制度,危险化学品安全管理,劳动防护用品管理,安全生产投入费用提取和管理制度、安全教育培训等制度。5、文件:安全管理机构及配备、安全领导小组设立文件、安全管理人员的任命文件、安全生产会议记录、安全生产工作职责等。 五、应急救援预案:1、结合实际制定生产安全事故应急预案或处置方案(小型企业或危险性小的企业)。2、应急救援预案修订记录。3、应急救援预案演练计划、总结。4、应急预案备案材料。 六、重大危险源备案:1、重大危险源辨识报告、重大危险源清单与台账。 2、重大危险源备案材料。 3、重大危险源监管、监控、检测记录。 4、重大危险源安全检查记录。 七、记录:1、各级安全生产执法机关下发的执法文书。2、安全生产费用提取及使用台账。3、操作规程发放记录。4、隐患排查与整改情况记录。 八、职业卫生:1、建设项目职业卫生“三同时”档案,包括设计专篇,预评价报告、评价报告、验收报告。2、职业病危害因素监测与检测评价档案,包括工作场所年度检测报告。3、劳动者个人职业健康监护档案:劳动者个人信息卡,工作场所职业病危害因素检测结果,历次职业健康检查结果及处理情况,历次职业健康体检报告、职业病诊疗等资料,其他职业健康监护资料。4、职业卫生管理档案:职业病防治法律、行政法规、规章、标准、文件,职业病防治领导机构及职业卫生管理机构成立文件,职业病防治年度计划及实施方案职业卫生管理制度及重点岗位职业卫生操作规程(9项),职业病防护设施维护和检修记录,个人防护用品的购买、发放使用记录,警示标识与职业病危害告知,职业病危害事故应急救援预案,用人单位职业卫生检查和处理记录,职业卫生监管意见和落实情况资料。5、职业卫生宣传培训档案:用人单位职业卫生培训计划,用人单位负责人、职业卫生管理人员职业卫生培训证明,劳动者职业卫生宣传培训,年度职业卫生宣传培训一览表,年度职业卫生培训工作总结。6、用人单位职业健康监护管理档案:职业健康检查机构资质证书,职业健康检查结果汇总表,职业健康检查异常结果登记表,职业病患者、疑似职业病患者一览表,职业病和疑似职业病人的报告,职业病危害事故报告和处理记录,职业健康监护档案汇总表。

数据结构实验指导书

《数据结构与算法》实验指导书马晓波秦俊平刘利民编 内蒙古工业大学信息工程学院计算机系 2008年9月1日

《数据结构与算法》实验教学大纲 三、实验目的、内容与要求 实验一线性表的创建与访问算法设计(4学时) (一)实验目的 数据结构于算法实验是计算机类本科学生计算机软件知识重要的实验环节,它将使学生从实践上学会用高级语言程序设计、实现复杂的数据结构,为大型软件设计奠定基础。本实验以某种线性表的创建与访问算法设计作为实验内容,举一反三,全面、深刻掌握线性结构的实现方法,培养解决问题的能力。 (二)实验内容 1、编写生成线性表的函数,线性表的元素从键盘输入; 2、编写在线性表中插入元素的函数; 3、编写在线性表中删除元素的函数; 4、编写输出线性表的函数; 5、编写主函数,调用以上各函数,以便能观察出原线性表以及作了插入或删除后线性表的屏 幕输出。 方案一采用顺序存储结构实现线性表。 方案二采用单链表结构实现线性表。 (三)实验要求 1、掌握线性结构的机器内表示; 2、掌握线性结构之上的算法设计与实现; 3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。 实验二二叉树的创建与访问算法设计(4学时) (一)实验目的 本实验以二叉树的创建与访问算法设计作为实验内容,掌握树型结构的实现方法,培养解决负责问题的能力。 (二)实验内容 1、编写生成二叉树的函数,二叉树的元素从键盘输入; 2、编写在二叉树中插入元素的函数;

3、编写在二叉树中删除元素的函数; 4、编写遍历并输出二叉树的函数。 方案一采用递归算法实现二叉树遍历算法。 方案二采用非递归算法实现二叉树遍历算法。 (三)实验要求 1、掌握树型结构的机器内表示; 2、掌握树型结构之上的算法设计与实现; 3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。 实验三图的创建与访问算法设计(4学时) (一)实验目的 本实验以图的创建与访问算法设计作为实验内容,掌握图型结构的实现方法,培养解决负责问题的能力。 (二)实验内容 1、编写生成图的函数,图的元素从文件输入; 2、编写在图中插入元素的函数; 3、编写在图中删除元素的函数; 4、编写遍历并输出图的函数。 方案一采用BFS深度优先搜索算法实现图的遍历。 方案二采用DFS广度优先搜索算法实现图的遍历。 (三)实验要求 1、掌握图结构的机器内表示; 2、掌握图型结构之上的算法设计与实现; 3、列表对比分析两种数据结构的相应操作的时间复杂度、空间复杂度,阐明产生差异的原因。 四、考核方式 1、学生课前要认真阅读实验教材,理解实验内容与相关理论知识的关系,并完成预习报告; 2、实验课上教师讲解实验难点及需要注意的问题,并对实验数据签字; 3、学生课后要完成实验报告,并将签字的实验数据与实验报告交给带课教师; 4、教师根据学生实验情况,及时对实验内容和方法进行必要的调整和改进。 根据实验预习报告、实验课考勤、课上实验能力与实验效果、实验报告的完成情况确定最终的实验成绩,实验成绩占课程总成绩的10%。 五、建议教材与教学参考书 1、建议教材 [1]严蔚敏、吴伟民主编. 数据结构(C语言版). 北京:清华大学出版社,1997 2、教学参考书 [1] 严蔚敏、吴伟民主编. 数据结构题集(C语言版). 北京:清华大学出版社,1997 [2] 李春葆编. 数据结构习题与解析. 北京:清华大学出版社,2002 [3] 刘振鹏主编. 数据结构. 北京:中国铁道出版社,2003 [4] 许卓群编.数据结构.北京:中央电大出版社, 2001 [5] Anany Levitin著.潘彦译.算法设计与分析.北京:清华大学出版社, 2004

安全内业资料管理办法

目录 安全内业资料管理办法 (2) 一、编制依据 (2) 二、编制目的 (3) 三、档案资料的主要内容及要求 (3) 第一类、备存档类 (3) 第二类、文本资料类 (4) 第三类、台账类 (5) 四、安全资料管理 (8)

安全内业资料管理办法 一、编制依据 1、《公路施工标准化管理指南》 2、《公路交通安全设施设计规范》(JTG D81-2006) 3、《公路交通安全设施设计细则》(JTG/T D81-2006) 4、《公路交通标志和标线设置规范》(JTG D82-2009) 5、《道路交通标志和标线》(GB5768-2009) 6、《公路环境保护设计规范》(JTJ/T006-98) 7、《中华人民共和国安全生产法》 8、《中华人民共和国劳动法》 9、《中华人民共和国消防法》 11、《中华人民共和国职业病防治法》 12、《中华人民共和国环境保护法》 13、《中华人民共和国固体废弃物污染环境防治法》 14、《中华人民共和国噪声污染防治法》 15、《建设项目环境保护管理条例》 16、项目经理部实施性施工组织设计

二、编制目的 1、为规范本标段安全生产资料管理、收集、存档,制定本办法 2、各部门施工当中按照本办法规定,及时收集、整理、上报项目部需提供的各类安全生产记录并备份。 3、安全生产资料除纸质文件外,还应建立电子文档并对应。 4、各工区应参照本办法建立动态资料管理台账。 三、档案资料的主要内容及要求 第一类、备存档类 安档1安全生产保证体系:包括成立安全生产组织机构文件、专职安全员任命文件、公司安全生产资质证书、协作队伍安全生产资质证书、安全生产工作流程图,三类人员一览表及人员资质证书;要求分别建立管理台帐,对需要及时更新、复审的证书提前30天告知并按上级要求上报复审计划,对人员流动更换的要实行动态管理。 安档2往来文件管理:及时收集整理业主、监理、地方政府和各劳务协作队伍往来文件,建立完整目录,便于查阅;对于需要回复或闭合的文件应单独归档闭合。 安档3上级重要文件及监理指令闭合:包括上级重要文件及回复、安全监理指令及闭合;要求建立台账、一一对应。 安档4安全工作日志:要求项目部各专职安全管理人员及时记录安全工作日志,定期报项目部内业资料员归档备查。

数据结构实验指导书及答案(徐州工程学院)

《数据结构实验》实验指导书及答案

信电工程学院计算机科学和技术教研室编 2011.12 数据结构实验所有代码整理 作者郑涛 声明:在这里我整理了数据结构实验的所有代码,希望能对大家的数据结构实验的考试有所帮助,大家可以有选择地浏览,特别针对一些重点知识需要加强记忆(ps:重点知识最好让孙天凯给出),希望大家能够在数据结构实验的考试中取得令人满意的成绩,如果有做的 不好的地方请大家谅解并欢迎予以指正。 实验一熟悉编程环境 实验预备知识: 1.熟悉本课程的语言编译环境(TC或VC),能够用C语言编写完整的程序,并能够发现和改正错误。 2.能够灵活的编写C程序,并能够熟练输入C程序。 一、实验目的 1.熟悉C语言编译环境,掌握C程序的编写、编译、运行和调试过程。 2.能够熟练的将C程序存储到指定位置。 二、实验环境 ⒈硬件:每个学生需配备计算机一台。 ⒉软件:Windows操作系统+Turbo C; 三、实验要求 1.将实验中每个功能用一个函数实现。 2.每个输入前要有输入提示(如:请输入2个整数当中用空格分割:),每个输出数据都要求有内容说明(如:280和100的和是:380。)。 3.函数名称和变量名称等用英文或英文简写(每个单词第一个字母大写)形式说明。 四、实验内容 1.在自己的U盘中建立“姓名+学号”文件夹,并在该文件夹中创建“实验1”文件夹(以后每次实验分别创建对应的文件夹),本次实验的所有程序和数据都要求存储到本文件夹中(以后实验都按照本次要求)。

2.编写一个输入某个学生10门课程成绩的函数(10门课程成绩放到结构体数组中,结构体包括:课程编号,课程名称,课程成绩)。 3.编写一个求10门成绩中最高成绩的函数,输出最高成绩和对应的课程名称,如果有多个最高成绩,则每个最高成绩均输出。 4.编写一个求10门成绩平均成绩的函数。 5.编写函数求出比平均成绩高的所有课程及成绩。 #include #include struct subject { int subject_id; char subject_name[20]; double subject_grades; }; struct subject sub[10]; void input() { int i; printf("please input:\n"); for(i=0;i<10;i++) { scanf("%d %s %lf",&sub[i].subject_id,&sub[i].subject_name,&sub[i].subject_g rades); } printf("you just input:\n"); for(i=0;i<3;i++) { printf("%d %s %lf\n",sub[i].subject_id,sub[i].subject_name,sub[i].subject_g rades); } } void subject_max() { int i,flag; double max=sub[0].subject_grades; for(i=0;i<10;i++) { if(sub[i].subject_grades>max)

《数据结构》实验指导书

一、实验目的: 1.掌握线性表的链式存储结构。 2.熟练地利用链式存储结构实现线性表的基本操作。 3.能熟练地掌握链式存储结构中算法的实现。 二、实验内容: 1.用头插法或尾插法建立带头结点的单链表。 2.实现单链表上的插入、删除、查找、修改、计数、输出等基本操作。 三、实验要求: 1. 根据实验内容编写程序,上机调试、得出正确的运行程序。 2. 写出实验报告(包括源程序和运行结果)。 四、实验学时:4学时 五、实验步骤: 1.进入编程环境,建立一新文件; 2. 参考以下相关内容,编写程序,观察并分析输出结果。 ①定义单链表的数据类型,然后将头插法和尾插法、插入、删除、查找、修改、计数、输出等基本操作都定义成子函数的形式,最后在主函数中调用它,并将每一种操作前后的结果输出,以查看每一种操作的效果。 ②部分参考程序(略) 六、实践部分 选作实验可以从以下两个实验中任选一个: 1 试设计一元多项式相加(链式存储)的加法运算。 A(X)=7+3X+9X8+5X9 B(X)=8X+22X7-9X8 1.建立一元多项式; 2.输出相应的一元多项式; 3.相加操作的实现。 2 约瑟夫生死环 利用单循环链表存储结构,解决约瑟夫(Josephus)环问题。即:将编号是1,2,…,n(n>0)的n个人按照顺时针方向围坐一圈,每人持有一个正整数密码。开始时任选一个正整数作为报数上限值m,从某个人开始顺时针方向自1开始顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有的人全部出列为止。令n最大值取30。设计一个程序,求出出列顺序,并输出结果。

刘凤林安全内业资料管理培训教材

安全内业资料管理 一、内业资料概述及管理方法 (一)安全内业资料是施工企业按照国家法律法规、条令条例,国家、行业、地方政府、业主、监理单位、隶属主管单位、及本企业的有关标准、规程、规定和要求,在施工管理过程中所建立和形成的资料。 (二)它既是安全管理的基础,又是安全管理的重要依据,也是安全 贯标工作的基本要求。 (三)安全内业资料是本单位安全生产管理过程的真实记录。它能反 映出本单位安全生产管理过程中的工作量和基本状况,也能反映出本单位的安全生产管理水平。 (四)它的作用:一是为领导提供安全管理状况、管理决策和指导安 全生产的依据。二是预知危险、消除隐患,总结经验教训,改进管理方法, 提高管理水平。 (五)目前,随着国家对安全生产工作的重视程度,各级对安全工作 的要求,以及铁路质量信誉评价检查内容,加强安全内业资料管理和建设, 已是企业建设和发展的必然要求。 (六)安全内业管理方法:遵循一条原则,即:写你要做的,做你所 写的,写你已做的。在资料管理过程中做到:专人专管,有真实性;切合实际,可操作性;闭合管理,可追溯性;随工整理,分类归档。 二、安全内业资料的具体内容及做法 (一)组织机构: 1、安全生产领导小组 2、安全管理机构网络 (二)安全保证体系:

1、安全保证体系网络(思想保证、组织保证、措施保证、经济保证) 2、以项目长为首的生产指挥、安全管理保证体系,以项目书记为首的安全教育培训、思想工作保证体系,以项目工会主席为首的群众监督保证体系,以项目安全管理部门为主的专业安全管理控制、监督检查保证体系。 (三)安全生产管理目标及考核办法(总公司下达指标:职工因工死亡率0.15 %。以下,重伤率0.5 %。以下) (四)安全生产管理制度(含规定、措施、办法): 1 、安全教育培训制度(三级教育、岗前教育、日常教育、专题教育。 三类人员、特业人员的培训 2、安全检查整改制度(定期、不定期、专项、季节) 3、安全例会制度 4、安全生产奖惩制度(含风险抵押金的管理) 5、安全生产责任制度(各类人员、部门安全职责) 6、劳务工安全管理制度(外部企业、自带劳务) 7、特业人员管理制度 8、安全技术措施计划及经费管理制度 9、安全技术交底制度 10、危险性较大工程的专项安全技术方案编制及审查制度(施组有安全专篇) 11 、消防安全制度 12、火工品安全管理制度(购买、运输、装卸、管理发放、回收、使 用)

相关文档
最新文档