数据结构试题:第七章的练习

数据结构试题:第七章的练习
数据结构试题:第七章的练习

数据结构复习题:图

单选题

1、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的_____倍。A,1/2 B,1C,2 D,4

2、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为_____。

A,n B, n+1 C,n-1 D,n+e

3、具有n个顶点的无向完全图,边的总数为_____条。

A,n-1 B,n C,n+1 D,n*(n-1)/2

4、在无向图G的邻接矩阵A中,若A[i,j]等于1,则A[j,i]等于_____ 。

A,i+j B,i-j C,1D,0

5、在n个结点的线索二叉树中,线索的数目为______.

A,n-1 B,n C,n+1 D,2n

6、在二叉排序中,凡是新插入的结点,都是没有______的.

A孩子B关键字C平衡因子D赋值

7、深度为5的二叉树至多有_______个结点.

A,16 B,32 C,31 D,10

8、在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的入度数之和为_________。

A,s B,s-1 C,s+1 D,n

9、在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的度数之和为_________。

A,s B,s-1 C,s+1 D,2s

10、在一个具有n个顶点的无向图中,若具有e条边,则所有顶点的度数之和为_________。

A,n B,e C,n+e D,2e

11、在一个具有n个顶点的无向完全图中,所含的边数的_________。

A,n B,n(n-1) C,n(n-1)/2 D,n(n+1)/2

12、在一个具有n个顶点的有向完全图中,所含的边数为_________。

A,n B,n(n-1) C,n(n-1)/2 D,n(n+1)/2

13、在一个无权图中,若两顶点之间的路径长度为k,则该路径上的顶点数为

_________。

A,k B,k+1 C,k+2 D,2k

14、对于一个具有n个顶点的无向连通图,它留念的连通分量的个数为_________。A,0 B,1C,n D,n+1

15、若一个图中包含有k个连通分量,若要按照深度优先搜索的方法访问所有顶点,则必须调用_________次深度优先于搜索遍历的算法。

A,k B,1C,k-1 D,k+1

16、在一个具有n个顶点和e条边的无向图的邻接表中,边结点的个数为_________。

A,n B,n*e C,e D, 2*e

17、在一个具有n个顶点和e条边的无向图的邻接表中,边结点的个数为_________。

A,n B,n*e C,e D,2*e

18、在一个具有n个顶点和e条边的有向图的邻接表中,保存顶点单链表的表头指针向量的大小至少为_________

A,n B,2n C,e D,2e

19、在一个无权图的邻接表表示中,每个边结点至少包含_________域。

A,1B,2C,3D,4

20、对于一个有向图,若一个顶点的度为k1,出度为k2,则对应邻接表中该顶点单链表中的边结点数为_________

A,k1 B,k2 C,k1-k2 D,k1+k2

21、对于一个有向图,若一个顶点的度为k1,出度为k2,则对应邻接表中该顶点单链表中的边结点数为_________。

A,k1 B,k2 C,k1-k2 D,k1+k2

22、对于一个无向图,下面_________说法是正确的。

A,每个顶点的入度等于出度B,每个顶点的度等于其入度出度之和C,每个顶点的入度为0D,每个顶点的出度为0

23、在一个有向图的邻接表中,每个顶点单链表中结点的个数等于该顶点的_________。

A,出边数B入边数C度数D度数减1

24、若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)},则从顶点A开始对该图进行深度优先搜索,得到的顶点序列可能为_________。

A: A,B,C,F,D,E B: A,C,F,D,E,B C: A,B,D,C,F,E D: A,B,D,F,E,C

25、若一个图的边集为{<1,2>,<1,4>,<2,5>,<3,1>,<3,5>,<4,3>},则从顶点1开始对该图进行深度优先搜索,得到的顶点序列可能为_________。

A, 1,2,5,4,3B,1,2,3,4,5 C,1,2,5,3,4 D,1,4,3,2,5

26、若一个图的边集为{<1,2>,<1,4>,<2,5>,<3,1>,<3,5>,<4,3>},则从顶点1开始对该图进行广度优先搜索,得到的顶点序列可能为_________。

A,1,2,3,4,5 B,1,2,4,3,5 C,1,2,4,5,3 D,1,4,2,5,3

29、在n个顶点的有向无环无权图的邻接矩阵中至少有_________个零元素。A,n B,n(n-1)2 C,n(n+1)2 D,n(n-1)

判断题

1、有回路的图不能进行拓扑排序。T

数据结构算法题

1,设计一个将邻接表转换为邻接矩阵的算法.

void ListToMat(ALGraph *G,MGraph &g)

{ int i,j,n=G->n;

ArcNode *p;

for (i=0;i

{ p=G->adjlist[i].firstarc;

while (p!=NULL)

{ g.edges[i][p->adjvex]=1;

p=p->nextarc;

}

}

g.vexnum=n;g.arcnum=G->e;

}

填空题

1、在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的__________,对于有向图来说等于该顶点的__________。度数|出度数

2、已知一个无向图的邻接矩阵如下所示,则从顶点A出发按深度优先搜索遍历得到的顶点序列为__________,按广度优先搜索遍历得到的顶点序列为

__________。

A B C D E F

┏0 1 1 0 1 0┓A

┃1 0 1 0 1 1┃B

┃1 1 0 1 0 0┃C

┃0 0 1 0 0 1┃D

┃1 1 0 0 0 1┃E

┗0 1 0 1 1 0┛F ABCDFE|ABCEFD

3、对二叉排序树进行______遍历,可以得到按关键字从小到大排列的结点序列

中序

4、任何一棵子树的结点个数减边数等于______,总边数等于各结点_____之和.

1|出度、扇出

5、己知一棵完全二叉树中共有562个结点,则该树中共有______个叶子结点. 281

6、在一个具有n个顶点的无向完全图中,包括有____________条边,在一个具有n个顶点的有向完全图中,包含有____________条件。n(n-1)2 | n(n-2)

7、已知一个连通图的边集为{(1,2)3,(1,3)6,(1,4)8,(2,3)4,(2,5)10,(3,5)12,(4,5)2},则度为3的顶点个数有____________个。4

8、一个有向图的顶点集为{a,b,c,d,e,f},边集为{,,,,,},则出度为0的顶点个数为____________,入度为1的顶点个数为____________。2|4

9、在一个连通图中存在着____________个连通分量1

10、对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小至少为____________*____________。N|N

11、对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点的个数分别为____________和____________。e |2e

12、在有向图的邻接和逆邻接表表示中,每个顶点邻接表分别链接着该顶点的所有____________和____________结点。出边|入边

13、一个图的边集为{(a,c),(a,e),(b,e),(c,d),(d,e)},从顶点a出发进行深度优先搜索遍历得到的顶点序列为____________,从顶点a出发进行广度优先搜索遍历得到的顶点序列为____________。a,c,d,e,b| a,c,e,d,b

14、根据图的存储结构进行某种次序的遍历,从某顶点出发得到的顶点序列是____________的唯一

问答题

1、无向图G如下图:

B E

/ \ / \

A D G

\ / \ /

C F

试给出

(1)该图的邻接矩阵。

(2)该图的邻接表。

(3)从A出发的“深度优先”遍历序列。

(4)从A出发的“广度优先”遍历序列。

解答:(1) 图G的邻接矩阵

┏0110000┓

┃1001000┃

┃1001000┃

A=┃0110110┃

┃0001001┃

┃0001001┃

┗0000110┛

(2)邻接表如见:

┌─┬─┐┌─┬─┐┌─┬─┐

1│A│┼→─┤B│┼→─┤C│^│

├─┼─┤├─┼─┤├─┼─┤

2│B│┼→─┤A│┼→─┤D│^│

├─┼─┤├─┼─┤├─┼─┤

3│C│┼→─┤A│┼→─┤D│^│

├─┼─┤├─┼─┤├─┼─┤┌─┬─┐┌─┬─┐

4│D│┼→─┤B│┼→─┤C│┼→┤E│^├→─┤F│^│

2、用邻接矩阵表示图时,矩阵元素的个数与顶点个数是否相关?与边的条数是否有关?

答:设图的顶点个数为n(n≥0),则邻接矩阵元素个数为n2,即顶点个数的平方,与图的边数无关。

3、对于稠密图和稀疏图,就存储空间而言,采用邻接矩阵和邻接表哪个更好些? 答:稠密图采用邻接矩阵好,稀疏图采用邻接表好。

4、请回答下列关于图的一些问题:

(1) 有n个顶点的有向强连通图最多有多少条边?这样的图应该是什么形状?

(2) 有n个顶点的有向强连通图最少有多少条边?这样的图应该是什么形状?

(3) 表示一个有1000个顶点、1000条边的有向图的邻接矩阵有多少个矩阵元素?是否为稀疏矩阵?

答:(1)最多有n(n-1)条边

(2)最少有n条边

(3)106,不一定是稀疏矩阵(稀疏矩阵的定义是非零个数远小于该矩阵元素个数,且分布无规律)

5、对n个顶点的无向图和有向图,采用邻接矩阵和邻接表表示时,如何判别下列有关问题?

(1) 图中有多少条边?

(2) 任意两个顶点i和j是否有边相连?

(3) 任意一个顶点的度是多少?

答:无向图采用邻接表时,⑴边表中的结点个数之和除以2。⑵第i个边表中是否含有结点j。⑶该顶点所对应的边表中所含结点个数。

6、己知一棵二叉树的中序序列为cbedahgijf,后序序列为cedbhjigfa,画出该二叉树的先序线索二叉树.

答:二叉树及线索二叉树(略)。

先序序列为:abcdefghij

7、下列整数序列由选序遍历一棵二叉排序树得到:50,40,30,45,65,55,70,80.试构造一棵这样的二叉排序树.

答:50

40 65

30 45 55 70

80

数据结构第二章试题

第2章线性表 一、选择题 1. 链表不具备的特点是()。 A.可随机访问任意结点 B. 插入删除不需要移动元素 C. 不必事先估计存储空间 D. 所需空间与其长度成正比 2. 不带头结点的单链表head为空的判定条件是()。 ==NULL B. head->next==NULL >next==head !=NULL 3.带头结点的单链表head为空的判定条件是()。 ==NULL B. head->next==NULL >next==head !=NULL 4.带头结点的双循环链表L为空表的条件是()。 A.L==NULL B.L->next->==NULL C.L->prior==NULL >next==L 5.非空的循环链表head的尾结点(由P所指向)满足()。 A.p->next==NULL B.p==NULL C.p->next==head ==head 6.在循环双链表的p所指结点之前插入s所指结点的操作是()。 A.p->prior=s;s->next=p;p->prior->next=s;s->prior=p->prior; B.p->prior=s;p->prior->next=s;s->next=p;s->prior=p->prior; C.s->next=p;s->prior=p->prior;p->prior=s;p->right->next=s; D. s->next=p;s->prior=p->prior;p->prior->next=s;p->prior=s; 7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用()存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表 C.双链表 D. 带头结点的双循环链表 8.某线性表最常用的操作是在最后一个结点之后插入一个节点或删除第一个结点,故采用()存储方式最节省运算时间。 A.单链表 B.仅有头结点的单循环链表 C.双链表 D. 仅有尾指针的单循环链表 9.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是()。 A.单链表 B.静态链表 C.线性链表 D. 顺序存储结构 10.如果最常用的操作是取第i个结点及前驱,则采用()存储方式最节省时间。 A.单链表 B.双链表 C.单循环链表 D.顺序表 11.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()。 A.O(1) B.O(n) C.O(n*n) D. O(nlog2n) 12.在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C. 在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素 13.设线性表有n个元素,以下算法中,()在顺序表上实现比在链表上实现效率更高。A.输出第i(0<=i<=n-1)个元素值 B.交换第0个元素与第1个元素的值 C. 顺序输出这n个元素的值 D.输出与给定值x相等的元素在线性表中的序号 14.设线性表有2n个元素,算法(),在单链表上实现比在顺序表上实现效率更高。 A.删除所有值为x的元素 B.在最后一个元素的后面插入一个新元素 C. 顺序输出前k个元素 D.交换第i个元素和第2n-i-1个元素的值(i=0,1,…,n-1)

数据结构章节练习题-答案第7章图

7.1 选择题 1. 对于一个具有n个顶点和e条边的有向图,在用邻接表表示图时,拓扑排序算法时间复杂度为() A) O(n)B)O(n+e)C) O(n*n)D)O(n*n*n) 【答案】B 2. 设无向图的顶点个数为n,则该图最多有()条边。 A) n-1B)n(n-1)/2C)n(n+1)/2 【答案】B 3. 连通分量指的是() A) 无向图中的极小连通子图 B) 无向图中的极大连通子图 C) 有向图中的极小连通子图 D) 有向图中的极大连通子图 【答案】B 4. n 个结点的完全有向图含有边的数目() A) n*n B) n(n+1) C) n/2 【答案】D 5. 关键路径是() A) AOE网中从源点到汇点的最长路径 B) AOE网中从源点到汇点的最短路径 C) AOV网中从源点到汇点的最长路径D) n2

D) n* (n-1) D) AOV网中从源点到汇点的最短路径 【答案】 A 6.有向图中一个顶点的度是该顶点的() A)入度B)出度C)入度与出度之和D)(入度+出度)12 【答案】C 7.有e 条边的无向图,若用邻接表存储,表中有()边结点。 A) e B) 2eC) e-1D) 2(e-1) 【答案】B 8.实现图的广度优先搜索算法需使用的辅助数据结构为() A)栈B)队列C)二叉树D)树 【答案】B 9.实现图的非递归深度优先搜索算法需使用的辅助数据结构为() A)栈B)队列C)二叉树D)树 【答案】 A 10.存储无向图的邻接矩阵一定是一个() A)上三角矩阵B)稀疏矩阵C)对称矩阵D)对角矩阵 【答案】C 11.在一个有向图中所有顶点的入度之和等于出度之和的()倍 A) B) 1C) 2D) 4 答案】B 12.在图采用邻接表存储时,求最小生成树的Prim 算法的时间复杂度为(

数据结构第一章课后习题与答案

第 1 章 绪 论 (2005-07-14) - 第 1 章 绪 论 课后习题讲解 1. 填空 ⑴( )是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 【解答】数据元素 ⑵( )是数据的最小单位,( )是讨论数据结构时涉及的最小数据单位。 【解答】数据项,数据元素 【分析】数据结构指的是数据元素以及数据元素之间的关系。 ⑶ 从逻辑关系上讲,数据结构主要分为( )、( )、( )和( )。 【解答】集合,线性结构,树结构,图结构 ⑷ 数据的存储结构主要有( )和( )两种基本方法,不论哪种存储结构,都要存储两方面的内容:( )和()。 【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系 ⑸ 算法具有五个特性,分别是( )、( )、( )、( )、( )。 【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性 ⑹ 算法的描述方法通常有( )、( )、( )和( )四种,其中,( )被称为算法语言。 【解答】自然语言,程序设计语言,流程图,伪代码,伪代码 ⑺ 在一般情况下,一个算法的时间复杂度是( )的函数。 【解答】问题规模 ⑻ 设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为( ),若为 n*log25n,则表示成数量级的形式为( )。 【解答】Ο(1),Ο(nlog2n) 【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。

2. 选择题 ⑴ 顺序存储结构中数据元素之间的逻辑关系是由( )表示的,链接存储结构中的数据元素之间的逻辑关系是由( )表示的。 A 线性结构 B 非线性结构 C 存储位置 D 指针 【解答】C,D 【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。 ⑵ 假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。则表示该遗产继承关系的最合适的数据结构应该是( )。 A 树 B 图 C 线性表 D 集合 【解答】B 【分析】将丈夫、妻子和子女分别作为数据元素,根据题意画出逻辑结构图。 ⑶ 算法指的是( )。 A 对特定问题求解步骤的一种描述,是指令的有限序列。 B 计算机程序 C 解决问题的计算方法 D 数据处理 【解答】A 【分析】计算机程序是对算法的具体实现;简单地说,算法是解决问题的方法;数据处理是通过算法完成的。所以,只有A是算法的准确定义。 ⑷ 下面( )不是算法所必须具备的特性。 A 有穷性 B 确切性 C 高效性 D 可行性 【解答】C 【分析】高效性是好算法应具备的特性。 ⑸ 算法分析的目的是( ),算法分析的两个主要方面是( )。 A 找出数据结构的合理性 B 研究算法中输入和输出的关系 C 分析算法的效率以求改进 D 分析算法的易读性和文档性 E 空间性能和时间性能 F 正确性和简明性 G 可读性和文档性 H 数据复杂性和程序复杂性

数据结构第二章线性表测试题

第二章线性表 1、描述一下三个概念的区别:头指针,头结点,首元结点。并给予图示。 2、对于有头结点的单链表,分别写出定位成功时,实现下列定位语句序列。(1)定位到第i 个结点a i ; (2)定位到第i 个结点的前驱a i-1; (3)定位到尾结点; (4)定位到尾结点的前驱。 3、已知L 是有表头结点的单链表,且P 结点既不是首元结点,也不是尾结点,试写出实现下列功能的语句序列。 (1)在P 结点后插入S 结点;(2)在P 结点前插入S 结点;(3)在表首插入S 结点;(4)在表尾插入S 结点 . p=head; p=head; j=0; while ( p && jnext; j++;} p=head; j=0; while ( p && jnext; j++;} p=head; while ( p ->next ) p=p->next; while ( p->next->next ) p=p->next; (1)s->next=p->next; p->next=s; (2)q =L ; whil e ( q ->next !=p ) q =q ->next;s->next=p 或 q ->next ; q ->next=s; (3 ) s->next=L ->next; L ->next=s; (4)q =L ; whil e ( q ->next !=NULL) q =q ->next;s->next= q ->next ; q ->next=s;

4、设计算法:在顺序表中删除值为e 的元素,删除成功,返回1;否则,返回0。 5、设计一个算法,将一个带头节点的数据域依次为a 1,a 2,…,a n (n ≥3)的单链表的所有节点逆置,即第一个节点的数据域变为a n ,…,最后一个节点的数据域为a 1。(注意:先用自然语言描述算法基本思想,然后用类C++语言描述) int Sqlist::DeleteElem( T e ) { for (i=1; i<=len g t h ; i ++) // 按值顺序查找 * i 可从0开始 if (elem[i-1]= =e) // 找到,进行删除操作 { for ( j=i; jnext; 4 LinkList* pri = NULL; //之前的节点 5 while(p){ 6 LinkList* q = new LinkList; 7 q->data = p->data; //把当前节点记录下来 8 q->next = pri; 9 pri = q; 10 head->next = q; 11 LinkList* t = p; //当前节点没用了删除掉 12 p=p->next; 13 delete(t); 14 } 15 }

数据结构-第六章-图-练习题及答案详细解析(精华版)

图 1. 填空题 ⑴ 设无向图G中顶点数为n,则图G至少有()条边,至多有()条边;若G为有向图,则至少有()条边,至多有()条边。 【解答】0,n(n-1)/2,0,n(n-1) 【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。 ⑵ 任何连通图的连通分量只有一个,即是()。 【解答】其自身 ⑶ 图的存储结构主要有两种,分别是()和()。 【解答】邻接矩阵,邻接表 【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。 ⑷ 已知无向图G的顶点数为n,边数为e,其邻接表表示的空间复杂度为()。 【解答】O(n+e) 【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为O(n+2e)=O(n+e)。 ⑸ 已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是()。 【解答】求第j列的所有元素之和 ⑹ 有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。 【解答】出度

⑺ 图的深度优先遍历类似于树的()遍历,它所用到的数据结构是();图的广度优先遍历类似于树的()遍历,它所用到的数据结构是()。 【解答】前序,栈,层序,队列 ⑻ 对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal 算法求最小生成树的时间复杂度为()。 【解答】O(n2),O(elog2e) 【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。 ⑼ 如果一个有向图不存在(),则该图的全部顶点可以排列成一个拓扑序列。 【解答】回路 ⑽ 在一个有向图中,若存在弧、、,则在其拓扑序列中,顶点vi, vj, vk的相对次序为()。 【解答】vi, vj, vk 【分析】对由顶点vi, vj, vk组成的图进行拓扑排序。 2. 选择题 ⑴ 在一个无向图中,所有顶点的度数之和等于所有边数的()倍。 A 1/2 B 1 C 2 D 4 【解答】C 【分析】设无向图中含有n个顶点e条边,则。

数据结构第1阶段练习题

江南大学现代远程教育第一阶段练习题及答案 考试科目:《数据结构》第一章至第四章(总分100分) ______________学习中心(教学点)批次:层次: 专业:学号:身份证号: 姓名:得分: 一、选择题(每题3分,共30分) 1、在树形结构中,数据元素间存在()的关系。 A、一对一B、一对多C、多对多D、除同属一个集合外别无关系 2、下列说法中错误的是()。 A、数据对象是数据的子集 B、数据元素间关系在计算机中的映象即为数据的存储结构 C、非顺序映象的特点是借助指示元素存储地址的指针来表示数据元素间逻辑关系 D、抽象数据类型指一个数学模型及定义在该模型上的一组操作 3、下列不属算法特性的是()。 A、有穷性B、确定性C、零或多个输入D、健壮性 4、在长为n的顺序表中删除一个数据元素,平均需移动()个数据元素。 A、n B、n-1 C、n/2 D、(n-1)/2 5、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。 A、顺序表B、双链表C、带头结点的双向循环链表D、单循环链表 6、在一个可存放n个数据元素的顺序栈中,假设以高地址端为栈底,以top为栈顶指针,当向栈中压入一个数据元素时,top的变化是()。 A、不变B、top=n C、top++ D、top-- 7、设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则删除一个结点的操作是()。 A、rear=front->next B、rear=rear->next C、front=front->next D、front=rear->next 8、判定一个栈顶指针为S且不带头结点的链栈为空栈的条件是()。 A、S B、S->next C、S->next==NULL D、!S 9、设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则判定该队中只有一个结点的条件是()。 A、front->next B、rear->next C、front==rear D、front!=rear 10、串的长度是指()。

地理信息系统空间数据结构

第二章地理信息系统空间数据结构 2.1 地理空间数据及其特征 【学时安排】 1 学时 【目的要求】 1、掌握地理信息系统的数据类型; 2、理解地理信息系统的数据来源; 3、掌握空间数据的特点。 【重点难点】 地理信息系统的数据类型与特征。 【教学方法与手段】 示例式教学方法,多媒体教学手段。 一、GIS空间数据的来源与类型 空间数据是GIS的核心,也有人称它是GIS的血液,因为GIS的操作对象是空间数据,因此设计和使用GIS 的第一步工作就是根据系统的功能,获取所需要的空间数据,并创建空间数据库。 1、地理数据的来源 GIS中的数据来源和数据类型繁多,概括起来主要有以下几种来源: ⑴地图数据。来源于各种类型的普通地图和专题地图,这些地图的内容丰富,图上实体间的空间关系直观,实体的类别或属性清晰,实测地形图还具有很高的精度,是地理信息的主要载体,同时也是地理信息系统最重要的信息源。 ⑵影像数据。主要来源于卫星遥感和航空遥感,包括多平台、多层面、多种传感器、多时相、多光谱、多角度和多种分辨率的遥感影像数据,构成多源海量数据,也是GIS的最有效的数据源之一。 ⑶地形数据。来源于地形等高线图的数字化,已建立的数字高程模型( DEM和其他实 测的地形数据等。 ⑷属性数据。来源于各类调查报告、实测数据、文献资料、解译信息等。 ⑸元数据。来源于由各类纯数据通过调查、推理、分析和总结得到的有关数据的数据,例如数据来源、数据权属、数据产生的时间、数据精度、数据分辨率、源数据比例尺、数据转换方法等。 2、空间数据的类型 空间数据根据表示对象的不同,又具体分为七种类型(图2-1) ,它们各表示的具体内容 如下: (1) 类型数据。例如考古地点、道路线、土壤类型的分布等。 (2) 面域数据。例如随机多边形的中心点,行政区域界线、行政单元等。 (3) 网络数据。例如道路交点、街道、街区等。 (4) 样本数据。例如气象站、航线、野外样方分布区等。 (5) 曲面数据。例如高程点、等高线、等值区域等。 (6) 文本数据。例如地名、河流名称、区域名称等。 (7) 符号数据。例如点状符号、线状符号、面状符号(晕线) 等。

数据结构课后习题及解析第一章

第一章习题 一、问答题 1.什么是数据结构? 2.叙述四类基本数据结构的名称与含义。 3.叙述算法的定义与特性。 4.叙述算法的时间复杂度。 5.叙述数据类型的概念。 6.叙述线性结构与非线性结构的差别。 7.叙述面向对象程序设计语言的特点。 8.在面向对象程序设计中,类的作用是什么? 9.叙述参数传递的主要方式及特点。 10.叙述抽象数据类型的概念。 二、判断题(在各题后填写“√”或“×”) 1.线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。() 2.算法就是程序。() 3.在高级语言(如C或 PASCAL)中,指针类型是原子类型。() 三、计算下列程序段中X=X+1的语句频度 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 四、试编写算法,求一元多项式P n (x)=a +a 1 x+a 2 x2+a 3 x3+…a n x n的值P n (x ),并确定算法中的每 一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用 求幂函数。注意:本题中的输入a i (i=0,1,…,n),x和n,输出为P n (x )。通常算法的输入和输 出可采用下列两种方式之一: (1)通过参数表中的参数显式传递。

(2)通过全局变量隐式传递。 试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。 实习题 设计实现抽象数据类型“有理数”。基本操作包括有理数的加法、减法、乘法、除法,以及求有理数的分子、分母。 第一章答案 1.3计算下列程序中x=x+1的语句频度 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 【解答】x=x+1的语句频度为: T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/6 1.4试编写算法,求p n(x)=a0+a1x+a2x2+…….+a n x n的值p n(x0),并确定算法中每一语句的执 行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。注意:本题中的输入为a i(i=0,1,…n)、x和n,输出为P n(x0)。算法的输入和输出采用下列方法(1)通过参数表中的参数显式传递(2)通过全局变量隐式传递。讨论两种方法的优缺点,并在算法中以你认为较好的一种实现输入输出。 【解答】 (1)通过参数表中的参数显式传递 优点:当没有调用函数时,不占用内存,调用结束后形参被释放,实参维持,函数通用性强,移置性强。 缺点:形参须与实参对应,且返回值数量有限。 (2)通过全局变量隐式传递 优点:减少实参与形参的个数,从而减少内存空间以及传递数据时的时间消耗

数据结构试题及答案

一、单选题(每题2 分,共20分) 1. 1.对一个算法的评价,不包括如下(B )方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结 点,则执行( A )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3. 3.对线性表,在下列哪种情况下应当采用链表表示?(B ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是 ( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 5.AOV网是一种( D )。 A.有向图B.无向图C.无向无环图D.有向无环图 6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B)。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。 A.值B.函数C.指针D.引用 8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具 有相同的(A)。 A.行号B.列号C.元素值D.非零元素个数 9.9.快速排序在最坏情况下的时间复杂度为(D )。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) 二、二、运算题(每题 6 分,共24分) 1. 1.数据结构是指数据及其相互之间的______________。当结点之间存在M 对N(M:N)的联系时,称这种结构为_____________________。 2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的 ____首______进行。 3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则 表示栈满的条件是___top==0___(要超出才为满)_______________。 4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度 为____O(1)_____,在表尾插入元素的时间复杂度为____O n________。

最新数据结构C语言版章节练习题(1-6章)知识分享

数据结构章节练习题 第一章绪论 一、单选题 1.一个数组元素a[i]与________的表示等价。 A、 *(a+i) B、 a+i C、 *a+i D、 &a+i 2.下面程序段的时间复杂度为____________。 for(int i=0; i

数据结构练习题(第一章)

第一章习题 一.填空题 1、数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的有限集合。 2、数据结构按逻辑结构可分为两大类,它们分别是和。 3、线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。 4、一个算法的效率可分为效率和效率。 5、简单地说,一个算法所进行的计算次数的多少称为,一个算法所需要辅助存储空间的多少称之为。 6、根据数据元素之间关系的不同特性,通常有四类基本结构,它们是集合、、、。 二.选择题 1、算法分析的目的是() A、找出数据结构的合理性 B、研究算法中的输入和输出的关系 C、分析算法的效率以求改进 D、分析算法的易懂性和文档性 2、算法分析的两个主要方面是() A、空间复杂性和时间复杂性 B、正确性和简明性 C、可读性和文档性 D、数据复杂性和程序复杂性 3、计算机算法指的是() A、计算方法 B、排序方法 C、解决问题的有限运算序列 D、调度方法 4、计算机算法必须具备输入、输出和()等5个特性。 A、可行性、可移植性和可扩充性 B、可行性、确定性和有穷性 C、确定性、有穷性和稳定性 D、易读性、稳定性和安全性 5、数据元素是数据的基本单位,其内()数据项。 A、只能包含一个 B、不包含 C、可以包含多个 D、必须包含多个 6、逻辑关系是指数据元素间的() A、类型B、存储方式C、结构D、数据项 7、数据结构有()种基本逻辑结构。 A、1 B、2 C、3 D、4 8、下列四种基本的逻辑结构中,数据元素之间关系最弱的是()。 A、集合 B、线性结构 C、树形结构 D、图状结构 9、一个存储结构点存储一个()。 A、数据项 B、数据元素 C、数据结构 D、数据类型 10、某算法的时间复杂度为O(2n),表明该算法的() A、问题规模是2n B、执行时间等于2n C、执行时间与2n成正比 D、问题规模与2n成正比 11、算法执行时间一般与()无关。 A、问题规模大小 B、计算机的档次 C、程序设计语言的种类或版本 D、算法设计者的 水平 12、算法分析的主要任务是分析算法() A、是否具有较好的可读性 B、是否存在语法错误 C、功能是否符合设计要求 D、执 行时间和问题规模之间的关系。 13、下列时间复杂度中最坏的是()

数据结构第二章练习题 - 副本

《数据结构》第二章练习题 1.单项选择题 2.1链表不具备的特点是() A 可随机访问任一结点 B 插入删除不需要移动元素 C 不必事先估计存储空间 D 所需空间与其长度成正比 2.2 不带头节点的单链表head为空的判定条件是() A head==NULL B head->next==NULL C head->next==head D head!=NULL 2.3带头节点的单链表head为空的判定条件是() A head==NULL B head->next==NULL C head->next==head D head!=NULL 2.4 带头结点的双循环链表L为空的条件是() A L==NULL B l->next->==NULL C L->prior==NULL D L->next==L 2.5 非空的循环单链表head尾结点(由P所指向)满足() A P->next==NULL B P==NULL C P->next==head D P==head 2.6在双循环链表中的P所指结点之前插入s所指结点的操作是() A p->prior=s;s->next=p;p->prior>next=s;s->prior=p->prior; B p->prior=s;p->prior>next=s;s->next=p;s->prior=p->prior; C s->next=p;s->prior=p->prior; p->prior=s;p->right->next=s; D s->next=p;s->prior=p->prior;p->prior->next=s;p->prior=s; 2.7若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用()存储方式最节省运算时间 A 单链表 B 给出表头指针的单循环链表 C 双链表 D 带头结点的双循环链表 2.8某线性表最常用的操作时在最后一个结点之后插入一个结点或删除第一个结点,故采用()存储方式最节省运算时间 A 单链表B仅有头结点的单循环链表

数据结构 第六章 图 练习题及答案详细解析

图 1. 填空题 ⑴设无向图G中顶点数为n,则图G至少有()条边,至多有()条边;若G为有向图,则至少有()条边,至多有()条边。 【解答】0,n(n-1)/2,0,n(n-1) 【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。 ⑵任何连通图的连通分量只有一个,即是()。 【解答】其自身 ⑶图的存储结构主要有两种,分别是()和()。 【解答】邻接矩阵,邻接表 【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。 ⑷已知无向图G的顶点数为n,边数为e,其邻接表表示的空间复杂度为()。 【解答】O(n+e) 【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为O(n+2e)=O(n+e)。 ⑸已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是()。 【解答】求第j列的所有元素之和 ⑹有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。 【解答】出度 ⑺图的深度优先遍历类似于树的()遍历,它所用到的数据结构是();图的广度优先遍历类似于树的()遍历,它所用到的数据结构是()。 【解答】前序,栈,层序,队列 ⑻对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal 算法求最小生成树的时间复杂度为()。 【解答】O(n2),O(elog2e) 【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。 ⑼如果一个有向图不存在(),则该图的全部顶点可以排列成一个拓扑序列。 【解答】回路 ⑽在一个有向图中,若存在弧、、,则在其拓扑序列中,顶点vi, vj, vk的相对次序为()。 【解答】vi, vj, vk

数据结构第一章练习题

《数据结构》第一章练习题 1、单项选择题 1.1数据结构是一门非数值计算的程序设计问题中计算机的( )以及它们之间的( )和运算等的学科。 ①A 数据元素 B 计算方法 C 逻辑存储 D 数据映像 ②A 结构 B 关系 C 运算 D 算法 1.2数据结构被形式的定义为(K,R ),其中K 是( )的有限集,R 是K 上的( )有限集。 ①A 算法B 数据元素C 数据操作D 逻辑结构 ②A 操作B 映像C 存储D 关系 1.3在数据结构中,从逻辑上可以把数据结构分为( )。 A 动态结构和静态结构 B 紧凑结构和非紧凑结构 C 线性结构和非线性结构 D 内部结构和外部结构 1.4数据结构在计算机内存中的表示是指( )。 A 数据的存储结构 B 数据结构 C 数据的逻辑结构 D 数据元素之间的关系 1.5在数据结构中,与所使用的计算机无关的是数据的( )结构。 A 逻辑 B 存储 C 逻辑和存储 D 物理 1.6算法分析的目的是(),算法分析的两个主要方面是( )。①A 找出数据结构的合理性 B 研究算法中输入与输出的关系 C 分析算法效率以求改进 D 分析算法的易懂性和文档性 ②A 空间复杂度和时间复杂度 B 正确性和简明性 C 可读性和文档性 D 数据复杂性和程序复杂性 1.7计算机算法是指( ),它必须具备输入、输出和( )等5个特性。 ①A 计算方法 B 排序方法 C 解决问题的有限运算序列 D 调度方法 ②A 可行性、可移植性和可扩充性 B 可行性、确定性和有穷性 C 确定性、有穷性和稳定性 D 易读性、稳定性和安全性 1.8在以下的叙述中,正确的是( )。 A 线性表和线性存储结构优于链表存储结构 B 二维数组是其数据元素为线性表的线性表 C 栈的操作方式是先进先出 D 队列的操作方式是先进后出 1.9在决定选择何种存储结构时,一般不考虑( )。 、管路敷设技术通过管线不仅可以解决吊顶层配置不规范高中资料试卷问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行 高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况 ,然后根据规范与规程规定,制定设备调试高中资料试卷方案。 、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

数据结构试题及答案修2

试卷一 一、单选题(每题 2 分,共20分) 1. 对一个算法的评价,不包括如下()方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3. 对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. AOV网是一种()。 A.有向图B.无向图C.无向无环图D.有向无环图 7. 若需要利用形参直接访问实参时,应将形参变量说明为()参数。 A.值B.函数C.指针D.引用 8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。 A.行号B.列号C.元素值D.非零元素个数 二、填空题(每空1分,共28分) 1. 数据结构是指数据及其相互之间的______________。当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。 2. 队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。 3. 当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0_____________。 4. 对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。 7. 二叉树是指度为2的____________________树。一棵结点数为N的二叉树,其所有结点的度的总和是_____________。 8. 对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。 9. 对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_____________个,其中_______________个用于指向孩子,_________________个指针是空闲的。 10. 若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A[0]中。其余类推,则A[ i ]元素的左孩子元素为________,右孩子元素为

数据结构复习题第章答案新

第5章数组与广义表 一、选择题(每小题1分,共10分) 1.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( A )。 A.110 B.108 C.100 D.120 2.在数组A中,每一个数组元素A[i][j]占用3个存储字节,行下标i从1到8,列下标j 从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字节数是( C )。 A.80 B.100 C.240 D.270 3.假设有60行70列的二维数组a[1…60, 1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为( C )。(无第0行第0列元素) A.16902 B.16904 C.14454 D.答案A, B, C均不对 4.将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为( A )。 A. 198 B. 195 C. 197 D.196 5.数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( A )。 A. 1175 B. 1180 C. 1205 D. 1210 6.假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]= ( B )。 A. 808 B. 818 C. 1010 D. 1020 7. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( B )。 A. BA+141 B. BA+180 C. BA+222 D. BA+225 8.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为( B )。 A、 13 B、 33 C、 18 D、 40 9. 二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素( B )的起始地址相同。设每个字符占一个字节。 A、 A[8,5] B、 A[3,10] C、 A[5,8] D、 A[0,9] 10.若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(inext D、 j=r[j]-> next 13. 数组A[0..4,-3..-1,5..7]中含有元素的个数为( B )。

相关文档
最新文档