当前位置:文档之家› (完整word版)中国石油大学数据结构试题及答案

(完整word版)中国石油大学数据结构试题及答案

(完整word版)中国石油大学数据结构试题及答案
(完整word版)中国石油大学数据结构试题及答案

数据结构试题

一、单选题

1、在数据结构的讨论中把数据结构从逻辑上分为()

A 内部结构与外部结构

B 静态结构与动态结构

C 线性结构与非线性结构

D 紧凑结构与非紧凑结构。

2、采用线性链表表示一个向量时,要求占用的存储空间地址()

A 必须是连续的

B 部分地址必须是连续的

C 一定是不连续的

D 可连续可不连续

3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。

A n

B n/2

C (n-1)/2

D (n+1)/2

4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行()。

A s→link = p→link;p→link = s;

B p→link = s; s→link = q;

C p→link = s→link;s→link = p;

D q→link = s;s→link = p;

5、如果想在4092个数据中只需要选择其中最小的5个,采用()方法最好。

A 起泡排序

B 堆排序

C 锦标赛排序

D 快速排序

6、设有两个串t和p,求p在t中首次出现的位置的运算叫做()。

A 求子串

B 模式匹配

C 串替换

D 串连接

7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放

该数组至少需要的存储字数是()。

A 80

B 100

C 240

D 270

8、将一个递归算法改为对应的非递归算法时,通常需要使用()。

A 栈

B 队列

C 循环队列

D 优先队列

9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为()。

10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()。

A ( front - rear + 1) % m

B ( rear - front + 1) % m

C ( front - rear + m) % m

D ( rear - front + m) % m

11、一个数组元素a[i]与()的表示等价。

A *(a+i)

B a+i

C *a+i

D &a+i

12、若需要利用形参直接访问实参,则应把形参变量说明为()参数。

A 指针

B 引用

C 值

D 变量

13、下面程序段的时间复杂度为()

for (int i=0;i

for (int j=0;j

a[i][j]=i*j;

A O(m2)

B O(n2)

C O(m*n)

D O(m+n)

14、下面程序段的时间复杂度为()

int f(unsigned int n) {

if(n= =0 || n= =1) return 1;

else return n*f(n-1);

}

A O(1)

B O(n)

C O(n2)

D O(n!)

15、线性表若是采用链式存储结构时,要求内存中可用存储单元的地址( )。

A 必须是连续的

B 部分地址必须是连续的

C 一定是不连续的

D 连续或不连续都可以

16、数据结构的定义为(D,S),其中D是( )的集合。

A 算法 B数据元素 C 数据操作 D 逻辑结构

17、算法分析的目的是( )。

A找出数据结构的合理性

B研究算法中输入和输出的关系

C分析算法的效率以求改进

D分析算法的易懂性和文档性

18、在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行( )。

A s->link=p;p->link=s;

B s->link=p->link;p->link=s;

C s->link=p->link;p=s;

D p->link=s;s->link=p;

19、设单链表中结点结构为(data,link).已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作()A s->link=p->link; p->link=s; B q->link=s; s->link=p

C p->link=s->link; s->link=p;

D p->link=s; s->link=q;

20、设单链表中结点结构为(data,link).若想摘除结点*p的直接后继,则应执行下列哪一个操作()

A p->link=p->link->link;

B p=p->link; p->link=p->link->link;

C p->link=p->link;

D p=p->link->link;

21、设单循环链表中结点的结构为(data,link),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪一个操作( D )

A s=rear; rear=rear->link; delete s;

B rear=rear->link; delete rear;

C rear=rear->link->link; delete rear;

D s=rear->link->link; rear->link->link=s->link; delete s;s为第一个结点硫

22、设单循环链表中结点的结构为(data,link),且first为指向链表表头的指针,current为链表当前指针,在循环链表中检测current是否达到链表表尾的语句是( D )。

A current->link =null

B first->link=current

C first=current

D current->link=first

?23、一个栈的入栈序列为a,b,c,则出栈序列不可能的是( C )。

A c,b,a

B b,a,c

C c,a,b

D a,c,b

24、栈的数组表示中,top为栈顶指针,栈空的条件是( A )。

A top=0

B top=maxSize

C top=maxSize

D top=-1

25、栈和队列的共同特点是( C )。

A 都是先进后出

B 都是先进先出

C只允许在端点处插入和删除 D 没有共同点

26、假定一个顺序存储的循环队列的队头和队尾指针分别为f和r ,则判断队空的条件为( D ).

A f+1= =r

B r+1= =f

C f= =0

D f= =r

27、当利用大小为n 的数组顺序存储一个队列时,该队列的最大长度为( B )

A n-2

B n-1

C n

D n+1

28、当利用大小为n 的数组顺序存储一个栈时,假定用top= =n 表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。

A top++;

B top--;

C top=0;

D top;

29、设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。若想摘除链式栈的栈顶结点,并将被摘除结点的值保存到x中,则应执行下列( A )操作。

A x=top->data; top=top->link;

B top=top->link; x=top->data;

C x=top; top=top->link;

D x=top->data;

30、设循环队列的结构是:

const int Maxsize=100;

typedef int Data Type;

typedef struct {

Data Type data[Maxsize];

Int front, rear;

} Queue;

若有一个Queue类型的队列Q,试问判断队列满的条件应是下列哪一个语句

( D )

A Q.front= = Q.rear;

B Q.front - Q.rear= = Maxsize;

C Q.front + Q.rear= = Maxsize;

D Q.front= = (Q.rear+1)% Maxsize;

31、设有一个递归算法如下:

int fact (int n )

{ if (n<=0) return 1;

else return n*fact(n-1);

}

下面正确的叙述是( B )

A 计算fact(n) 需要执行n次递归

B fact(7)=5040

C 此递归算法最多只能计算到fact(8)

D 以上结论都不对

32、设有一个递归算法如下

int x (int n) {

if (n<=3) return 1;

else return x(n-2)+x(n-4)+1;

}

试问计算 x(x(8))时需要计算( D )次x函数。

A 8 次

B 9 次

C 16 次

D 18次

33、设有广义表D(a,b,D),其长度为( B ),深度为( A )

A ∞

B 3

C 2

D 5

34、广义表A(a),则表尾为( C )

A a

B (( ) )

C 空表

D (a)

35、下列广义表是线性表的有( C )

A E(a,(b,c))

B E(a,E)

C E (a,b) D

E(a,L( ) )

36、递归表、再入表、纯表、线性表之间的关系为( C )

A 再入表>递归表>纯表>线性表

B 递归表>线性表>再入表>纯表

C 递归表>再入表>纯表>线性表 D递归表>再入表>线性表>纯表

37、某二叉树的前序和后序序列正好相反,则该二叉树一定是( B )的二叉树。

A 空或只有一个结点

B 高度等于其结点数

C 任一结点无左孩子

D 任一结点无右孩子

38、对于任何一棵二叉树T,如果其终端结点数为n

0,度为2的结点为n

2

.,则

( A )

A n

0= n

2

+1 B n

2

= n

+1 C n

0=

2n

2

+1 D n

2

=2n

+1

39、由权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为(B )

A 24

B 73

C 48

D 53

40、已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为da1,则第I 个结点的地址为( A )。

A da1+(I-1)*m

B da1+I*m

C da1-I*m

D da1+(I+1)*m

41、34 具有35个结点的完全二叉树的深度为( A )

A 5

B 6

C 7

D 8

42、对线性表进行折半搜索时,要求线性表必须( C )

A 以链接方式存储且结点按关键码有序排列

B 以数组方式存储

C 以数组方式存储且结点按关键码有序排列 D以链接方式存储

43、顺序搜索算法适合于存储结构为( B )的线性表。

A 散列存储

B 顺序存储或链接存储

C 压缩存储

D 索引存储

44、采用折半搜索算法搜索长度为n的有序表时,元素的平均搜索长度为( C )

A O(n2)

B O(n log

2n) C O(log

2

n) D O(n)

45、对于一个具有n个顶点和e条边的无向图,进行拓扑排序时,总的时间为( A )

A n

B n+1

C n-1

D n+e

46、判断一个有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用(C )。

A 求关键路径的方法

B 求最短路径的Dijkstra方法

C 深度优先遍历算法

D 广度优先遍历算法

47、在10阶B-树中根结点所包含的关键码个数最多为(C ),最少为( A )

A 1

B 2

C 9

D 10

48、对包含n 个元素的散列表进行搜索,平均搜索长度为( C )

A O(log

2

n) B O(n) C 不直接依赖于n D 上述都不对

二、填空题()

1、数据的逻辑结构被分为集合结构、线性结构、树形结构、图形结构四种

2、数据的存储结构被分为顺序结构、链接结构、索引结构、散列结构四种

3、一种抽象数据类型包括(数据)和(操作)两个部分。

4、设有两个串p和q,求p在q中首次出现的位置的运算称为(模式匹配)

5、栈、队列逻辑上都是(线性存储)结构。

6、线性结构反映结点间的逻辑关系是(一对一)的,图中的数据元素之间的关

系是(多对多)的,树形结构中数据元素间的关系是(一对多)的。

7、栈中存取数据的原则(后进先出),队列中存取数据的原则(先进先出)

8、串是由(零个或多个)字符组成的序列。(长度为零的串)称为空串,(由一个或多个空格组成的串)称为空格串。

9、设目标串T=”abccdcdccbaa”,模式P=”cdcc”则第(6)次匹配成功。

10、一维数组的逻辑结构是(线性结构),存储结构是(顺序存储表示)。对于二维数组,有(行优先顺序)和(列优先顺序)两种不同的存储方式,对于一个二维数组A[m][n],若采用按行优先存放的方式,则任一数组元素A[i][j]相对于A[0][0]的地址为( n*i+j)。

11、向一个顺序栈插入一个元素时,首先使(栈顶指针)后移一个位置,然后把待插入元素(写)到这个位置上。从一个顺序栈删除元素时,需要前移一位(栈顶指针)。

12、在一个循环队列Q中,判断队空的条件为(Q.front= =Q.rear), 判断队满的条件为( (Q.rear+1)%MaxSize= =q.front )

13、对于一棵具有n个结点的树,该树中所有结点的度数之和为( n-1 )。

14、一棵高度为5的满二叉树中的结点数为( 63 )个,一棵高度为3满四叉树中的结点数为( 85 )个。

15、若对一棵二叉树从0开始进行结点编号,并按此编号把它顺序存储到一维数组中,即编号为0的结点存储到a[0]中,其余类推,则a[i]元素的左子女结点为( 2*i+1),右子女结点为( 2*i+2 ),双亲结点(i>=1 )为(「(i-1)/2 ┐).

16、在一个最大堆中,堆顶结点的值是所有结点中的(最大值),在一个最小堆中,堆顶结点的值是所有结点中的(最小值)。

17、已知具有n个元素的一维数组采用顺序存储结构,每个元素占k个存储单元,

第一个元素的地址为LOC(a1),那么,LOC(ai)= LOC(a1)+(i-1)*k 。

18、在霍夫曼编码中,若编码长度只允许小于等于4,则除掉已对两个字符编码

为0和10外,还可以最多对( 4 )个字符编码。

19、设高度为h的空二叉树的高度为-1,只有一个结点的二叉树的高度为0,若

设二叉树只有度为2上度为0的结点,则该二叉树中所含结点至少有

(2h+1 )个。

20、由一棵二叉树的前序序列和(中序序列)可唯一确定这棵二叉树。

21、以折半搜索方法搜索一个线性表时,此线性表必须是(顺序)存储的(有序)表。

22、已知完全二叉树的第8层有8个结点,则其叶子结点数是(68)。若完全二叉树的第7有10个叶子结点,则整个二叉树的结点数最多是(235)

23、对于折半搜索所对应的判定树,它既是一棵(二叉搜索树),又是一棵(理想平衡树)。

24、假定对长度n=50的有序表进行折半搜索,则对应的判定树高度为(5),判定树中前5层的结点数为(31),最后一层的结点数为(19)。

25、在一个无向图中,所有顶点的度数之和等于所有边数的(2)倍。在一个具有n个顶点的无向完全图中,包含有( n(n-1)/2 )条边,在一个具有n个顶点的有向完全图中,包含有( n(n-1) )条边。

26、对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为(n)和(n-1)。

27、设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是( 1044)。

28、在插入和选择排序中,若初始数据基本正序,则选择(插入排序),若初始数据基本反序,则最好选择(选择排序)。

29、算法是对特定问题的求解步驟的一种描述,它是(指令)的有限序列,每一条(指令)表示一个或多个操作。

30、对于一个具有n个顶点肯e 条边的无向图,进行拓朴排序时,总的进间为

(n)

31、构造哈希函数有三种方法,分别为(平方取中)法、(除留余数)法、(折迭移位)法。

32、处理冲突的三种方法,分别为(线性探测)、(随机探测)、(链地址法)。

33、对于含有n个顶点和e条边的无向连通图,利用普里姆算法产生的最小生成树,其时间复杂度为(O(n2))、利用克鲁斯卡尔算法产生的最小生成树,

其时间复杂度为(O(elog

2

e))

34、快速排序在平均情况下的时间复杂度为(O(nlog

2

n)),在最坏情况下的

时间复杂度为(O(n2));快速排序在平均情况下的空间复杂度为(O(log

2

n)),在最坏情况下的空间复杂度为(O(n))。

35、假定一组记录的排序码为(46,79,56,38,40,80),对其进行归并排序的过程中,第二趟排序后的结果是([38465679][4080])

36、假定一组记录的排序码为(46,79,56,38,40,80),对其进行快速排序的第一次划分的结果是([3840]46[567980])。

37、一个结点的子树的(个数)称为该结点的度。度为(零)的结点称为叶结点或终端结点。度不为(零)的结点称为分支结点或非终端结点。树中各结点度的(最大值)称为树的度。

38、设K

i =K

j

(1<=i<=n, 1<=j<=n,j<>i)且在排序前的序列中R

i

领先于R

j

(i

若排序后的序列中R

i 仍领先于R

j

,则这种排序方法是(稳定的),反之是(不稳

定的)。

40 、在堆排序的过程中,对任一分支结点进行调整运算的时间复杂度为(O

(log

2n)),整个排序过程的时间复杂度为(O(nlog

2

n))。

41、在索引表中,每个索引项至少包含有(关键码值)域和(子表地址)域这两项。

42、假定一个线性表为

(”abcd”,”baabd”,”bcef”,”cfg”,”ahij”,”bkwte”,”ccdt”,”aayb”),若按照字符串的第一个字母进行划分,使得同一个字母被划分在一个子表中,则得到的a,b,c 三个子表的长度分别为(3),(3),(2)。

43、对于包含50个关键码的3阶B-树,其最小高度为(4),最大高度为(5)。

44、从一棵B-树删除关键码的过程,若最终引起树根结点的合并,则新树比原树的高度(减1)

45、假定要对长度n=100的线性表进行散列存储,并采用开散列法处理冲突,则对于长度m=20的散列表,每个散列地址的同义词子表的长度平均为(5)。46、在散列存储中,装载因子α又称为装载系数,若用m表示散列表的长度,n 表示待散列存储的元素的个数,则α等于(n/m)。

47、在有向图的邻接矩阵中,第i行中“1”的个数是第i个顶点的(出度),第i列中“1”的个数是第i个顶点的(入度)。在无向图的邻接矩阵中,第i行(列)中“1”的个数是第i个顶点的(度),矩阵中“1”的个数的一半是图中的(边数)。

48、在对m阶B-树中,每个非根结点的关键码数最少为(「m/2┐-1)个,最多为(m-1)个,其子树棵数最少为(「m/2┐),最多为(m)。

三、判断题

四、运算应用题

1、在一个有n个元素的顺序表的第i个元素(1 ≤i≤n)之前插入一个新

元素时,需要向后移动多少个元素?

答案:需要向后移动 n- i + 1个元素

2、当一个栈的进栈序列为1234567时,可能的出栈序列有多少种?6457321是否是合理的出栈序列? 答案:

可能的出栈序列有

种,6457321不是合理的出栈序列。

4、设有序顺序表为 { 10, 20, 30, 40, 50, 60, 70 },采用折半搜索时,搜索成功的平均搜索长度是多少? 答案:

ASL succ = (1*1 + 2*2 + 3*4 ) / 7 = 17 / 7

5、 在结点个数为n(n>1)的各棵树中,高度最小的树的高度是多少?它有多少个叶结点?多少个分支结点?高度最大的树的高度是多少?它有多少个叶结点?多少个分支结点?

答案:结点个数为n 时,高度最小的树的高度为1,有2层;它有n-1个叶结点,1个分支结点;高度最大的树的高度为n-1,有n 层;它有1个叶结点,n-1个分支结点。

6、 一棵高度为h 的满k 叉树有如下性质: 第h 层上的结点都是叶结点, 其余各层上每个结点都有k 棵非空子树, 如果按层次自顶向下, 同一层自左向右, 顺序从1开始对全部结点进行编号, 试问: (1) 各层的结点个数是多少?

(2) 编号为i 的结点的父结点(若存在)的编号是多少?

4291

234567891011121314811717

14=*************=+C

(3) 编号为i 的结点的第m 个孩子结点(若存在)的编号是多少?

(4) 编号为i 的结点有右兄弟的条件是什么? 其右兄弟结点的编号是多少?

(5) 若结点个数为 n, 则高度h 是n 的什么函数关系?

答案:

(1)各层的结点个数是k i (i=0,1,2,....,h)

(2)编号为i 的结点的父结点(若存在)的编号是└ (i+k-2)/k 」 (3)编号为i 的结点的第m 个孩子结点(若存在)的编号是(i-1)*k+m+1 (4)当(i-1)%k<>0时有右兄弟, 右兄弟的编号为 i+1

(5)若结点个数为 n ,则高度h 和n 的关系为:h=log k (n*(k-1)+1)-1 (n=0时h=-1)

9、题目:11、将下面的森林变换成二叉树(7分)。 答案:

10、将算术表达式 ((a+b)+c*(d+e)+f)*(g+h) 转化为二叉树。(7分) 答案:

12、 将给定的图简化为最小的生成树,要求从顶点1出发。(7分)

答案:

13、某子系统在通信联络中只可能出现8种字符,其出现的概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11试设计赫夫曼编码。

答案:

为方便起见,设各种字符的权值w={5,29,7,8,14,23,3,11}。因为n=8,所以要构造的赫夫曼树共有m=2n-1=2*8-1=15个结点。生成的赫夫曼树为下图所示:

赫夫曼编码为:概率为0.23的字符编码为:00

概率为0.11的字符编码为:010

概率为0.05的字符编码为:0110

概率为0.03的字符编码为:0111

概率为0.29的字符编码为:10

概率为0.14的字符编码为:110 概率为0.07的字符编码为:1110 概率为0.08的字符编码为:1111

14、已知一棵二叉树的前序遍历的结果是ABECDFGHIJ, 中序遍历的结果是EBCDAFHIGJ, 试画出这棵二叉树,并给出这棵二叉树的后序遍历序列。

15、在结点个数为n(n>1)的各棵树中,高度最小的树的高度是多少?它有多少个叶结点?多少个分支结点?高度最大的树的高度是多少?它有多少个叶结点?多少个分支结点?

答案:结点个数为n 时,高度最小的树的高度为1,有2层;它有n-1个叶结点,1个分支结点;高度最大的树的高度为n-1,有n 层;它有1个叶结点,n-1个分支结点。

16、 对于一个高度为h 的AVL 树,其最少结点数是多少?反之,对于一个有n 个结点的AVL 树, 其最大高度是多少? 最小高度是多少?

答案:设高度为h(空树的高度为-1)的AVL 树的最少结点为N h ,则N h = F h+3 -1。 F h 是斐波那契数。又设AVL 树有n 个结点,则其最大高度不超过3/2*log 2(n+1),

最小高度为「log

(n+1) ┐-1。

2

17、7-7 设有序顺序表中的元素依次为017, 094, 154, 170, 275,503, 509, 512, 553, 612, 677, 765, 897, 908。试画出对其进行折半搜索时的判定树, 并计算搜索成功的平均搜索长度和搜索不成功的平均搜索长度。

ASL

=1/14(1+2*2+3*4+4*7)=45/14

SUCC

=1/15(3*1+4*14)=59/15

ASL

UNSUCC

五、算法分析题

6、请读下列程序,该程序是在单链表中删除一个结点的算法,为空出的地方填上正确的语句。(7分)

void demo2(LinkList head,ListNode *p)

{//head 是带头结点的单链表,删除P指向的结点

ListNode *q=head;

while(q&&q->next!=p ) q=q->next;

if (q) Error(“*p not in head”);

q->next=p->next;

free(p);

}

10、判断一个带表头结点的双向循环链表L是否对称相等的算法如下所示,请在算法的处填入正确的语句。

int symmetry(DblList DL) {

int sym=1;

DblNode p=DL->rLink,q=DL->lLink;

While(p!=q&&p->lLink==q)&& sym==1 )

if (p->data==q->data){

p=p->rLink;

q=q->lLink;

}

else sym=0;

return sym;}

中国海洋大学2018年《959 结构力学A》考研大纲_中国海洋大学考研网

中国海洋大学2018年《959结构力学A》考研大纲 一、考试性质 《结构力学A》是为符合全国硕士研究生入学条件的考生报考中国海洋大学结构工程(专业代码:081402)、防灾减灾工程及防护工程A(专业代码:081405)、桥梁与隧道工程(专业代码:081406)和建筑与土木工程(专业代码:085213)和岩土工程(专业代码:081401,设置在环境科学与工程学院招生)专业的硕士研究生设置的初试考试科目。 二、考察目标 要求考生全面系统地掌握结构力学的基本概念、基本理论和基本方法,掌握杆系结构的计算原理和方法,熟悉各类结构的受力特点和性能。具有综合运用所学结构力学相关理论、方法分析解决具体问题的能力。 三、考试形式 本考试为闭卷考试,满分为150分,考试时间为180分钟。 试卷结构:判断、选择、填空、计算题。 四、考试内容 1、结构的几何构造分析 掌握几何构造分析的概念及几何不变体系的组成规律,熟练应用几何不变体系的组成规律进行几何分析,了解平面杆件体系自由度的计算。 2、静定结构的受力分析 灵活运用隔离体平衡法,熟练掌握梁和刚架内力图的作法以及桁架内力的计算方法,掌握组合结构和拱的内力的计算方法。了解静定结构的力学特性。 3、影响线 了解影响线的概念。熟练掌握用静力法作静定梁和桁架内力、反力的影响线。掌握用机动法作梁反力、内力的影响线。了解最不利荷载位置的概念和最不利荷载位置的确定方法。了解简支梁绝对最大弯矩的计算。了解包络图的概念。 4、虚功原理与结构的位移计算 理解变形体虚功原理的内容及其应用,熟练掌握静定结构在荷载作用下位移的计算方法,掌握静定结构在温度变化、支座移动影响下位移的计算方法,了解互等定理。 5、力法 熟练掌握力法的基本原理。掌握超静定次数的确定方法,熟练掌握用力法计算荷载作用下常用超静定

数据结构课程设计实验报告

《空间数据结构基础》 课程实习报告(测绘10级) 姓名 班级 学号 环境与测绘学院

1C++面向对象程序设计基础 【实验简介】学会用算法语言C++描述抽象数据类型,使用模板建立数据结构。理解数据结构的组成分为两部分,第一部分是数据集(数据元素),第二部分是在此数据集上的操作。从面向对象的观点看,这两部分代表了对象的属性和方法。掌握用C++描述数据结构的基本方法,即通过建立类来描述抽象数据类型。类的数据成员提供对象属性,成员函数提供操作方法,方法是公共接口,用户通过调用方法实现对属性的访问。 【实验内容】 1.定义三维空间的坐标点TPoint 2.描述三维空间的球TBall,实现其主要操作(如计算体积和表面积,输出空间坐标 等)。 【主要代码】 头文件: TPoint.h: #ifndef TPOINT_H #define TPOINT_H #include using namespace std; class TPoint { public: TPoint(double xx,double yy,double zz):x(xx),y(yy),z(zz){} TPoint(TPoint &TP):x(TP.x),y(TP.y),z(TP.z){} double getX()const{return x;}//取x坐标值 double getY()const{return y;}//取y坐标值 double getZ()const{return z;}//取z坐标值 void DisplayTP() const {cout<<"("<

【免费下载】中国海洋大学成人高考

成人高等学历招生简章中国海洋大学是教育部直属名牌大学,国家“985工程”和“211工 程”重点建设高校。是学科门类较为齐全的综合性重点大学,包括理学、医(药)学、经济学、管理学、教育学、工学、农学、文学、法学、历史学、艺术学等,是国务院学位委员会首批批准的具有博士、硕士、学士学位授予权的单位。中国海洋大学创建于1924年,学校依山傍海,坐落在美丽的海滨旅游城市——青岛。成人教育创办于1959年,目前成人学历教育在册学生15000余名,与全日制学生享受同等的硬件条件和师资。学校现辖崂山、鱼山和浮山三个校区,设有68个本科专业。我校成人教育坚持以“严谨求实、质量至上”的办学理念,办学规模、教学水平、教学质量以及成人教育学科建设方面均已进入全国领先水平。一、报考条件专科:社会在职人员及待业人员本科:取得国民教育系列专科学历者在职研究生:本科毕业取得学士学位证二、报名、考试 统一进行网上报名现场信息确认;参加全国统一的入学考试。三、考试科目1、专科起点本科:理工类:政治、英语、高数(一)、管路敷设技术通过管线敷设技术,不仅可以解决吊顶层配置不规范问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。 、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

中国矿业大学2010年数据结构试卷及答案

计算机学院2010-2011学年第一学期 《数据结构》试卷(A 卷)(考试时间:100分钟) 专业: 计算机专业 班级: 序号: 姓名: 注意:所有答案都必须写在答题纸上!!! 三.简答(每小题10分,共50分) 1.有如图所示的有向图,请给出该图的: 1) 邻接矩阵表示; 2) 逆邻接表表示。 2.假定存在数据表:(3,4,5,7,24,30,54,63,72,87,95,102),请解决如下问题: 1) 假设哈希函数为:H(key)=key mod 13,用该哈希函数将数据表存入长度为13 的哈希表,(利用线性探测)请画出存放状态; 2) 请按比较顺序写出查找102的过程中比较的数值,以及比较的次数; 3.请写出对序列{21,25,49,28,16,22,25,38}的二叉排序树构造过程。

4.试利用Dijkstra算法求图中从顶点a到其他各顶点间的最短路径,写出执行算法过程中各步的状态。 5.如果一个项目由10个主要任务构成,其计划图展示了任务之间关系与任务所需天数,则项目关键路径如何求解,请展示其过程。 四.算法(10分,共10分) 请写出折半查找方法的函数Search_Bin( SSTable S, value v)。 要求: 1)函数名使用给出的函数名,参数SSTable 表示序列,使用一维数组存放,下标从0开始,value 表示要查找的值; 2)如果找到,则函数返回值为该数在序列中的位置,否则返回负1; 3)不用写出主函数与相关定义,如果使用其他函数,请注明函数用途。

计算机学院2010-2011学年第一学期 《数据结构》答题纸(A卷)一.填空(2*20=40分)

10-结构力学Ⅰ 课程大纲2020

中国海洋大学本科生课程大纲 课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修 一、课程介绍 1.课程描述: 本课程是港口航道与近海工程专业必修的一门学科基础课。本课程的任务是使学生在理论力学和材料力学等课程的基础上进一步掌握结构力学的基本概念、基本原理和基本方法,了解杆件结构的计算方法和有关解答,提高分析与计算的能力,为学习结构动力学、混凝土结构、钢结构、有限元等有关专业课程打下初步的结构力学基础。同时,结合本课程的特点,培养学生的思维能力、抽象化能力、表达能力、计算能力和自学能力。 This course is fundamental and obligatory for the major of port, waterway and coastal engineering. The aim of this course is to make students further master the basic concept, principle and method of structural mechanics after learning theoretical and material mechanics. Moreover, this course introduces different methods to analyze a bar structure and calculate the corresponding stress and bending moment, which is the foundation for the specialized courses such as structure dynamics, concrete structure, steel structure and finite element method. In addition, this course is useful to improve the students’ ability in various aspects. 2.设计思路: 为了能更好地服务于祖国的发展,根据一带一路建设的需要,本课程以静定结构与超静定结构的内力分析与位移计算为主线,结合结构几何构造分析等基本概念,讲授各种计算方法,并辅以大量的训练,使学生具备如下能力:(a)分析能力:对常用的杆件结构具有选择计算简图的初步能力,并能根据具体问题选择恰当的计算方法。(b)计算能力:具有对各种静定、超静定结构进行计算的能力,初步具有使用结构计

中国矿业大学 空间数据结构上机实验报告

《空间数据结构基础》上机实验报告(2010级) 姓名 班级 学号 环境与测绘学院 1.顺序表的定义与应用(课本P85习题) 【实验目的】 熟练掌握顺序表的定义与应用,通过上机实践加深对顺序表概念的理解。 【实验内容】

设有两个整数类型的顺序表A(有m个元素)和B(有n个元素),其元素均从小到大排列。试编写一个函数,将这两个顺序表合并成一个顺序表C,要求C的元素也从小到大排列。【主要代码】 #include//定义在头文件“SeqList.h”中 #include const int defaultSize=100; template class SeqList{ protected: T *data;//存放数组 int maxSize;//最大可容纳表象的项数 int Last;//当前已存表象的项数 void reSize(int newSize);//改变data数组空间大小 public: SeqList(int sz=defaultSize); SeqList(SeqList& L); ~SeqList(){delete[]data;} int Size() const{return maxSize;} int Length()const{return Last+1;} int Search(T& x)const; int Locate(int i) const; T getData(int i) const; bool setData(int i,T& x) {if(i>0&&i<=Last+1) data[i-1]=x;} bool Insert(int i,T& x); bool Remove(int i,T& x); bool IsEmpty() {return (Last==-1)?true:false;} bool IsFull() {return(Last==maxSize-1)?true:false;} void input(); void output(); SeqList operator=(SeqList& L); friend void rank(SeqList& L); friend void hebing(SeqList& LA,SeqList& LB); }; //构造函数,通过指定参数sz定义数组的长度 template SeqList::SeqList(int sz){ if(sz>0){ maxSize=sz; Last=-1; data=new T[maxSize];

中国矿业大学数据结构课程设计报告

《空间数据结构基础》 课程实习报告(地信12级) 姓名朱红鑫 班级地信12-2 学号 07122960 环境与测绘学院

目录 实验一:C++面向对象程序设计基础 (2) 实验三:通讯簿管理(顺序表的应用) (6) 实验五:将中缀表达式转换为后缀表达式 (13) 实验七:二叉树的操作 (18) 实验九:字符串 (24)

1C++面向对象程序设计基础 【实验简介】学会用算法语言C++描述抽象数据类型,使用模板建立数据结构。理解数据结构的组成分为两部分,第一部分是数据集(数据元素),第二部分是在此数据集上的操作。从面向对象的观点看,这两部分代表了对象的属性和方法。掌握用C++描述数据结构的基本方法,即通过建立类来描述抽象数据类型。类的数据成员提供对象属性,成员函数提供操作方法,方法是公共接口,用户通过调用方法实现对属性的访问。 【实验内容】 1.定义三维空间的坐标点TPoint 2.描述三维空间的球TBall,实现其主要操作(如计算体积和表面积,输 出空间坐标等)。 【主要代码】 #include #include class TPoint { protected: double x; //虚拟类型的水平坐标值 double y; //虚拟类型的垂直坐标值 double z; //z坐标 public: TPoint(){x = 0; y = 0; z = 0; } //缺省构造函数 TPoint(double px, double py,double pz){x = px;y = py;z=pz;} //带参数的构造函数 void move(double mx,double my,double mz){x = mx;y = my;z=mz;} //移动位置(修改坐标值) void show(){cout<<"x="<

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