当前位置:文档之家› 华南理工大学数据结构复习提纲二

华南理工大学数据结构复习提纲二

华南理工大学数据结构复习提纲二
华南理工大学数据结构复习提纲二

数据结构复习提纲

第二部分复习提纲(不分题型)

1.逻辑结构、存储结构、运算、算法、时空复杂性等哪些与计算机硬件有关?无关?

逻辑结构:

存储结构:指数据的逻辑结构在计算机存储器中的实现,存储结构是依赖于计算机的。

运算:在数据逻辑结构上定义的操作。

◆例如有一张学生成绩表,记录了一个班的学生各门课的成绩。按学生的姓名为一行记成的表。这个表就是一个数据结构。每个记录(有姓名,学号,成绩等字段)就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一个也只有一个直接前趋和直接后继(它的前面和后面均有且只有一个记录)。这几个关系就确定了这个表的逻辑结构。

那么我们怎样把这个表中的数据存储到计算机里呢? 用高级语言如何表示各结点之间的关系呢? 是用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢? 这就是存储结构的问题,我们都是从高级语言的层次来讨论这个问题的。

最后,我们有了这个表(数据结构),肯定要用它,那么就是要对这张表中的记录进行查询,修改,删除等操作,对这个表可以进行哪些操作以及如何实现这些操作就是数据的运算问题了。

所谓算法(Algorithm)是对问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。

所谓算法复杂度:

T (n) = O(f(n))

称T (n) 为算法的渐近时间复杂度(Asymptotic Time Complexity),简称时间复杂度。O是数量级的符号。

下面我们探讨一下如何估算算法的时间复杂度

算法= 控制结构+ 原操作(固有数据类型的操作)

算法的执行时间=原操作(i)的执行次数×原操作(i)的执行时间

算法的执行时间与原操作执行次数之和成正比

2.逻辑结构与存储结构是否一一对应?

答:否。

3.算法有哪些描述方法?

答:自然语言、表格、C语言、PASCAL语言。。。。

4.算法评价一般考虑哪些内容?算法分析指什么?

答:算法评价:正确性、运行时间、占用空间、简单性

1.顺序表、链表优缺点?

答:链表的优点是空间动态分配,插入和删除时不需要移动数据,缺点是不能随机访问。

顺序表的优点是能熟记存取数据元素,存取速度快,缺点:插入、删除操作需移动数据。

2.分别对有头结点、无头结点的循环、非循环单链表,如何判断为空?如何判断某结点为尾结点?答:有头结点非循环:HEAD->Next = = NULL

有头结点循环:HEAD->Next = =NULL

无头结点非循环:HEAD = =NULL

无头结点循环:HEAD = = NULL

3.循环链表主要优点?用尾指针表示循环单链表有什么好处?

答:尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是rear->next->next 和rear, 查找时间都是O(1)。

若用头指针来表示该链表,则查找终端结点的时间为O(n)。

4.例,输出无头结点的单链表中所有奇数。

解:设链表类型定义如下:

typedef int datatype; //结点数据类型,假设为int

typedef struct node * pointer; //一般结点指针类型

struct node { //结点结构

datatype data;

pointer next;

};

typedef pointer lklist; //头指针类型

void disp(lklist L) {

pointer p;

p=L;

while(p!=NULL) {

if(p->data%2==1) cout<data<

p=p->next;

}

}

5.例,判断无头结点的链表中结点是否构成等差数列。

解:链表类型定义同上题。

int detect(lklist L) {

pointer p,q; //以下用q表示p的前趋

datatype x;

q=L;if(q==NULL) return 1; //链表为空

p=q->next;if(p==NULL) return 1; //链表只有1个结点

x=p->data-q->data; //初始结点差

while(p->next!=NULL) {

q=p;p=p->next;

if(p->data-q->data!=x) return 0; //不满足等差关系

}

return 1;

}

1.栈、队列的基本运算有哪些?

答:出栈、入栈,出队、入队。

2.例:三个点ABC依次进栈(在进栈的中间可能有出栈)。问ABC、BCA、CAB能否是可能的出栈序列?解:按先进后出的原则分析,ABC可行:即A进A出、B进B出、C进C出;

BCA可行:即A进不出,B进B出、C进C出、A出;

CAB不行:C出后,栈内有BA,应B先出。

3.循环队列A[m]中,已知头指针、尾指针与元素个数中的任意两个,求另一个?

len=(rear-front+m)%m;

rear=(front+len)%m;

front=(rear-len+m)%m;

4.串、长度、子串、相等、子串定位等的概念;

串中字符的数目n称为串的长度。0个字符的串成为空串,它的长度为0。

串的串连是将一个串紧接着存放在另一个串的后面而成的一个新串。串的连接满足结合率,不满足交换率串的模式匹配问题:子串的定位操作通常称为串的模式匹配。通常思想是从主串S的第pos个字符起和模式的第一个字符比较,若相等则继续逐个比较后继字符,否则从主串的下一个字符起再重新和模式的字符比较。依此类推,直至模式T中的每个字符依次和主串S中的一个连续的字符序列相等,则称匹配成功,函数值为和模式T中第一个字符相等的字符在主串S中的序号,否则称模式不匹配,函数值为0。

1.一维数组是否是顺序表?数组元素地址的计算?

答:是,数组首地址加上元素的偏移地址。

2.三元组含义?一般矩阵按三元组存储能否节省空间?

三元组表表示法:每一个非0元素对于一个三元组(row,col,val),row为非0元素的行下标,col 为非0元素的列下标,val为非0元素的值。显然,有N个非0元素的,只需要3N个存储单元。

3.何为稀疏矩阵、特殊矩阵?为什么要对矩阵压缩存储?

稀疏矩阵:对于m*n的矩阵A中若有N个非0元,若N<

特殊矩阵(1):对称矩阵由于对称性,只需存储上三角或下三角部分,如按行优先顺序存储对称矩阵A,则等价于压缩在一个一维数组B中。

LOC[a ij]=LOC[B[k]]=LOC(a11)+(k-1)*L

特殊矩阵(2):上(下)三角矩阵以下三角为例,既当i

矩阵压缩的原因:在数值分析中经常出现一些阶数很高的矩阵,同时在矩阵中有许多值相同的元素或者是0元素。有时为了节省存储空间,可以对这类矩阵进行压缩储存。

1.何时用树结构?树是否只能用链式存储?

解:表示具有分支和层次关系的数据时用树。二叉树等特殊情况可用顺序存储。

2.已知二叉树的深度k ,则其结点数范围?已知二叉树的结点数,则其深度k 范围?

答:至多有2k

-1个结点,至少为0。

具有n 个(n>0)各结点的完全二叉树深度为??)1(log 2+n 或??n 2log +1

3.只有3个结点的二叉排序树有几种形态? 解:有5种,见下图所示。

4.完全二叉树有6个叶子,则结点总数就是11吗?

解:已知叶子数的完全二叉树一般有两棵,结点数差1,见下图:

A

B C D

E

F

G

H I J K A

B C D E

F G

H I J K L

一般,结点数n =n 0+n 1+n 2,而n 0=n 2+1(二叉树性质),所以n =2n 0-1+n 1。完全二叉树树中度为1的结点最多只有1个,即n 1=1或0,所以n =2n 0或n =2n 0-1。

5.最优二叉树可否有100个结点?若有111个结点,则其中有多少个叶子?有没有度为1的结点?

解:结点总数n=2n 0-1,n 0为叶子数,可见结点数为奇数。对111个结点,n 0=(n+1)/2=56。根据构造过程,每次两个结点合并,故结点的度要么为2(分支结点),要么为0(叶子),不会出现度1的结点。 5. 二叉树的顺序存储结构、二叉链表的画法?二叉链表中有多少个空指针?

答:顺序存储结构:按照顺序存储结构的定义,在此约定,用一组地址连续的存储单元依次自上而下、自左至右存储完全二叉树上的结点元素,即将完全二叉树上的编号为i 的结点元素存储在如上定义的一维数组中下标为i-1的分量中。

二叉链表每个结点设置三个域:值域、左指针域、和右指针域。有n+1个空指针。

6. 树、森林与二叉树的相互转换?如何判断二叉树是树还是森林转换而来?树/森林的遍历与对应二叉

树的遍历之间有何关系?

8.例:求二叉树的结点数。

解:设二叉树结点类型为bitree ,函数名为sum ,函数返回结点数。

int sum(bitree t) { int L,R;

if(t==NULL) return 0; //当前树为空,递归出口 L=sum(t->lchild); //求左子树中结点数 R=sum(t->rchild) //求右子树中结点数

return L+R+1; //结点数=左子树中结点数+右子树中结点数+1 }

9.例:求二叉树的叶子结点数。

解:设二叉树结点类型为bitree ,函数名为leaf ,函数返回叶子数。

int leaf(bitree t) { int L,R;

if(t==NULL) return 0; //当前树为空,递归出口

if(t->lchild==NULL && t->rchild==NULL) return 1;//当前点为叶子,递归出口 L=leaf(t->lchild); //求左子树中叶子数 R=leaf(t->rchild) //求右子树中叶子数

return L+R; //叶子数=左子树中叶子数+右子树中叶子数 }

10.例:求二叉树的高度。

解:设二叉树结点类型为bitree ,函数名为high ,函数返回高度。

int high(bitree t) { int L,R;

if(t==NULL) return 0; //当前树为空,递归出口 L=high(t->lchild); //求左子树高度 R=high(t->rchild) //求右子树高度

return (L>R?L:R)+1; //高度=左、右子树高度较大者+1 }

1. 图的边数范围?连通图的边数范围?顶点度数之和与边数有何关系?

答:无向图中最多有)

1(21

-n n 条边,若为有向图,最多有n (n-1)条边。连通图最少有n-1条边。

若一个图中有n 个顶点和e 条边,则图中所有顶点的度同边数e 满足:∑==n

i vi D e 1

)(21

2. 有向图、无向图邻接表、邻接矩阵的画法?在邻接表、邻接矩阵上求出度和入度?

答:邻接矩阵:是表示顶点之间相邻关系的矩阵。在采用邻接矩阵表示图,对于无向图,边数即为矩阵中非0(或非max )的个数除以2,对于有向图,边数即为矩阵中非0(或非max )的个数;对于无向图,顶点v i 的度就是对应第i 行或第i 列上非0(或非max )元素的个数,对于有向图,顶点v i 的出度就是对应第i 行上非0(或非max )元素的个数,顶点v i 的入度就是对应第i 列上非0(或非max )元素的个数。

邻接表:是对图中的顶点建立一个邻接关系的单链表,并把它们的表头指针用向量存储的一种图的表示方法。在图的邻接表中便于查找一个顶点的度(出度),这只要首先从表头向量中取出对应的表头指针,然后从表头指针出发进行查找计算即可。但对于有向图的邻接表中查找一个顶点的入度,那就不方便了,它需要扫描所有的顶点邻接表中所有顶点邻接表中的边结点,因此专门建立一个逆邻接表,该表中的每个

顶点的单链表示储存该顶点的所有入边的信息。

3.如何由输入的边信息画邻接表?如何在邻接表上进行DFS、BFS遍历?

答:画邻接表:(1)for i:=1 to n do

Begin

Read(GL[i].data); {读入顶点vi的信息}

GL[i].link:=nil; {表头指针域置空}

End;

(2)for k:=1 to e do

begin

Read(i,j); {读入一条边的两端点序号}

New(s);s^.adjvex:=j;

{为vi邻接表生成一个出边邻接顶点}

s^.next:=GL[i].link; GL[i].link:=s; { 把结点s^插入到vi邻接表的表头}

end;

DFS:

Procedure dfs(i);

Begin

(1)write(i);

(2)visited[i]:=true; {置vi结点已访问}

(3)p:=GL[i].link; {取vi邻接表的表头指针}

(4)while p<>nil do {依次搜索vi的邻接点}

begin

j:=p^.adjvex; {j为vi的一个临界点的符号}

if not visited[j] then

dfs(j); {如果vi的一个邻接点vj没有被访问,则从vj出发调用}

p:=p^.next; {使用p指向vi的下一格邻接点所对应的边结点}

end

end;

BFS:

Procedure bfs(i); {从出发点vi出发广度优先搜索用邻接表GL表示的图}

Begin

Setnull(Q); {置队列空}

Write(i); {访问处始点vi}

Visited[i]:=true; {置vi已访问}

Insert(Q,i);

Repeat

(1)k:=delete(Q); {队首元素出队,第一次执行时是把i赋给k}

(2)p:=GL[k].link; {取vk邻接表的表头指针}

(3)while p <> nil do {依次搜索vk的邻接点}

begin

j:=p^.adjvex; { vj为vk 的一个邻接表}

if not visited then

write(j); {访问点vj}

visited[j]:=true;

insert(Q,j);

p:=p^.next {使p指向下一个邻接点对应的边结点}

until empty(Q)

end;

4.图的遍历和树的遍历有何类似之处?

答:都是按照一定的搜索方法对图中或树中的所有顶点各做一次访问的过程。图的遍历比树的遍历要复杂。5.DFS的实现用到栈,BFS的实现用到队列。

6.连通分量含义?连通图有多少连通分量?

答:在无向图G中,若从顶点v i到顶点v j有路径,则称v i和v j是连通的。若图中的任意两个顶点都连通,则称G为连通图,否则称为非连通图。无向图G的极大连通子图称为G的连通分量。显然,任何连通图的连通分量只有一个,即本身。

7.生成树、最小生成树的概念?如何求?唯一否?

生成树:一个连通无向图的生成树是图的一个连通分量,它含有图的所有n个顶点以及连接这些顶点的n-1条边。不唯一。

最小生成树:具有权最小的生成树称为图的最小生成树。不唯一。Prim算法和Kruskal算法。

8.什么图可得到生成树,什么图可得到生成森林?

解:连通图得到生成树,非连通图得到生成森林。

8.如何拓扑排序?有向图是否总可以拓扑排序?是否唯一?

答:直观上就是把V中所有的顶点排成一个序列Vi1,Vi1,Vi2,…Vi n,其中i1,i2,…,i n是1,2,3,…n 的一种排序,且使得任何 E,则在序列中Vi k排在Vi j之前。

有向图中存在有向回路时不能拓扑排序。拓扑排序不唯一。

1.各种排序方法的效率?稳定性?

2.哪些排序方法的效率与序列的初始状态基本无关?有关?

3.关键字比较次数越少,排序就越快吗?快速排序在任何时候都最快吗?

解:除了关键字比较,还有关键字移动问题。如果移动次数多、结点内容又多,则排序时间也会较长。特别地,基数排序不需比较,但执行时间并不一定比需要比较的排序快。

3.各种排序方法步骤如何?要会写每趟的结果。难点:快速排序、堆排序、希尔排序。

1.二分查找、顺序查找、分块查找对数据表有何要求?

答:要求数据表是有序表。

2.二叉排序树的含义?

答:二叉排序树(binary sort tree)或者是一棵树,或者是具有下列性质的二叉树:(1)若它的左子树不为空,则左子树上所有结点的值均小于它根结点的值;(2)若它的右子树不空,则右子树上所有结点的

值均大于它的根结点的值;(3)他的左、右子树也分别是二叉排序树。

3.平衡二叉树的概念,何为结点平衡因子?

答:平衡二叉树又称AVL树,它或是一棵空树,或是具有下列性质的二叉树:他的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。

二叉树中每个结点的左子树高度减去右子树的高度定义为该结点的平衡因子。

4.散列表概念?何为冲突?何为同义词?

答:散列同顺序、链接和索引一样,是存储线性表的另一种形式,因使用的数组空间是线性表进行散列存储的地址空间,所以称之为散列表。

一个待插入元素的散列地址单元已被占用,使得该元素无法直接存入到此单元中,我们把这种现象叫做冲突。

当散列地址的取值区间远比关键字的取值区间小,这样,当不同的关键字通过同一散列函数计算散列地址时,就可能出现具有相同散列地址的情况,若该地址中已经存入了一个元素,则具有相同散列地址的其他元素就无法直接存入进去,从而引起冲突,通常把这种具有不同关键字而具有相同的散列地址的元素称为“同义词”。

5.散列表的查找是否就不需关键字的比较了?散列表的查找效率是否取决于数据的个数n?

答:需要关键字比较,效率取决于三个因素:哈希函数、处理冲突的方法和哈希表的填装因子。

6.在10000个结点中查找,肯定比在10个结点中查找的平均时间慢吗?

提示:如果采用散列方法组织数据,查找效率不直接取决于数据个数n。

7.例:对关键字序列{11,78,10,1,3,2,4,21}构造散列表,取散列地址为HT[0..10],散列函数为H(K)=K%11,试用线性探查法冲突,画出相应的闭散列表,并分别求查找成功和不成功时的平均查找长度。解:首先求出散列地址,见下图(a),据此得到闭散列表见下图(b)。

查找成功的平均比较次数为:

ASL=(1+1+2+1+3+2+8+l)/8=2.375

查找不成功的平均查找长度为:

ASL unsucc=(8+7+6+5+4+3+2+1+1+1+9)/11≈4.273

8.例:对关键字序列{11,78,10,1,3,2,4,21}构造散列表,取散列地址为HT[0..10],散列函数为H(K)=K%11,试用拉链法解决冲突,画出相应的开散列表,并分别求查找成功和不成功时的平均查找长度。解:散列地址同上题,开散列表分别见下图(c)。

查找成功的平均比较次数为:

ASL=(1×6+2×2)/8=l.25

查找不成功的平均查找长度为:

ASL unsucc=(1+2+1+1+1+0+0+0+0+0+2)/11≈0.727

1

783成功比较次数11关键字 K 1010散列地址 K%11

11218231(a)

(b)

34

56789101201110211散列表(c)

78

1243

1

2

4

10

21324

1234

56

789成功比较次数

101

21

1100000

2

21不成功比较次数

8

7

6

9

2

3

4

1

115

数据结构·随堂练习2019春华南理工大学网络教育答案

数据结构(含课程设计),随堂 第一章绪论 1.(单选题) 计算机所处理的数据一般具备某种内在联系,这是指()。 A、数据和数据之间存在某种关系 B.元素和元素之间存在某种关系 C元素内部具有某种结构 D.数据项和数据项之间存在某种关系 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 2.(单选题) 在数据结构中,与所使用计算机无关的是数据的()结构. A.逻辑 B.存储 C.逻辑和存储 D. 物理 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 3.(单选题) 数据结构在计算机中的表示称为数据的() A.存储结构 B.抽象数据类型 C.顺序结构 D.逻辑结构 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 4.(单选题) 在计算机中存储数据时,通常不仅要存储各数据元素的值,还要存储(). A.数据的处理方法 B.数据元素的类型 C.数据元素之间的关系 D.数据的存储方法

答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 5.(单选题) 在计算机的存储器中表示数据时,逻辑上相邻的两个元素对应的物理地址也是相邻的,这种存储结构称为() A.逻辑结构 B.顺序存储结构 C.链式存储结构 D.以上都正确 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 6.(单选题) 当数据采用链式存储结构时,要求(). A.每个结点占用一片连续的存储区域 B.所有结点占用一片连续的存储区域 C结点的最后一个数据域是指针类型 D.每个结点有多少个后继就设多少个指针域 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 7.(单选题) 以下关于算法的说法正确的是(). A.算法最终必须由计算机程序实现 B.算法等同于程序 C算法的可行性是指指令不能有二义性 D.以上都是错误的 答题: A. B. C. D. (已提交)

华南理工大学811结构力学考研历年真题及答案

华南理工大学考研历年真题解析 ——811结构力学 主编:弘毅考研 编者:無冕之王 弘毅教育出品 https://www.doczj.com/doc/432600778.html,

【资料说明】 《华工结构力学历年真题解析(专业课)》系华工大学优秀考研辅导团队集体编撰的“历年考研真题解析系列资料”之一。 历年真题是除了参考教材之外的最重要的一份资料,其实,这也是我们聚团队之力,编撰此资料的原因所在。历年真题除了能直接告诉我们历年考研试题中考了哪些内容、哪一年考试难、哪一年考试容易之外,还能告诉我们很多东西。 1.命题风格与试题难易 第一眼看到华工历年试题的同学,都觉得试题“简单”。其实,这也是很多学生选择华工的原因吧。华工的试题不偏、不怪,80% 的题目可以在课本上找到部分的答案。这不同于一些学校的试题,比如同济大学,理论性很强,怪题多,可能一点也答不上来。华工的试题,则相对简单多。 华工题目简单,但是不是每个人都拿140以上,很大程度上就是基本知识点没学透。其实这很像武侠小说中的全真教,招式看似平淡无奇,没有剑走偏锋的现象,但是如果没有扎实的基础和深厚的内功是不会成为大师的。我们只能说命题的风格是侧重考察基础的知识,但是,我们要答出亮点,让老师给你高分,这并不容易。 2.考试题型与分值 大家要了解有哪些题型,每个题型的分值。从最近五年看,华工的题目基本不变。可很多学生平时眼高手低,到考试的时候就会傻眼。所以平常一定要多动笔,多联系。 3.各章节的出题比重 华工的专业课没有考试大纲,因此没有重、难点的告知,但大家可以通过对历年真题的分析,掌握各个章节在整个考研中的重要地位。通过这些分析,就把握了复习的重点。 4.重要的已考知识点 考研专业课试卷中,很多考点会反复出现,一方面告诉大家这是重点,另一方面也可以帮助大家记忆重要知识点,灵活的掌握各种答题方法。比如一些刚架的形状,是否出现过无穷刚杆等。对于反复考查的知识点,一定不要局限于答案,而要对答案进行变化,考研是选拔高层次人才的考试,老师不会对一个问题反复让大家背书,因此对于灵活性的要求更高,需要大家养成良好的发散思维。 5.反复变化的出题方式

华南理工大学《人工智能》复习资料

华南理工大学《人工智能》复习资料 Ch 2. 【状态空间表示】 S F G <>,, S :初始状态的集合 F :操作的集合 G :目标状态的集合 例如:507{}{}{}Q a b c Q Q <>,,,,, 【状态空间图】 【状态空间图搜索使用的数据结构】 OPEN 表:已生成但没考察的节点(待考察节点) CLOSED 表:考察过的节点及节点间关系(搜索树) 【广度/深度优先搜索特点】 广度优先:完备的(一定能找到最优解),搜索效率低,OPEN 表为队列结构 深度优先:不能保证找到最优解,OPEN 表为堆栈结构 有界深度优先搜索:即使能求出解,也不一定是最优 可变界深度优先搜索算法:深度可变,每次深度超过阈值 的点,都被当作待考察点(在CLOSED 表中) 【启发式搜索算法分类】 按选择范围分类: 全局择优搜索:考虑所有待考察节点 局部择优搜索:只考虑当前节点的子节点 【A*算法】 f (x ) = g (x )+ h (x ) g(x)为当前点的代价 h(x)为距离目标的距离 A*对A 算法的改进: 对h(x)作限制,使其总是小于实际最小距离h (x )≤ h* (x ), 具有完备性 【与或图】 Q 与Q1,Q2与等价(即Q 可以分解为Q1+Q2) Q1与{Q1i},{Q1i’}或等价(即Q1可以转换为{Q1i}或{Q1i’}) 【与或图中的概念】 本原问题:直接可解的问题。 终止节点:本原问题对应的节点 端节点: 无子节点的节点 与节点: 子节点为与关系 或节点: 子节点为或关系 【与或图的广度/深度搜索】 Step1:S0放入OPEN 表 Step2:OPEN 表第一个点(记为N )取出放入CLOSED 表,冠以编号n 。 Step3:若n 可扩展: (1)扩展N ,其子节点放入OPEN 表(深度:尾部,广度:首部) (2)考查这些节点是否终止节点。若是,放入CLOSED 表,标为可解节点,并对先辈点标示。若S0被标可解,得解。 (3)从OPEN 表删除具有可解先辈的节点。转Step2。 Step4:若N 不可扩展: (1)标示N 为不可解。 (2)标示先辈节。若S0被标不可解,失败。 (3)从OPEN 表删除具有不可解先辈的节点。转Step2。

华工平时作业数据结构第一次作业

1判断题 (对)1. 数据的逻辑结构与数据元素本身的内容和形式无关。 (错)2. 线性表的逻辑顺序与物理顺序总是一致的。 (对)3. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。 (错)4. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。 (对)5. 最优二叉搜索树的任何子树都是最优二叉搜索树。 (对)6. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。 (对)7. 有n(n≥1)个顶点的有向强连通图最少有n条边。 (错)8. 连通分量是无向图中的极小连通子图。 (错)9. 二叉树中任何一个结点的度都是2。 (错)10. 单链表从任何一个结点出发,都能访问到所有结点。 二、单选题 1 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( B )个元素。 A.8 B. 63.5 C. 63 D. 7 2 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[3][3]在( A )位置,(10)表明用10进数表示。 A.692(10) B. 626(10) C. 709(10) D. 724(10) 3 N个顶点的连通图至少有( A )条边。 A.N-1 B. N C. N+1 D. 0 4 下面程序的时间复杂度为( C )。 for(int i=0; ilink=p->link; p->link =s; B. q->link=s; s->link =p; C. p->link=s->link; s->link =q; D. p->link=s; s->link =q; 6栈的插入和删除操作在( A )进行。 A.栈顶 B. 栈底 C. 任意位置 D. 指定位置 7 若让元素1,2,3依次进栈,则出栈次序不可能出现哪种情况( C )。 A.3,2,1 B. 2,1,3 C. 3,1,2 D. 1,3,2 8 广义表A(a),则表尾为( C )。 A.a B. (()) C. 空表 D. (a)

数据结构(含课程设计)平时作业2020秋华南理工大学网络教育答案

1. 评价一个好的算法,应该从哪几方面来考虑的? 答:1、算法的正确性,2、算法的易读性,3、是算法的健壮性,4、是算法的时空效率(运行)。 2. 简述线性表的顺序和链式两种存储结构各自的主要特点。 答:1、顺序存储结构:存储单元地址连续,它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系,可随机存取表中任一元素。但它也使得插入和删除操作需移动大量的 数据元素。由于顺序表需要一组地址连续的存储单元,对于长度可变的线性表就需要预 分配足够的空间,有可能使一部分存储空间长期闲置不能充分利用。也可能由于估计不足,当表长超过预分配的空间而造成溢出,在这种情况下,又难于扩充连续的存储空间。 2、链式存储结构:存储单元地址为任意一组,它的存储单元可以是连续的,也可以是 不连续的,甚至是零散分布在内存中的任意位置上的。因此,链表中结点的逻辑次序和 物理次序不一定相同。在表示数据元素之间的逻辑关系时,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置),这两部分信息组成数 据元素的存储映像,称为结点(node) 3. 有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,99},如果采用折半查找法查找关键字为82 的元素时,请分析其比较次数和每次进行比较的元素。 答:4次比较后查找成功,分别和45、77、95、82进行比较首先和中间值45比较,82比45大选择右边,右边六个数和中间值77比较,82比77大选择右边,右边3个数选择中间值95进行比较,82比95小选择左边,左边1个数和82比较相等。

4. 有5 个元素,其入栈次序为:A,B,C,D,E,在各种可能的出栈次序中,以元素C,D最先出栈(即C 第一个且D 第二个出栈)的次序有哪几个? 答:有3 个: CDBAE, CDEBA, CDBEA 5. 一棵二叉树的先序遍历序列为ABCDEF,中序遍历序列为CBAEDF,则后序遍历序列为什么? 答:CDBAE;CDBEA;CDEBA 6. 将整数序列(4,5,7,2,1,3,6)中的元素依次插入到一棵空的二叉排序树中,试构造相应的二叉排序树,要求用图形给出构造过程。 7.对于稠密图和稀疏图,采用邻接矩阵和邻接表哪个更好些?为什么? 答:邻接矩形适合稠密图,因为邻接矩形占用的存储空间与边数无关;邻接表适合于稀疏图,因为邻接表占用的存储空间与边数有关 8.设双向循环链表中结点的数据域、前驱和后继指针域分别为data,pre 和next,试写出

华工综合的高性能复习题(考试复习用).

华工综合的高性能复习 题

2008 年11 月 1. 解释以下基本概念 HPC, HPCC, Distributed computing, Meta computing, Grid computing MIMD, SIMD, SISD PVP, SMP,MPP, DSM, Cluster, Constellation UMA, NUMA, CC_NUMA, CORMA, NORMA HPC:高性能计算是计算机科学的一个分支,研究并行算法和开发相关软件,致力于开发高性能计算机(High Performance Computer)。 计算密集型(Compute-Intensive)应用 数据密集型(Data-Intensive)应用 网络密集型(Network-Intensive)应用 HPCC:高性能计算和通信(High-Performance Computing and Communications:HPCC) 分布式高性能计算、高速网络和Internet的使用 分布式计算(Distributed Computing) 更着重于功能而不是性能的增加 网格计算(Grid Computing) 分布式高性能计算(Distributed, High Performance Computing: DHPC),或称元计算(Meta computing) 单指令单数据流:SISD 普及程度:MIMD > SIMD > MISD 单指令多数据流:SIMD 多指令单数据流:MISD 多指令多数据流:MIMD ?对称多处理(共享存储并行)机(SMP:Symmetric MultiProcessing); ?分布共享存储多处理机(DSM:Distributed Shared Memory); ?大规模并行机(MPP:Massively Parallel Processors); ?工作站(微机)机群(COW:Cluster Of Workstation、Beowulf PC-Cluster); ?并行向量多处理机(PVP:Parallel Vector Processors) 均匀访存模型(UMA:Uniform Memory Access) 非均匀访存模型(NUMA:Nonuniform Memory Access) Cache一致性非均匀访存模型(CC-NUMA:Coherent-Cache Nonuniform Memory Access) 分布式访存模型(DMA:Distributed Memory Access) 2. 试比较PVP、SMP、MPP、DSM 和Cluster 并行机结构的不同点,以典型系统举例说明。SMP:对称多处理器,共享存储,高速缓存一致性,低通信延迟,不可扩放性

(精选)华工2017《软件工程》随堂作业答案

1.(单选题) 把一组具有相同数据结构和相同操作的对象的集合定义为类,此定义包括一组数据属性和在( )上的一组合法操作。 A.数据 B.属性 C.对象 D.消息 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 2.(单选题) 面向对象技术特别强调的是( )的数据结构。 A.数据库 B.数据 C.抽象类型 D.对象 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 3.(单选题) 在软件交付使用后,由于软件开发过程产生的错误没有完全彻底在测试阶段发现,必然有一部分隐含错误带到( )阶段。 A. 需求 B. 开发 C. 编码 D. 维护 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 4.(单选题) 软件维护的工作流程为用户提出( )、维护组织审查申请报告并安排维护工作、进行维护并做详细的维护记录和复审。 A. 维护报告 B. 维护申请 C. 维护文档 D. 维护说明 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 5.(单选题) 在需求( )中,开发人员要从用户那里解决的最重要的问题是软件应当做什么。 A. 设计 B. 代码 C. 分析 D. 结构

答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 6.(单选题) 在统一过程中是采用用例驱动和架构优先的策略,并采用迭代增量建造方法,使()“逐渐”被开发出来。 A.硬件 B.功能 C.软件 D.模型 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 7.(单选题) 软件工程学的一个重要目标是()。 A.提高程序的执行效率 B.降低程序对存储空间的要求 C.提高软件的可理解性 D.提高软件的可维护性 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 8.(单选题) 软件工程的过程是将软件工程()综合起来以达到合理、及时地进行计算机软件开发的目的。 A.方法 B.工具 C.方法和工具 D.过程 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 9.(单选题) ( )是以提高软件质量为目的的技术活动。 A、技术创新 B、测试 C、技术改造 D、技术评审 答题: A. B. C. D. (已提交) 参考答案:D

华南理工大学数据结构复习提纲二

数据结构复习提纲 第二部分复习提纲(不分题型) 1.逻辑结构、存储结构、运算、算法、时空复杂性等哪些与计算机硬件有关?无关? 逻辑结构: 存储结构:指数据的逻辑结构在计算机存储器中的实现,存储结构是依赖于计算机的。 运算:在数据逻辑结构上定义的操作。 ◆例如有一张学生成绩表,记录了一个班的学生各门课的成绩。按学生的姓名为一行记成的表。这个表就是一个数据结构。每个记录(有姓名,学号,成绩等字段)就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一个也只有一个直接前趋和直接后继(它的前面和后面均有且只有一个记录)。这几个关系就确定了这个表的逻辑结构。 那么我们怎样把这个表中的数据存储到计算机里呢? 用高级语言如何表示各结点之间的关系呢? 是用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢? 这就是存储结构的问题,我们都是从高级语言的层次来讨论这个问题的。 最后,我们有了这个表(数据结构),肯定要用它,那么就是要对这张表中的记录进行查询,修改,删除等操作,对这个表可以进行哪些操作以及如何实现这些操作就是数据的运算问题了。 所谓算法(Algorithm)是对问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。 所谓算法复杂度: T (n) = O(f(n)) 称T (n) 为算法的渐近时间复杂度(Asymptotic Time Complexity),简称时间复杂度。O是数量级的符号。 下面我们探讨一下如何估算算法的时间复杂度 算法= 控制结构+ 原操作(固有数据类型的操作) 算法的执行时间=原操作(i)的执行次数×原操作(i)的执行时间 算法的执行时间与原操作执行次数之和成正比 2.逻辑结构与存储结构是否一一对应? 答:否。

2018秋季华南理工大学网络学院结构力学(一)随堂练习答案

第二章几何组成分析·第二节几何不变体系的基本组成规则 随堂练习提交截止时间:2018-12-15 23:59:59 当前页有3题,你已做3题,已提交3题,其中答对2题。 1.(单选题) 图示体系为() A.无多余约束的几何不变体系 B.有多余约束的几何不变体系 C.几何可变体系 D.几何瞬变体系 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 2.(单选题) 图示体系为() A.无多余约束的几何不变体系 B.有多余约束的几何不变体系 C.几何可变体系 D.几何瞬变体系 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 3.(单选题) 图示体系为() A.无多余约束的几何不变体系 B.有多余约束的几何不变体系 C.几何可变体系 D.几何瞬变体系 答题: A. B. C. D. (已提交) 参考答案:A

问题解析: 第二章几何组成分析·第三节瞬变体系的概念 随堂练习提交截止时间:2018-12-15 23:59:59 当前页有7题,你已做7题,已提交7题,其中答对7题。 1.(单选题) 图示体系为() A.无多余约束的几何不变体系 B.有多余约束的几何不变体系 C.几何可变体系 D.几何瞬变体系 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 2.(单选题) 图示体系为() A.无多余约束的几何不变体系 B.有多余约束的几何不变体系 C.几何可变体系 D.几何瞬变体系 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.(单选题) 图示体系为() A.无多余约束的几何不变体系 B.有多余约束的几何不变体系 C.几何可变体系 D.几何瞬变体系

数据结构(含课程设计)作业 华工

数据结构(含课程设计)·数据结构课程作业提交方式:附件

二、简答题 1. 线性表可用顺序表或是链表存储,此两种存储表示各有哪些优缺点? 答:顺序存储表示是将数据元素存放于一个连续的存储空间中,实现顺序存取或者直接存取(按下标)链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 优缺点: 顺序表:存取速度快,增删效率稍慢,且它的空间大小一经定义就不能扩大容量,不易扩充。 链表:存取慢,增删快,只要存储器中还有空间,就不会产生存储溢出问题。 2. 设有一个输入数据的序列是{46,25,78, 62, 12, 37, 70, 29},试画出从空树起,逐个输入各个数据而生成的二叉搜索树。 答: 3.用广义表的带表头结点的存储表示法表示下列集合。 A = ( ) B = (6, 2) C = (‘a’,( 5, 3, ‘x’)) D = (B, C, A) E = (B, D) 答:

4.上图所示为一有向图,请给出该图的下述要求: (1)给出每个顶点的入度和出度; (2)以结点3为起始结点,分别画出该图的一个深度优先生成树和一个宽度优先生成树;(3)给出该图的邻接矩阵; (4)给出该图的邻接表; 答: (1)顶点入度出度 1 3 0 2 2 2 3 1 2 4 1 3 5 2 1 6 2 3 (2) 广度优先生成树

(3)邻接矩阵 (4)邻接表 5.对于如上图所示的有向图,试写出:

(1) 从顶点①出发进行深度优先搜索所得到的深度优先生成树; (2) 从顶点②出发进行广度优先搜索所得到的广度优先生成树; 答:(1) (2) 6.已知二叉树的先序、中序和后序序列分别如下,但其中有一些已模糊不清,试构造出该二叉树。先序序列_BC_EF__ 中序序列BDE_AG_H 后序序列_DC_GH_A 答:后序最后一个是A,所以A是先序的第一个得到: 先序序列ABC_EF_ 中序序列BDE_AG_H 后序序列_DC_GH_A 先序的第二个元素是B,所以B是A的左子树根节点,有中序B在最前,知道其他 元素都在B的右子树上。 所以,后序序列为(DE_)B(B_H)A,对比已有的后序序列_DC_GH_A 得后序序列为:EDCBGHFA,中序序列为:BDECAGFH 先序序列ABD_EF_ 所以

《结构力学(一)》·随堂练习2020秋华南理工大学网络教育答案

结构力学(一)·随堂练习 2020秋华南理工大学网络教育答案第一章绪论 第二章平面体系的机动分析 1.(单选题) 计算自由度W是有意义的,若W>0,则表示体系。 A.几何常变 B.几何瞬变 C.几何不变 D.几何可变 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 2.(单选题) 图示体系的几何组成为。 A.几何不变,无多余约束 B.几何不变,有一个多余约束 C.瞬变体系 D.几何不变,有2个多余约束 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.(判断题) 瞬变体系的计算自由度可能小于0。()

答题:对. 错. (已提交) 参考答案:√ 问题解析: 4.(判断题) 图示体系为无多余约束的几何不变体系。() 答题:对. 错. (已提交) 参考答案:√ 问题解析: 5.(单选题) 图示体系为。 A.几何常变体系 B.无多余约束的几何不变体系 C.瞬变体系 D.有多余联系的几何不变体系 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 6.(单选题) 图示体系为。

A.几何常变体系 B.无多余约束的几何不变体系 C.瞬变体系 D.有多余联系的几何不变体系 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 7.(判断题) 若体系计算自由度W≤0,则该体系几何不变。()答题:对. 错. (已提交) 参考答案:× 问题解析: 8.(判断题) 下图的体系为几何不变体系。() 答题:对. 错. (已提交) 参考答案:× 问题解析: 9.(单选题) 图示体系为。

A.几何常变体系 B.无多余约束的几何不变体系 C.瞬变体系 D.有多余联系的几何不变体系 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 10.(单选题) 下图所示正六边形体系为。 A.几何常变体系 B.无多余约束的几何不变体系 C.瞬变体系 D.有多余联系的几何不变体系 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 11.(判断题) 静定结构可以是瞬变体系。()答题:对. 错. (已提交) 参考答案:×

数据结构域算法分析c++版第三版华工软院作业题答案

12级软件四班xxx 3.2 graph: r x() = 2 51015 When n=1, both of log3 n and log2 n have value 0; If 1

3.17 //Return position of first element with value K //the n is the number of K; int binary (int A [] , int n , int K ){ int l = -1 ; int r = n ; while ( l+1 != r){ int i = (l + r )/2; if( K<=A[i]) r =i; if(K>A[i]) l=i; } If(r==n&&A[r-1]==K) return n; if(r==n&&A[r-1]!=K) return ERROR ;// K is not in the A[]; if(r!=n&&A[r]!=K) return ERROR ;// K is not in the A[]; else return r; } 4.4 void switch (ListL){ Elem s; s=L.remove(); L.next(); L.insert(s);

华南理工大学结构力学各章要求与老师的讲解例题

第一章绪论 [结构] 由建筑材料按照合理方式组成,并能承受一定荷载作用的物体或体系,称为建筑结构,简称为结构。 结构是建筑物的骨架,能承受各种荷载。 结构一般由多个构件联结而成,如桁架、框架等。最简单的结构则是单个构件,如梁、柱等。 [基本任务] 结构力学研究结构的组成规律和合理形式以及结构在荷载、温度变化、支座位移等因素作用下的内力、 变形和稳定的计算原理和计算方法。 具体说来,包括下列四个方面的内容: (1)探讨结构的几何组成规律及合理形式;(几何分析) (2)研究结构的内力计算方法;(强度计算) (3)研究结构的变形计算方法;(刚度计算) (4)分析结构的稳定性。(稳定计算) [计算简图] 把实际结构抽象和简化为既能反映实际受力情况而又便于计算的图形,并用来代替实际结构的力学模 型。 [结构的简化] 1、杆件的简化 用轴线表示杆件,杆件连接区间用结点表示,结点可简化为铰结点和刚结点两种基本类型。 铰结点的特点:与铰相联的各杆可以分别绕它任意转动。 刚结点的特点:当结点转动时,各杆端的转角都相同。 2、支座的简化 可动铰支座

固定铰支座 固定端支座 定向支座 [结构的分类] (1)按照空间观点:分为平面结构和空间结构两类; (2)按照几何观点:分为杆件结构,薄壁结构和实体结构三类; (3)按照计算方法的特点:可分为静定结构和超静定结构两类。 [杆件结构的类型] (1)梁:梁是一种受弯构件; (2)拱:拱的轴线是曲线,在竖向荷载作用下存在水平推力; (3)刚架:刚架是由梁和柱组成。各杆件多以弯矩为主要内力; (4)桁架:桁架是由若干杆件,两端用铰联结而成的结构,各杆只产生轴力; (5)组合结构:部分由链杆,部分由梁式杆组合而成的结构。 [荷载] 荷载是作用在结构上的外力和其它因素,例如结构自重、水压力、土压力、风压力、雪压力以及人 群重量等。还有温度变化、基础沉降、材料收缩等。 [荷载的分类] (1)根据分布情况:分为集中荷载和分布荷载; (2)根据作用时间:分为恒载和活载;

华南理工大学数据结构课程习题集部分答案

《数据结构》课程习题集第1 页(共25 页) 一、.选择题 .1.算法的计算量的大小称为计算的( B )。 A.效率 B. 复杂性 C. 现实性 D. 难度 .2.算法的时间复杂度取决于(C ). A.问题的规模 B. 待处理数据的初态 C. A 和B D. 难确定 .3.下面关于算法说法错误的是(D ) A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C.算法的可行性是指指令不能有二义性 D.以上几个都是错误的 .4 .从逻辑上可以把数据结构分为( C )两大类。 A.动态结构、静态结构B .顺序结构、链式结构 C.线性结构、非线性结构 D .初等结构、构造型结构 .5 .以下数据结构中,哪一个是线性结构( D ) ? A.广义表 B. 二叉树 C.稀疏矩阵 D. 串 .6 .下述哪一条是顺序存储结构的优点?( A ) A存储密度大B .插入运算方便 C.删除运算方便D .可方便地用于各种逻辑结构的存储表示 .7 .下面关于线性表的叙述中,错误的是哪一个?( B ) A线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用存储,不必占用一片连续的存储单元。 D.线性表采用存储,便于插入和删除操作。 .8 .若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用(A )存储方式最节省时间。 A.顺序表 B .双链表 C .带头结点的双循环链表 D .单循 环链表 .9 .设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(D ) 最节省时间。 A.单链表 B.单循环链表 C.带尾指针的单循环链表 D.带头结点的双循环链表 .10.链表不具有的特点是( B ). A .插入、删除不需要移动元素 B .可随机访问任一元素 C .不必事先估计存储空间 D .所需空间与线性长度成正比 .11.设一个栈的输入序列是1,2, 3, 4, 5,则下列序列中,是栈的合法输出序列的是(D )。 A. 5 1 2 3 4 B. 4 5 1 3 2 C. 4 3 1 2 5 D. 3 2 1 5 4 .12.某堆栈的输入序列为a, b,c,d,下面的四个序列中,不可能是它的输出序列的是(D )。 A. a ,c,b,d B. b, c ,d, a C. c, d ,b, a D. d, c ,a,b .13.用方式存储的队列,在进行删除运算时( D )。 A.仅修改头指针 B.仅修改尾指针

第九章,,华工数据结构试卷资料,电信学院,

习题 9.1一、选择题 1、一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为( B )。 A、79,46,56,38,40,80 B、84,79,56,38,40,46 C、84,79,56,46,40,38 D、84,56,79,40,46,38 2、排序趟数与序列原始状态(原始排列)有关的排序方法是(ACD)方法。 A、插入排序 B、选择排序 C、冒泡排序 D、快速排序 3 、下列排序方法中,(B)是稳定的排序方法。 A、直接选择排序 B、二分法插入排序 C、希尔排序 D、快速排序 4、数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中( C )的两趟排序后的结果。 A、选择排序 B、冒泡排序 C、插入排序 D、堆排序 5、对序列(15,9,7,8,20,-1,4)进行排序,进行一趟排序后,数据的排列变为(4,9,-1,8,20,7,15),则采用的是(C)排序。 A、选择 B、快速 C、希尔 D、冒泡 6 、一组待排序记录的关键字为(46,79,56,38,40,84),则利用快速排序,以第一个记录为基准元素得到的一次划分结果为( C)。 A、(38,40,46,56,79,84) B、(40,38,46,79,56,84) C、(40,38,46,56,79,84) D、(40,38,46,84,56,79) 7、用直接插入排序对下面四个序列进行排序(由小到大),元素比较次数最少的是( C )。 A、94,32,40,90,80,46,21,69 B、32,40,21,46,69,94,90,80 C、21,32,46,40,80,69,90,94 D、90,69,80,46,21,32,94,40 8、若用冒泡排序对关键字序列(18,16,14,12,10,8)进行从小到大的排序,所需进行的关键字比较总次数是(B)。 A、10 B、15 C、21 D、34 9、就排序算法所用的辅助空间而言,堆排序、快速排序和归并排序的关系( A)。 A、堆排序<快速排序<归并排序 B、堆排序<归并排序<快速排序 C、堆排序>归并排序>快速排序 D、堆排序>快速排序>归并排序 E、以上答案都不对 10、采用败者树进行k路平衡归并的外部排序算法,其总的归并效率与k()。 A、有关 B、无关 9.2 填空题 1、在直接插入排序和直接选择排序中,若初始数据基本有序,则选用(直接插入排序),若初始数据基本反序,则选用(直接选择排序)。 2、在归并排序中,若待排序记录的个数为20,则共需要进行(5)趟归并,在第三趟归并中,是把长度为(4)的有序表归并为长度为(8)的有序表。 3、在内排序中,平均比较次数最多的是(快速排序),要求附加的内存空间最大的是(归并排序),排序时不稳定的有(希尔排序)、(选择排序)、(快速排序)和(堆排序)等几种方法。 4、对n个元素的序列进行冒泡排序,最少的比较次数是(n-1),此时元素的排列情况

结构力学(一)·随堂练习2020秋华南理工大学网络教育答案

构力学(一) 第一章绪论 第二章平面体系的机动分析 1.(单选题) 计算自由度W是有意义的,若W>0,则表示体系。 A.几何常变 B.几何瞬变 C.几何不变 D.几何可变 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 2.(单选题) 图示体系的几何组成为。 A.几何不变,无多余约束 B.几何不变,有一个多余约束 C.瞬变体系 D.几何不变,有2个多余约束 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.(判断题) 瞬变体系的计算自由度可能小于0。() 答题:对. 错. (已提交) 参考答案:√

问题解析: 4.(判断题) 图示体系为无多余约束的几何不变体系。() 答题:对. 错. (已提交) 参考答案:√ 问题解析: 5.(单选题) 图示体系为。 A.几何常变体系 B.无多余约束的几何不变体系 C.瞬变体系 D.有多余联系的几何不变体系 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 6.(单选题) 图示体系为。 A.几何常变体系

B.无多余约束的几何不变体系 C.瞬变体系 D.有多余联系的几何不变体系 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 7.(判断题) 若体系计算自由度W≤0,则该体系几何不变。()答题:对. 错. (已提交) 参考答案:× 问题解析: 8.(判断题) 下图的体系为几何不变体系。() 答题:对. 错. (已提交) 参考答案:× 问题解析: 9.(单选题) 图示体系为。 A.几何常变体系 B.无多余约束的几何不变体系

C.瞬变体系 D.有多余联系的几何不变体系 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 10.(单选题) 下图所示正六边形体系为。 A.几何常变体系 B.无多余约束的几何不变体系 C.瞬变体系 D.有多余联系的几何不变体系 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 11.(判断题) 静定结构可以是瞬变体系。() 答题:对. 错. (已提交) 参考答案:× 问题解析: 12.(判断题) 静定结构可以通过静力平衡方程求出结构所有的内力。()答题:对. 错. (已提交) 参考答案:√ 问题解析: 第三章静定梁与静定刚架

数据结构(含课程设计)·平时作业2020春华南理工大学网络教育答案

1.简述单链表设置头结点的主要作用 答:设置头结点是为了保证处理第一个节点和后面的节点的时候设计的算法相同,实现程序的高效性2. 简述线性表的顺序和链式两种存储结构各自的主要特点。 答: 顺序存储结构的主要特点是: (1)结点中只有自身的信息域,没有关联信息域。因此,顺序存储结构的存储密度大、存储空间利用率高。 (2)通过计算地址直接访问任何数据元素,即可以随机访问。 (3)插入和删除操作会引起大量元素的移动。 链式存储结构的主要特点是: (1)结点除自身的信息域外,还有表示关联信息的指针域。因此,链式存储结构的存储密度小、存储空间利用率低。 (2)在逻辑上相邻的结点在物理上不必相邻,因此,不可以随机存取,只能顺序存取。(3)插入和删除操作方便灵活,不必移动结点只需修改结点中的指针域即可。 3. 说明在线性表的链式存储结构中,试述头结点,首元结点,头指针这三个概念的区别. 答: 在线性表的链式存储结构中,头指针指链表的指针,若链表有头结点则是链表的头结点的指针,头指针具有标识作用,故常用头指针冠以链表的名字。头结点是为了操作的统一、方便而设立的,放在第一元素结点之前,其数据域一般无意义(也可存放链表的长度、用做监视哨等),有头结点后,对在第一元素结点前插入结点和删除第一结点,其操作与对其它结点的操作统一了。而且无论链表是否为空,头指针均不为空。首元结点也就是第一元素结点,它是头结点后边的第一个结点。 4. 设计一个算法,将元素x插入到一个有序(从小到大排序)顺序表的适当位置上,并保持有序性。 解:通过比较在顺序表L中找到插入x的位置i,将该位置及后面的元素均后移一个位置,将x插入到位置i中,最后将L的长度增1. 算法如下: void Insert(SqList *&L,ElemType x) { int i=0,j; while (ilength && L->data[i]length-1;j>=i;j--) L->data[j+1] = L->data[j]; L->data[i]=x; L->length++; }

2020-2021第一学期房屋建筑学作业

华工继续教育学院2020-2021年第一学期房屋建筑学作业 1.两阶段设计与三阶段设计的含义和适用范围是什么?(5,) 答:两阶段设计即初步设计和施工图设计,适用于一般建设项LI。 三阶段设计即初步设计、技术设计和施工图设计,适用于技术复杂、基础资料缺乏和不足 的建设项LI或建设项LI中的个别路段、特大桥、互通式立体交义、隧道等。 2.建筑模数中的基本模数、导出模数的含义和适用范围是什么?(5Z 答:基本模数是模数协调中选用的基本尺寸单位。其数值定为100m,符号为M, B|J lM-lOOmmo 整个建筑物或其一部分以及建筑组合件的模数化尺寸都应该是基本模数的倍数。 导出模数分为扩大模数和分模数,其基数应符合下列规定: (1)扩大模数,指基本模数的整倍1633数,扩大模数的基数为3, 6, 12, 15, 30, 60M 共6个,其相应的尺寸分别为300, 600, 1200, 1500, 3000, 6000mm作为建筑参数。 (2)分模数,指整数除以基本模数的数值,分模数的基数为1/10, 1/5, 1/2M共3个,其相应的尺寸为10, 20, 50mm。 3.什么叫做构件的耐火等级?建筑的耐火等级如何划分?耐久等级又如何划分?⑸) 答:耐火等级是指建筑构件按时间-温度标准曲线进行耐火实验,从受到火的作用时起,到时 去支持能力或完整性被破坏或失去隔火作用时止的这段时间,用小时表示。 建筑按耐火等级分类分为四级,分级确定的依据是组成房屋构建的耐火极限和燃烧性能。 建筑按耐久年限分类分为四级,分级的依据是主体机构确定的耐久年限。 4.影响房间形状的因素有哪些?试举例说明为什么矩形房间被广泛釆用?(5,) 答:在具体的设计中,应从使用要求、结构形式和结构布置、经济条件、美观等方面综合考虑, 选择合适的房间形状。

用文件实现的学生成绩管理系统 (华工完整大作业)

用文件实现学生成绩管理系统 (全套完整资料,可直接上交!!) 一、题目: 用文件实现的学生成绩管理系统 二、目的 学生通过本次实验编程实现一个班级学生成绩的管理,使学生了解文件的主要操作(创建、读、写、增加和删除记录等)。 三、内容和要求 1、编写一个学生成绩管理的软件系统,语言不限。 2、软件中能够随时增加学生成绩记录(姓名、班级、学号、课程名称、成 绩),这些记录存放到磁盘文件中。 3、利用磁盘文件的系统接口函数编程实现对学生成绩进行管理:以各种方 式查询成绩、修改成绩;显示所有的学生成绩。 4、编写将一个班级的成绩复制到另一个文件的功能。 5、学习使用文件编程,实现指定班级成绩文件的删除操作。 6、能够对学生成绩记录进行文件备份和还原。 7、本实验的目的是练习文件操作,因此该软件不能使用数据库存放信息, 只能用普通文件存放信息。 四、提交内容 本大作业每个人必须单独完成。最后需提交的内容包括:源程序(关键代码需要注释说明)、可运行程序、运行结果、算法思路及流程图、心得体会。将以上内容刻入光盘,光盘上写明班级、学号、姓名信息,再将大作业

要求、源程序及注释、算法思路及流程图、心得体会等打印出来。最后将打印稿及光盘统一交给自己所在的教学点管理人员。截止时间2014年12月1日。过期自负。 大作业严禁抄袭。发现抄袭一律以不及格论。 学生提交的大作业必须与本次布置的大作业题目和要求相一致,否则成绩记零分。 用文件实现学生成绩管理系统 摘要学生成绩管理系统是典型的信息管理系统,是学校教务管理的重要组成部分,其处理信息量很大。本课程设计是用C++实现对学生的成绩管理作一个简单的模拟,实质是建立学生成绩单链表,每条记录由姓名、学号与成绩组成,即链表中每个结点由4个域组成,分别为:学号、姓名、成绩、存放下一个结点地址的next域。用菜单选择操作方式完成五项功能分别写成五个函数,插入学生成绩对应建立学生单链表的功能,输出全部学生成绩记录,后三个功能分别对应单链表的查询、修改与删除三大基本操作。该系统中的数据采用线性表中的链式存储结构即单链表来存储,用结构体类型和类类型定义每个学生记录并采用外部文件方式记录数据简便数据的读取与保存。 关键词程序设计;C++;文件;学生成绩管理系统;

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