数据结构习题答案全真模拟题试题

数据结构习题答案全真模拟题试题

第一章概论

一、名词解释

数据表示2.数据处理3.数据4.数据元素5.逻辑关系6.逻辑结构7.结构

8.运算9.基本运算10.存储结构11.顺序存储结构12.链式存储结构

13.索引存储结构 14.散列存储结构 15.算法 16.运行终止的程序可执行部分

17.伪语言算法 18.非形式算法 19.时空性能 20.时间复杂性 21.数据结构

二、填空题

1.计算机专业人员必须完成的两项基本任务是:_________和__________。

2.数据在计算机存储器中的存在形式称为_________。

3.概括地说,数据结构课程的主要内容包括: 数据的__________、定义在_________、数据的__________的实现。此外,该课程还要考虑各种结构和实现方法的__________。

4.由一种__________结构和一组__________构成的整体是实际问题的一种数学模型,这种数学模型的建立、选择和实现是数据结构的核心问题。

5.存储结构是逻辑结构的__________实现。

6.数据表示任务是逐步完成的,即数据表示形式的变化过程是__________->__________->__________。

7.数据处理任务也是逐步完成的,即转化过程是__________->__________->__________。

8.从数据结构的观点看,通常所说的"数据"应分成三个不同的层次,即__________、__________和__________。

9.根据需要,数据元素又被称为__________、__________、__________或__________。

10.在有些场合下,数据项又称为__________或__________,它是数据的不可分割的最小标识单位。

11.从某种意义上说,数据、数据元素和数据项实际反映了数据组织的三个层次,数据

可由若干个__________构成,数据元素可由若干个__________构成。

12.根据数据元素之间关系的不同特性,通常有__________、_________、__________、__________四类基本逻辑结构,它们反映了四类基本的数据组织形式。

13.根据操作的效果,可将运算分成以下两种基本类型:

①__________型运算,其操作改变了原逻辑结构的“值”,如结点个数、某些结点的内容等;

②__________型运算,其操作不改变原逻辑结构,只从中提取某些信息作为运算的结果。

14.将以某种逻辑结构S为操作对象的运算称为“__________”,简称“__________”。

15.一般地,可能存在同一逻辑结构S上的两个运算A和B,A的实现需要或可以利用B,而B的实现不需要利用A。在这种情况下,称A可以“__________”为B。

16.存储实现的基本目标是建立数据的__________。

17.一般地,一个存储结构包括__________、__________、__________三个主要部分。

18.通常,存储结点之间可以有__________、__________、__________、_________四种关联方式,称为四种基本存储方式。

19.可用任何一种存储方式所规定的存储结点之间的关联方式来间接表达给定逻辑

结构S中数据元素之间的逻辑关系。由此得到的存储结构,称为____________________或__________。

20.一个运算的实现是指一个完成该运算功能的__________。运算实现的核心是处

理步骤的规定,即___________。

21.任何算法都必须用某种语言加以描述。根据描述算法的语言的不同,可将算法分

为:___________、___________、___________三类。

22.数据结构课程着重评论算法的___________,又称为“___________”。

23.通常从___________、___________、___________、___________等几方面评价算法的(包括程序)的质量。

24.一个算法的时空性能是指该算法的___________和______________________,前者是算法包含的___________,后者是算法需要的___________。

25.通常采用下述办法来估算求解某类问题的各个算法在给定输入下的计算量:

①根据该类问题的特点合理地选择一种或几种操作作为“___________”;

②确定每个算法在给定输入下共执行了多少次___________,并将此次数规定为该算法在

给定输入下的___________。

26.通常,一个算法在不同输入下的计算量是不同的。则可用以下两种方式来确定一个算法的计算量:

①以算法在所有输入下的计算量的最大值作为算法的计算量,这种计算量称为算法的

________或___________。

②以算法在所有输入下的计算量的加权平均值作为算法的计算量,这种计算量称为算法的

___________或___________。

27.最坏情况时间复杂性和平均时间复杂性统称为___________或___________。

28.在一般情况下,一个算法的时间复杂性是___________的函数。

29.一个算法的输入规模或问题的规模是指___________。

30.常见时间复杂性的量级有:常数阶O(___________)、对数阶

O(___________)、线性阶O (___________)、平方阶O(___________)、和指数阶O(___________)。通常认为,具有指数阶量级的算法是___________,而量级低于平方阶的算法是___________的。

31.数据结构的基本任务是数据结构的___________和___________。

32.数据结构的课程的主要内容可以概括为:___________、___________、___________和___________。

33.___________与数据元素本身的内容和形式无关。

34.从逻辑关系上讲,数据结构主要分为两大类,它们是___________和___________。

35.程序段“for(i=l;i<=n;i++){k++;for(j=1;j<=n;j++)l+=k;}”的时间复杂度T(n)= ___________。

36.程序段“i=1;while(i<=n)i=i*2;”的时间复杂度T(n)= ___________。

三、单项选择题

1.以下说法错误的是

①用数字式计算机解决问题的实质是对数据的加工处理

②程序设计的实质是数据处理

③数据的逻辑结构是数据的组织形式,基本运算规定了数据的基本操作方式

④运算实现是完成运算功能的算法,或这些算法的设计

⑤数据处理方式总是与数据某种相应的表示形式相联系,反之亦然

2.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的

数据组织形式。以下解释错误的是 ( )

①集合中任何两个结点之间都有逻辑关系但组织形式松散

②线性结构中结点按逻辑关系依次排列形成一条"锁链"

③树形结构具有分支、层次特性,其形态有点像自然界中的树

④图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接

3.关于逻辑结构,以下说法错误的是 ( )

①逻辑结构与数据元素本身的形成、内容无关

②逻辑结构与数据元素的相对位置有关

③逻辑结构与所含结点个数无关

④一些表面上很不相同的数据可以有相同的逻辑结构

⑤逻辑结构是数据组织的某种"本质性"的东西

4.根据操作的效果,可将运算分成加工型运算、引用型运算两种基本类型。对于表格

处理中的五种功能以下解释错误的是 ( )

①查找引用型运算,功能是找出满足某种条件的结点在s(线形结构)中的位置

②读取引用型运算功能是读出s(线形结构)中某指定位置结点的内容

③插入引用型运算,功能是在s(线形结构)的某指定位置上增加一个新结点

④删除加工型运算,功能是撤消s(线形结构)某指定位置上的结点

⑤更新加工型运算,功能是修改s(线形结构)中某指定结点的内容

5.一般地,一个存储结构包括以下三个主要部分。以下说法错误的是 ( )

①存储结点每个存储结点可以存放一个或一个以上的数据元素

②数据元素之间关联方式的表示也就是逻辑结构的机内表示

③附加设施,如为便于运算实现而设置的“哑结点”等等

6.一般地,一个存储结构包括以下三个主要部分。以下说法错误的是

①每个存储结点只能存放一个数据元素 ( )

②数据元素之间的关联方式可由存储结点之间的关联方式直接表达

③一种存储结构可以在两个级别上讨论。其一是机器级,其二是语言级

④语言级描述可经编译自动转换成机器级因此也可以看成是一种

机内表示

7.通常从正确性、易读性、健壮性、高效性等四个方面评价算法(包括程序)的质

量。以下解释错误的是 ( )

①正确性算法应能正确地实现预定的功能(即处理要求)

②易读性算法应易于阅读和理解以便于调试修改和扩充

③健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果

④高效性即达到所需要的时间性能

8.对于数据结构课程的主要内容,以下解释正确的是 ( )

①数据结构的定义,包括逻辑结构、存储结构和基本运算集

②数据结构的实现,包括存储实现、运算实现和基本运算集

③数据结构的评价和选择,包括逻辑结构的选择、基本运算集的选择和存储

选择

9,与数据元素本身的形式、内容、相对位置、个数无关的是数据的 ( )

①存储结构②存储实现③逻辑结构④运算实现10顺序存储结构( )

①仅适合于静态查找表的存储

②仅适合于动态查找表的存储

③既适合静态又适合动态查找表的存储

④既不适合静态又不适合动态查找表的存储

11.算法的时间复杂度,都要以通过算法中执行频度最高的语句的执行次数来确定这种

观点 ( )

①正确②错误

12以下说法正确的是 ( )

①所谓数据的逻辑结构指的是数据元素之间的逻辑关系。

②逻辑结构与数据元素本身的内容和形式无关

③顺序文件只适合于存放在磁带上,索引文件只能存放在磁盘上

④基于某种逻辑结构之上的运算,其实现是惟一的

13以下说法正确的是 ( )

①数据元素是数据的最小单位

②数据项是数据的基本单位

③数据结构是带有结构的各数据项的集合

④数据结构是带有结构的数据元素的集合

14以下说法错误的是 ( )

①所谓数据的逻辑结构指的是数据元素之间的逻辑关系的整体

②数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要而建立的

③数据结构、数据元素、数据项在计算机中的映象分别称为存储结构、结点、数据域

④数据项是数据的基本单位

15通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 ( )

①数据元素具有同一特点

②不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致

③每个数据元素都一样

④数据元素所包含的数据项的个数要相等

四、简答及应用

1数据与数据元素有何区别?

2·为什么说数据元素之间的逻辑关系是数据内部组织的主要方面?

3·逻辑结构与存储结构是什么关系?

4·运算与运算的实现是什么关系?有哪些相同点和不同点?

5,类C语言与标准C语言的主要区别是什么?

五、算法设计

1、设计求解下列问题的类C语言算法,并分析其最坏情况时间复杂性及其量级。

(1)在数组A[1..n]中查找值为K的元素,若找到则输出其位置

i(1<=i<=n),否则输出0作为标志。

(2)找出数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)。

第二章线性表

一.名词解释

1.线性结构

2.数据结构的顺序实现

3.顺序表

4.链表

5.数据结构的链接实现

6.建表

7.字符串

8.串

9.顺序串 10.链串

二、填空题

1.为了便于讨论,有时将含n(n>=0)个结点的线性结构表示成(a1,a2,……a n),其中每个a i代表一个______。a1称为______结点,a n称为______结点,i称为a i在线性表中的

________或______。对任意一对相邻结点a i、a i┼1(1<=i<="" i称为a="" p="">

2.为了满足运算的封闭性,通常允许一种逻辑结构出现不含任何结点的情况。不含任何结点的线性结构记为______或______。

3.线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接______外,其他结点有且仅有一个直接______;除终端结点没有直接______外,其它结点有且仅有一个直接______.

4.所有结点按1对1的邻接关系构成的整体就是______结构。

5.线性表的逻辑结构是______结构。其所含结点的个数称为线性表的______,简称______.

6.表长为O的线性表称为______

7.线性表典型的基本运算包括:______、______、______、______、

______、______等六种。

8.顺序表的特点是______。

9.顺序表的类型定义可经编译转换为机器级。假定每个datatype 类型的变量占用k(k>=1)个内存单元,其中,b是顺序表的第一个存储结点的第一个单元的内存地址,那么,第i个结点a i的存储地址为______。

10.以下为顺序表的插入运算,分析算法,请在______处填上正确的语句。

Void insert_sqlist(sqlistL,datatypex,inti)

/*将X插入到顺序表L的第i-1个位置*/

{ if( https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st == maxsize) error(“表满”);

if((i<1)||(i>https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st+1) )error(“非法位置”);

for(j=https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st;j>=i;j--)______;

L.data[i-1]=x;

https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st=http://www. https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st+1;

}

11.对于顺序表的插入算法insert_sqlist来说,若以结点移动为标准操作,则插入算法的最坏时间复杂性为________,量级是________。插入算法的平均时间复杂性为________,平均时间复杂性量级是________。

12.以下为顺序表的删除运算,分析算法,请在________处填上正确的语句。

void delete_sqlist(sqlist L,int i) /*删除顺序表L中的第i-1个位置上的结点*/ {if((i<1)||(i>https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st))error(“非法位置”);

for(j=i+1;j=https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st;j

++)________;

https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st=http://www. https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st-1;

}

13.对于顺序表的删除算法delete_sqlist来说,若以结点移动为标准操作,最坏情况时间复杂性及其量级分别是________和________,其平均时间复杂性及其量级分别为________和________。

14.以下为顺序表的定位运算,分析算法,请在________处填上正确的语句。

int locate_sqlist(sqlist L,datatype X)

/*在顺序表L中查找第一值等于X的结点。若找到回传该结点序号;否则回传0*/ {________;

while((i≤https://www.360docs.net/doc/b319105328.html,/doc/5b6631858.html,st)&&( L.data[i-1]!=X))i++;

if(________)return(i);

else return(0);

}

15.对于顺序表的定位算法,若以取结点值与参数X的比较为标准操作,平均时间复杂性量级为________。求表长和读表元算法的时间复杂性为________。

16.在顺序表上,求表长运算LENGTH(L)可通过输出________实现,读表元运算

GET(L,i)可通过输出________实现。

17.线性表的常见链式存储结构有________、________和________。

18.单链表表示法的基本思想是用________表示结点间的逻辑关系。

19.所有结点通过指针的链接而组织成________。

20.为了便于实现各种运算,通常在单链表的第一个结点之前增设一个类型相同的结点,称为________,其它结点称为________。

21.在单链表中,表结点中的第一个和最后一个分别称为________

和________。头结点的数据域可以不存储________,也可以存放一个________或________。

22.单链表INITIATE(L)的功能是建立一个空表。空表由一个________和一个________组成。

23.INITIATE()的功能是建立一个空表。请在________处填上正确的语句。

lklist initiate_lklist() /*建立一个空表*/

{________________;

________________;

return(t);

}

24.以下为求单链表表长的运算,分析算法,请在________处填上正确的语句。

int length_lklist(lklist head) /*求表head的长度*/

{________;

j=0;

while(p->next!=NULL)

{________________;

j++;

}

return(j); /*回传表长*/

}

25.以下为单链表按序号查找的运算,分析算法,请在____处填上正确的语句。

pointer find_lklist(lklist head,int i)

{ p=head;j=0;

while(________________)

{ p=p->next; j++; }

if(i==j) return(p);

else return(NULL);

}

26.以下为单链表的定位运算,分析算法,请在____处填上正确的语句。

int locate_lklist(lklist head,datatype x)

/*求表head中第一个值等于x的结点的序号。不存在这种结点时结果为0*/

{ p=head;j=0;

while(________________________________){p=p->next;j++;}

if (p->data==x) return(j);

else return(0);

}

27.以下为单链表的删除运算,分析算法,请在____处填上正确的语句。

void delete_lklist(lklist head,int i)

{ p=find_lklist(head,i-1);

if(____________________________)

{ q=________________;

p->next=p->next;

free(q);

}

else error(“不存在第i个结点”)

}

28.以下为单链表的插入运算,分析算法,请在____处填上正确的语句。

void insert_lklist(lklist head,datatype x,int i)

/*在表head的第i个位置上插入一个以x为值的新结点*/

{ p=find_lklist(head,i-1);

if(p==NULL)error(“不存在第i个位置”);

else {s=________________;s->data=x;

s->next=________________;

p->next=s;

}

}

29.以下为单链表的建表算法,分析算法,请在____处填上正确的语句。

lklist create_lklist1()

/*通过调用initiate_lklist和insert_lklist算法实现的建表算法。假定$是结束标志*/

{ ininiate_lklist(head);

i=1;

scanf(“%f”,&x);

while(x!=’$’)

{________________;

________________;

scanf(“%f”,&x);

}

return(head);

}

该建表算法的时间复杂性约等于____________,其量级为____________。

数据结构模拟题及答案

数据结构模拟题及答案 一、填空题(每小题 1 分,共 20 分): 1、栈是一种 _____________的线性表,队列是一种_____________的线性表(要求填特性)。 2、___________________是数据的基本单位,可由若干个_______________ 组成,______________是数据的最小单位。 3、具有 354个结点的完全二叉树深度为 ________________,树中度为1的结点数为______________。 4、数组的运算有______________________________________ 和____________________________。 5、稀疏矩阵的压缩存储一般采用_____________________________存储方式。 6、广义表运算:tail ((( a, b ), ( c , ( d, e )))) = _______________________ 。 7、数据结构中评价算法的两个重要指标是__________ 、__________ 。 8、一个算法具有 5个特性: 、、,有零个或多个输入、有一个或多个输出。

9、已知指针p指向单链表L中的某结点,则删除其后继结点的语句是: 。 10、Prim(普里姆)算法适用于求______ 的网的最小生成树;kruskal(克鲁斯卡尔)算法适用于求 ______ 的网的最小生成树。 11、 N个顶点的连通图的生成树含有 ______ 条边。 12、顺序查找 n个元素的顺序表,若查找成功,则比较关键字的次数最多为 __ __ 次;当使用监视哨时,若查找失败,则比较关键字的次数为_ _ __ 。 13、若不考虑基数排序,则在内排序过程中,主要进行的两种基本操作是关键字的 __________ 和记录的 _________ 。 14、直接插入排序用监视哨的作用是 ___________________。 15、一个字符串中 ________________ 称为该串的子串。 16 . 广义表(a,(a,b),d,e,((i,j),k))的长度是 _ ,深度是 _ 。 17. 在二叉树中,指针p所指结点为叶子结点的条件是 ______ 。 18. 有数据WG={7,19,2,6,32,3,21,10},则所建Huffman树的树高是 _ __ ,带权路径长度WPL为 _ __ 。 19. 求图的最小生成树有两种算法,______ 算法适合于求稀疏图的最小生成树。

数据结构模拟试题及答案

数据结构模拟试题一 一、判断题(每小题1 分,共15分) 1.计算机程序处理的对象可分为数据和非数据两大类。 2.全体自然数按大小关系排成的序列是一个线性表。 3.在描述单向链表的结点类型时,必须首先描述数值字段,然后再描述指针字段。 4.顺序栈是一种规定了存储方法的栈。 5.树形结构中的每个结点都有一个前驱。 6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。 7.若某顶点是有向图的根,则该顶点的入度一定是零。 8.如果某图的邻接矩阵有全零的行,没有全零的列,则该图一定是有向图。 9.用一维数组表示矩阵可以节省存储空间。 10.广义表的长度与广义表中含有多少个原子元素有关。 11.分块查找的效率与线性表被分成多少块有关。 12.散列表的负载因子等于存入散列表中的结点个数。 13.在起泡排序过程中,某些元素可能会向相反的方向移动。 14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。 15.索引非顺序文件的特点是索引表中的索引项不一定按关键字大小有序排列。 二、填空题(每空1分,共15分) 1.顺序表是一种_____________线性表。 2.若用Q[1]~Q[m]作为非循环顺序队列的存储空间,则对该队列最多只能执行___次插入操作。 3.栈和队列的区别在于________的不同。 4.在高度为h(h≥0)的二叉树中至少有___个结点,至多有___个结点。 5.若用二叉链表来存储具有m个叶子,n个分支结点的树,则二叉链表中有___个左指针域为空的结点,有___个右指针域 为空的结点。 6.n个顶点的有根有向图中至少有___条边,至多有___条边。 7.10行20列矩阵若用行优先顺序表来表示,则矩阵中第8行第7列元素是顺序表中第___个元素。 8.在各元素查找概率相等的情况下,用顺序查找方法从含有12个元素的有序表中查找一个元素,元素间的平均比较次数是 _____。 9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,至多是___次。 10.在高度为3的6阶B-树中,至少有___个关键字,至多有___个关键字。 三、选择题(每题2分,共30分) 1.计算机所处理的数据一般具有某种内在联系性,这是指________。 A.元素和元素之间存在某种关系B.数据和数据之间存在某种关系 C.元素内部具有某种结构D.数据项和数据项之间存在某种关系 2. 假设顺序表目前有4个元素,第i个元素放在R[i]中,1≤i≤4 。若把新插入元素存入R[6],则________。 A.会产生运行错误B.R[1]~R[6]不构成一个顺序表 C.顺序表的长度大于顺序表元素个数,会降低存储空间利用率 D.顺序表元素序号和数组元素下标不一致,会给使用带来麻烦 3. 设H是不带表头结点循环单向链表的表头指针,P是和H同类型的变量。当P指向链表最后一个结点时,_________。A.P所指结点指针字段的值为空B.P的值与H的值相等 C.P所指结点的地址与H的值相等D.P所指结点指针字段的值与H的值相等 4. 栈的定义不涉及数据的__________。 A.逻辑结构B.存储结构C.运算D.逻辑结构和存储结构 5. 设5个元素进栈的顺序是1,2,3,4,5,则出栈的顺序有可能是___________。 A.2,4,1,3,5 B.3,4,1,5,2 C.3,2,4,1,5 D.4,1,3,2,5 6. 若某棵二叉树结点的前序序列和中序序列相同,则该二叉树_________。 A.只有一个结点B.每个结点都没有左孩子C.每个结点都没有右孩子D.不存在 7.对于一棵具有n个结点,度为3的树来说,____________。 A.树的高度至多是n-3 B.树的高度至多是n-2 C.树的最低高度是┏log3(n+1)┓ D.至少在某一层上正好有3个结点 8.n个顶点的有向图如果可以进行拓扑排序,则可以断定该有向图__________。 A.含n个强连通分量B.有唯一的入度为0的顶点C.有多个出度为0的顶点 D.是一个有根有向图 9. 特殊矩阵用行优先顺序表表示,_____________ A.简化了矩阵元素之间的逻辑关系B.便于按行处理矩阵元素

数据结构模拟题及答案

数据结构试题(A05) 一、选择题(共10小题,每小题1分,共10分) 1.下面程序段的时间复杂度是( ) m=0; for(i=1;i<=n;i++) for(j=1;j< = n;j++) m=m+1; A. O(n2) B.O(m + n + 1) C.O(m + n) D. O(n) 2.在单链表中,指针p指向元素为x的结点,实现〃删除x的后继〃的语句是() A.p=p->next; B.p->next=p->next->next; C.p->next=p; D.p=p->next->next; 3.在长度为n的顺序表,当在任何位置上删除一个元素的概率相等时,删除一个 元素需要移动的元素的平均个数为( ) A.n/2 B.(n-1)/ 2 C.(n + 1)/2 D.(n+2)/2 4.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是 () A. 2 3 4 1 5 B. 5 4 1 3 2 C. 2 3 1 4 5 D. 1 5 4 3 2 6.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和「,则其元素个数为( ) A.r-f C. (r-f) mod n + 1 B.r-f+1 D. (r-f+n) mod n 7.以下序列不是堆的是( )。

A.( 100 ,85,98,77,80,60,82,40,20,10,66) B.( 100 ,98,85,82,80,77,66,60,40,20,10) C.( 100 ,85,40,77,80,60,66,98,82,10,20 ) D.( 10,20,40,60,66,77,80,82,85,98, 100 ) 8 .在有序表( 12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为( )。 A. 3 B. 4 C. 5 D. 2 9.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。 A.选择排序 B.冒泡排序 C.快速排序口.插入排序 二、填空题(共20小题,每小题1分,共20分) 1、在单链表中,删除指针P所指结点的后继结点的语句 是。 2、线性表的两种存储结构分别是和。 3、己知完全二叉树的第4层有5个结点,则其叶子结点数是。 4、将下三角矩阵A[1….8,1….8]的下三角部分逐行地存储到起始地址为1000 的内存单元中,已知每个元素占4个单元,则A[7 , 5]的地址是。 5、有n个结点的强连通有向图G至少有条弧。 7、在有序表A[1….20]中,采用二分查找算法查找元素值等于A[12]的元素,所比较的元素的下标依次为。 8、直接选择排序算法所执行的元素交换次数最多为。 9、在带有头结点的单链表L中,第一个元素结点的指针

数据结构练习题(含答案)

数据结构练习题 习题1 绪论 1.1 单项选择题 1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。 ① A.操作对象B.计算方法C.逻辑结构D.数据映象 ② A.存储结构B.关系C.运算D.算法 2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。 ① A.算法B.数据元素C.数据操作D.数据对象 ② A.操作B.映象C.存储D.关系 3. 在数据结构中,从逻辑上可以把数据结构分成。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 4. 算法分析的目的是①,算法分析的两个主要方面是②。 ① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系 C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性 ② A. 空间复杂性和时间复杂性 B. 正确性和简明性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 5. 计算机算法指的是①,它必具备输入、输出和②等五个特性。 ① A. 计算方法 B. 排序方法 C. 解决问题的有限运算序列 D. 调度方法 ② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和安全性 1.2 填空题(将正确的答案填在相应的空中) 1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。 2. 在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。 3. 在树形结构中,树根结点没有结点,其余每个结点有且只有个直接前驱结点,叶子结点没有结点,其余每个结点的直接后续结点可以。 4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。 5. 线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。 6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ __ , _ ___。 7. 分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是__ __。 for (i=0;i

数据结构习题答案全真模拟题试题

数据结构习题答案全真模拟题试题 第一章概论 一、名词解释 数据表示2.数据处理3.数据4.数据元素5.逻辑关系6.逻辑结构7.结构 8.运算9.基本运算10.存储结构11.顺序存储结构12.链式存储结构 13.索引存储结构 14.散列存储结构 15.算法 16.运行终止的程序可执行部分 17.伪语言算法 18.非形式算法 19.时空性能 20.时间复杂性 21.数据结构 二、填空题 1.计算机专业人员必须完成的两项基本任务是:_________和__________。 2.数据在计算机存储器中的存在形式称为_________。 3.概括地说,数据结构课程的主要内容包括: 数据的__________、定义在_________、数据的__________的实现。此外,该课程还要考虑各种结构和实现方法的__________。 4.由一种__________结构和一组__________构成的整体是实际问题的一种数学模型,这种数学模型的建立、选择和实现是数据结构的核心问题。 5.存储结构是逻辑结构的__________实现。 6.数据表示任务是逐步完成的,即数据表示形式的变化过程是__________->__________->__________。 7.数据处理任务也是逐步完成的,即转化过程是__________->__________->__________。 8.从数据结构的观点看,通常所说的"数据"应分成三个不同的层次,即__________、__________和__________。 9.根据需要,数据元素又被称为__________、__________、__________或__________。

数据结构模拟试题附答案

数据结构试卷(1) 一、选择题(30分) 1.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。 (A) 20 (B) 30 (C) 40 (D) 45 2.执行一趟快速排序能够得到的序列是()。 (A) [41,12,34,45,27] 55 [72,63] (B) [45,34,12,41] 55 [72,63,27] (C) [63,12,34,45,27] 55 [41,72] (D) [12,27,45,41] 55 [34,63,72] 3.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是()。 (A) head==0 (B) head->next==0 (C) head->next==head (D) head!=0 4.时间复杂度不受数据初始状态影响而恒为O(nlog 2 n)的是()。 (A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序 5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。 (A) 空或只有一个结点(B) 高度等于其结点数 (C) 任一结点无左孩子(D) 任一结点无右孩子 6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()。 (A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序 7.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。 (A) 3 (B) 4 (C) 5 (D) 6 8.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og 2 n) 9.二路归并排序的时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(nlog 2n) (D) O(1og 2 n) 10. 深度为k的完全二叉树中最少有()个结点。 (A) 2k-1-1 (B) 2k-1(C) 2k-1+1 (D) 2k-1 11.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针, 指针变量s指向将要入队列的结点X,则入队列的操作序列为()。 (A) front->next=s;front=s;(B) s->next=rear;rear=s; (C) rear->next=s;rear=s;(D) s->next=front;front=s; 12.设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为()。 (A) O(n+e) (B) O(n2) (C) O(ne) (D) O(n3) 13.设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。 (A) 99 (B) 100 (C) 101 (D) 102 14.设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(nlog 2n) (D) O(1og 2 n) 15.设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为()。 (A) 第i行非0元素的个数之和(B) 第i列非0元素的个数之和 (C) 第i行0元素的个数之和(D) 第i列0元素的个数之和 二、判断题(20分)

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套) 一、选择题 1. 数据结构是指()。 A. 存储数据的方式 B. 数据的逻辑结构和物理结构 C. 数据的存储结构和存储方式 D. 数据的逻辑结构、存储结构和存储方式 答案:D 2. 在数据结构中,线性表的存储方式包括()。 A. 顺序存储和链式存储 B. 数组存储和链表存储 C. 顺序存储、链表存储和索引存储 D. 顺序存储、链表存储和树形存储 答案:A 3. 栈是一种()的数据结构。 A. 先进先出

B. 先进后出 C. 后进先出 D. 后进后出 答案:C 4. 队列是一种()的数据结构。 A. 先进先出 B. 先进后出 C. 后进先出 D. 后进后出 答案:A 5. 二叉树中,度为0的节点称为()。 A. 叶子节点 B. 根节点 C. 中间节点 D. 子节点 答案:A 6. 以下哪个排序算法是稳定的?

A. 快速排序 B. 选择排序 C. 插入排序 D. 希尔排序 答案:C 7. 图中表示顶点之间关系的边的数量称为()。 A. 顶点度数 B. 边数 C. 路径数 D. 网络 答案:B 8. 哈希表通过()来实现高效的查找操作。 A. 散列函数 B. 排序算法 C. 遍历操作 D. 顺序存储 答案:A

9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。 A. 0 B. 1 C. 2 D. 3 答案:B 10. 在链表中,删除节点的操作时间复杂度是()。 A. O(1) B. O(logn) C. O(n) D. O(nlogn) 答案:A 二、填空题 1. 在顺序存储结构中,元素之间的逻辑关系由()表示。 答案:下标 2. 二叉查找树的中序遍历结果是一个()序列。 答案:递增 3. 哈希表通过散列函数将关键字映射到()上。

《数据结构》全真模拟试题与解答

全真模拟试题 一、单项选择题(在每个小题的4个备选答案中,选出正确的答案,并将其号码填在题后的括号内。每小题2分,共24分) 1.一个具有n个顶点的无向完全图的边数为() ①n(n+1)/2 ②n(n-1)/2 ③n(n-1) ④n(n+1) 2.在索引顺序表中查找一个元素,可用的且最快的方法是() ①用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找 ②用顺序查找法确定元素所在块,再用二分查找法在相应块中查找 ③用二分查找法确定元素所在块,再用顺序查找法在相应块中查找 ④用二分查找法确定元素所在块,再用二分查找法在相应块中查找 3.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用()存储方式最节省运算时间。 ①单链表②双链表 ③带头结点的双循环链表④容量足够大的顺序表 4.串是() ①一些符号构成的序列②有限个字母构成的序列 ③一个以上的字符构成的序列④有限个字符构成的序列 5.堆排序在最坏情况下,其时间复杂性为() ①O(nlog2n) ②O(n2) ③O(log2n2) ④O(log2n) 6.快速排序的记录移动次数()比较次数,其总执行时间为O(nlog2n)。 ①大于②大于等于③小于等于④小于 7.一棵二叉树有n个结点,要按某顺序对该二叉树中的结点编号,(号码为1-n),编号须具有如下性质:二叉树中任一结点V,其编号等于其左子树中结点的最大编号加1。而其右子树中结点的最小编号等于V的编号加1。试问应按()遍历顺序编号。 ①前根②中根③后根④层次 8.3个结点可构成()个不同形态的二叉树。 ① 2 ②3 ③4 ④5 9.对有n个记录的有序表采用二分查找,其平均查找长度的量级为() ①O(log2n) ②O(nlog2n) ③O(n) ④O(n2) 10.对有n个记录的表按记录键值有序的顺序建立二叉树,在这种情况下,其平均查找长度的量级为() ①O(n) ②O(nlog2n) ③O(1) ④(log2n) 11.栈操作的原则是() ①先进先出②后进先出③栈顶插入④栈顶删除 12.设矩阵A是一对称矩阵(a ij=a ji,1<=i,j<=8),若每个矩阵元素占3个单元,将其上三角部分(包括对角线)按行序为主序存放在数组B中,B的首地址为1000,则矩阵元素a67的地址为() ①1031 ②1093 ③1096 ④1032 二、判断题(判断下列各题是否正确,正确在括号内打“√”,错的打“×”。每小题1分,共10分) 1.如果两个串含有相同的字符,则这两个串相等。()

数据结构试题及答案(十套)

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

《数据结构》模拟题测试题期末考试题带答案模拟题自测题

试卷一 一、选择题(本题共30分,每题2分) 1. 计算机识别、存储和加工处理的对象被统称为________。 A. 数据 B. 数据元素 C. 数据结构 D. 数据类型 2. 已知一栈的进栈序列为:1234,则下列哪个序列为不可能的出栈序列________。 A.1234 B.4321 C.2143 D.4123 3.链表不具有的特点是________。 A. 随机访问 B. 不必事先估计所需存储空间大小 C. 插入与删除时不必移动元素 D. 所需空间与线性表长度成正比 4. 设InitQueue(Q)、EnQueue(Q,e)、DeQueue(Q,e)分别表示队列初始化、入队和出队的操作。经过以下队列操作后,队头的值是________ InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b); EnQueue(Q,c); DeQueue(Q,x) A. a B. b C.NULL D.x 5.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行________。 A.p=q->next; p->next=q->next;free(p); B.p=q->next; q->next=p; free(p); C.p=q->next; q->next=p->next; free(p); D.q->next=q->next->next; q->next=q; free(p); 6. 一个顺序表第一个元素的存储地址是100,每个元素占2个存储单元,则第5个元素的地址是________。 A.110 B.108 C.100 D.120 7. 在一个长度为n的顺序存储的线性表中,在其第i个位置插入一个新元素时,需要移动元素的次数是________。 A. n-i B. n-i+1 C. n-i-1 D. i 8.下面关于线性表的叙述错误的是________。 A. 线性表采用顺序存储必须占用一片连续的存储空间 B. 线性表采用链式存储不必占用一片连续的存储空间 C. 线性表采用链式存储便于插入和删除操作的实现 D.线性表采用顺序存储便于插入和删除操作的实现 9. Push(e)表示e进栈,Pop(e)表示退栈并将栈顶元素存入e。下面的程序段可以将A,B的值交换的操作序列是________。 A.Push(A) Push(B) Pop(A) Pop(B) B.Push(A) Push(B) Pop(B) Pop(A) C.Push(A) Pop(B) Push(B) Pop(A) D.Push(B) Pop(A) Push(A) Pop(B) 10.下列查找方法中哪一种不适合元素的链式存储结构________。 A.顺序查找 B.分块查找 C.二分查找 D.散列查找 11. 下列排序算法中,不能保证每趟排序至少能将一个元素放到其最终的位置上的算法是________。 A.快速排序 B.希尔排序 C.堆排序 D.冒泡排序 12. 设一棵二叉树的深度为k,则该二叉树中最多有________个结点。 A. 2k-1 B. 2k C. 2k-1 D. 2k-1

(完整版)数据结构试题及答案

数据结构试卷(一)王彬 一、单选题(每题2 分,共20分) 1.栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 2.用链接方式存储的队列,在进行插入运算时( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构?( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在 676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。c A.688 B.678 C.692 D.696 5.树最适合用来表示( )。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 6.二叉树的第k层的结点数最多为( d ). A.2k-1 B.2K+1 C.2K-1 D. 2k-1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二 分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 A. O(1) B. O(n) C. O(1og2n) D. O(n2) 9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K) =K %9作为散列函数,则散列地址为1的元素有( c d)个, A.1 B.2 C.3 D.4 10.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。 A.5 B.6 C.7 D.8 二、填空题(每空1分,共26分) 1.通常从四个方面评价算法的质量:____ ____、________、________和_______。 2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。 3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数 为__________个,树的深度为_________,树的度为________。 4.后缀算式9 2 3 +- 10 2 / -的值为________。中缀算式(3+4X)-2Y/3对应的后缀算 式为______3 4X* + 2Y* / -_________________________。 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指 针。在这种存储结构中,n个结点的二叉树共有_______个指针域,其中有________个指针域是存放了地址,有______________个指针是空指针。 6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点 分别有______个和______个。 7.AOV网是一种___________________的图。 8.在一个具有n个顶点的无向完全图中,包含有_____条边,在一个具有n个顶点的有向 完全图中,包含有_____条边。 9.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元 素成为一个子表,则得到的四个子表分别为__________________________、______________、_____________________和_____________________。

数据结构考试题库含答案

数据结构考试题库含答案 数据结构考试题库含答 案 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】 数据结构习题集含答案 目录 选择题 第一章绪论 1.数据结构这门学科是针对什么问题而产生的(A ) A、针对非数值计算的程序设计问题 B、针对数值计算的程序设计问题 C、数值计算与非数值计算的问题都针对 D、两者都不针对 2.数据结构这门学科的研究内容下面选项最准确的是(D ) A、研究数据对象和数据之间的关系 B、研究数据对象 C、研究数据对象和数据的操作 D、研究数据对象、数据之间的关系和操作 3.某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那 么下面关于数据对象、数据元素、数据项描述正确的是(C ) A、某班级的学生成绩表是数据元素,90分是数据项 B、某班级的学生成绩表是数据对象,90分是数据元素 C、某班级的学生成绩表是数据对象,90分是数据项 D、某班级的学生成绩表是数据元素,90分是数据元素 4.*数据结构是指(A )。 A、数据元素的组织形式 B、数据类型

C、数据存储结构 D、数据定义 5.数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。 A、存储结构 B、逻辑结构 C、链式存储结构 D、顺序存储结构 6.算法分析的目的是(C ) A、找出数据的合理性 B、研究算法中的输入和输出关系 C、分析算法效率以求改进 D、分析算法的易懂性和文档型性 7.算法分析的主要方法(A )。 A、空间复杂度和时间复杂度 B、正确性和简明性 C、可读性和文档性 D、数据复杂性和程序复杂性 8.计算机内部处理的基本单元是(B ) A、数据 B、数据元素 C、数据项 D、数据库 9.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存 储比顺序存储要(B )。 A、低 B、高 C、相同 D、不好说

数据结构模拟题及答案

数据结构试题(A05) 一、选择题(共10小题,每小题1分,共10分) 1。下面程序段的时间复杂度是( ) m=0; for(i=1;i<=n;i++) for(j=1;j<=n;j++) m=m+1; A. O(n2) B。O(m+n+1)C。O(m+n)D。O(n) 2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继"的语句是() A。p=p—>next; B.p—〉next=p->next—>next; C.p—>next=p; D.p=p->next—>next; 3。在长度为n的顺序表,当在任何位置上删除一个元素的概率相等时,删除一个元素需要移动的元素的平均个数为( ) A.n/2 B.(n-1)/ 2 C.(n+1)/2 D.(n+2)/2 4.一个栈的输入序列为 1 2 3 4 5,则下列序列中不可能是栈的输出序列的是() A. 2 3 4 1 5 B. 5 4 1 3 2 C. 2 3 1 4 5 D. 1 5 4 3 2 6。设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为( ) A. r—f B. r—f+1 C. (r-f)mod n+1 D. (r—f+n) mod n 7.以下序列不是堆的是()。 A。(100,85,98,77,80,60,82,40,20,10,66) B.(100,98,85,82,80,77,66,60,40,20,10) C。(100,85,40,77,80,60,66,98,82,10,20) D。(10,20,40,60,66,77,80,82,85,98,100) 8.在有序表(12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为( )。 A。 3 B。4 C。5 D. 2 9。在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。 A.选择排序 B.冒泡排序 C。快速排序 D.插入排序 二、填空题(共20小题,每小题1分,共20分) 1、在单链表中,删除指针P所指结点的后继结点的语句是. 2、线性表的两种存储结构分别是和. 3、己知完全二叉树的第4层有5个结点,则其叶子结点数是. 4、将下三角矩阵A[1…。8,1…。8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则A[7,5]的地址是. 5、有n个结点的强连通有向图G至少有条弧。 7、在有序表A[1…。20]中,采用二分查找算法查找元素值等于A[12]的元素,

数据结构模拟题及答案

数据结构试题(A05) 一、选择题(共10小题,每小题1分,共10分) 1.下面程序段的时间复杂度是( ) m=0; for(i=1;i<=n;i++) for(j=1;j<=n;j++) m=m+1; A. O(n2) B.O(m+n+1) C.O(m+n) D. O(n) 2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( ) A.p=p->next; B.p->next=p->next->next; C.p->next=p; D.p=p->next->next; 3.在长度为n的顺序表,当在任何位置上删除一个元素的概率相等时,删除一个元素需要移动的元素的平均个数为( ) A.n/2 B.(n-1)/ 2 C.(n+1)/2 D.(n+2)/2 4.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( ) A. 2 3 4 1 5 B. 5 4 1 3 2 C. 2 3 1 4 5 D. 1 5 4 3 2 6.设循环队列中数组的下标范围是1~n,其头尾指针分别为f和r,则其元素个数为( ) A. r-f B. r-f+1 C. (r-f) mod n+1 D. (r-f+n) mod n 7.以下序列不是堆的是( )。 A.(100,85,98,77,80,60,82,40,20,10,66) B.(100,98,85,82,80,77,66,60,40,20,10) C.(100,85,40,77,80,60,66,98,82,10,20) D.(10,20,40,60,66,77,80,82,85,98,100) 8.在有序表(12,24,36,48,60,72,84)中折半查找关键字72时所需进行的关键字比较次数为( )。 A. 3 B. 4 C. 5 D. 2 9.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。 A.选择排序 B.冒泡排序 C.快速排序 D.插入排序 二、填空题(共20小题,每小题1分,共20分) 1、在单链表中,删除指针P所指结点的后继结点的语句是。 2、线性表的两种存储结构分别是和。 3、己知完全二叉树的第4层有5个结点,则其叶子结点数是。 4、将下三角矩阵A[1….8,1….8]的下三角部分逐行地存储到起始地址为1000的内存单元中,已知每个元素占4个单元,则A[7,5]的地址是。 5、有n个结点的强连通有向图G至少有条弧。 7、在有序表A[1….20]中,采用二分查找算法查找元素值等于A[12]的元素,所

《数据结构》3套模拟试题综合测试题带答案5

《数据结构》模拟试题13 一、填空题(每小题2分,共18分) 1、数据的逻辑结构包括,和三种结构。 2、队列是操作受限的线性结构,只能在插入元素,而在删除元素。 3、串是一种特殊的线性表,其特殊性体现在。 4、有一个10阶对称矩阵A,采用压缩存储方式采用压缩存储方式,以行为主存储下三角形 到一个一维数组中,A[0][0]的地址是100(每个元素占2个基本存储单元),则A[5][9]的地址是。 5、在高度为h的二叉树的中只有度为0和度为2的结点,则该类二叉树中所包含的结点数 至少为。 6、对于一个有n个顶点和e条边的无向图,若采用邻接链表存储,则表头向量的大小为 ,邻接表中的结点总数为。 7、对线性表进行二分查找时,要求线性表必须是,且要 求。 8、对于文件,按物理结构划分,可分为顺序文件、文件、 文件和多关键字文件。 9、外部排序的最基本方法是,其主要时间花费在方面。 二、单项选择题(请将答案写在题目后的括号中。每题2分,共18分) 1、如下函数是求1!+2!+…+n!,其时间复杂度是()。 Long int Sum (int n) { long int sum=0 , t=1 ; int p ; for (p=1; p<=n ;p++) { t=t*p ; sum+=t ; } return(sum) ; } (A)O(n) (B)O(n2) (C)O(㏒2n) (D)O(n㏒2n) 2、设有一个栈顶指针为top的顺序栈S,则弹出S的栈定元素的操作是()。 (A)p=S[top++];(B)p=S[++top]; (C)p=S[top--];(D)p=S[--top];

(完整版)数据结构试题及答案(10套最新)

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

数据结构试题集[包含答案_完整版]

第一章概论 一、选择题 1、研究数据结构就是研究(D )。 A. 数据的逻辑结构 B. 数据的存储结构 C. 数据的逻辑结构和存储结构 D. 数据的逻辑结构、存储结构及其基本操作 2、算法分析的两个主要方面是( A )。 A. 空间复杂度和时间复杂度 B. 正确性和简单性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 3、具有线性结构的数据结构是( D )。 A. 图 B. 树 C. 广义表 D. 栈 4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、(B )等5个特性。 A. 可执行性、可移植性和可扩充性 B. 可执行性、有穷性和确定性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和确定性 5、下面程序段的时间复杂度是( C )。 for(i=0;i

A. 计算机程序 B. 解决问题的计算方法 C. 排序算法 D. 解决问题的有限运算序列 7、某算法的语句执行频度为(3n+nlog 2n+n 2+8),其时间复杂度表示( C )。 A. O(n) B. O(nlog 2n) C. O(n 2) D. O(log 2n) 8、下面程序段的时间复杂度为( C )。 i=1; while(i<=n) i=i*3; A. O(n) B. O(3n) C. O(log 3n) D. O(n 3) 9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。 A. 结构 B. 关系 C. 运算 D. 算法 10、下面程序段的时间复杂度是(A )。 i=s=0; while(s

相关文档
最新文档