文档库 最新最全的文档下载
当前位置:文档库 › 数据结构试题及答案

数据结构试题及答案

数据结构试题及答案
数据结构试题及答案

好风光好感动1、线性表得逻辑顺序与物理顺序总就是一致得。( x )

2、线性表得顺序存储表示优于链式存储表示。( X )

3、线性表若采用链式存储表示时所有结点之间得存储单元地址可连续可不连续。( v )

4、二维数组就是其数组元素为线性表得线性表。( v )

5、每种数据结构都应具备三种基本运算:插入、删除与搜索。( x )

6、数据结构概念包括数据之间得逻辑结构,数据在计算机中得存储方式与数据得运算三个

方面。( v )

7、线性表中得每个结点最多只有一个前驱与一个后继。( x )

8、线性得数据结构可以顺序存储,也可以链接存储。非线性得数据结构只能链接存储。( x )

9、栈与队列逻辑上都就是线性表。( v )

10、单链表从任何一个结点出发,都能访问到所有结点 ( v )

11、删除二叉排序树中一个结点,再重新插入上去,一定能得到原来得二叉排序树。(x )

12、快速排序就是排序算法中最快得一种。( x )

13、多维数组就是向量得推广。( x )

14、一般树与二叉树得结点数目都可以为0。 ( v )

15、直接选择排序就是一种不稳定得排序方法。( x )

16、98、对一个堆按层次遍历,不一定能得到一个有序序列。(v )

17、在只有度为0与度为k得结点得k叉树中,设度为0得结点有n0个,度为k得结点有nk个,则有n0=nk+1。( x )

18、折半搜索只适用与有序表,包括有序得顺序表与有序得链表。( x )

19、堆栈在数据中得存储原则就是先进先出。( x )

20、队列在数据中得存储原则就是后进先出。( x )

21、用相邻矩阵表示图所用得存储空间大小与图得边数成正比。( x )

22、哈夫曼树一定就是满二叉树。( x )

23、程序就是用计算机语言表述得算法。( v)

24、线性表得顺序存储结构就是通过数据元素得存储地址直接反映数据元素得逻辑关系。( v )

25、用一组地址连续得存储单元存放得元素一定构成线性表。( v )

26、堆栈、队列与数组得逻辑结构都就是线性表结构。( v )

27、给定一组权值,可以唯一构造出一棵哈夫曼树。( x )

28、只有在初始数据为逆序时,冒泡排序所执行得比较次数最多。( v )

29、希尔排序在较率上较直接接入排序有较大得改进。但就是不稳定得。(v )

30、在平均情况下,快速排序法最快,堆积排序法最节省空间。( v )

31、快速排序法就是一种稳定性排序法。( x )

32、算法一定要有输入与输出。( x )

33、算法分析得目得旨在分析算法得效率以求改进算法。( v )

34、非空线性表中任意一个数据元素都有且仅有一个直接后继元素。( x )

35、数据得存储结构不仅有顺序存储结构与链式存储结构,还有索引结构与散列结构。( x )

36、若频繁地对线性表进行插入与删除操作,该线性表采用顺序存储结构更合适。( x )

37、若线性表采用顺序存储结构,每个数据元素占用4个存储单元,第12个数据元素得存储地址为144,则第1个数据元素得存储地址就是101。( x )

38、若长度为n得线性表采用顺序存储结构,删除表得第i个元素之前需要移动表中n-i+1个元素。( x )

39、符号p->next出现在表达式中表示p所指得那个结点得内容。( x )

40、要将指针p移到它所指得结点得下一个结点就是执行语句p←p->next。( x )

41、若某堆栈得输入序列为1,2,3,4,则4,3,1,2不可能就是堆栈得输出序列之一。( v )

42、线性链表中各个链结点之间得地址不一定要连续。( v )

43、程序就就是算法,但算法不一定就是程序。( v )

44、线性表只能采用顺序存储结构或者链式存储结构。( v )

45、线性表得链式存储结构就是通过指针来间接反映数据元素之间逻辑关系得。( v )

46、除插入与删除操作外,数组得主要操作还有存取、修改、检索与排序等。( x )

47、稀疏矩阵中0元素得分布有规律,因此可以采用三元组方法进行压缩存储。( v )

48、不管堆栈采用何种存储结构,只要堆栈不空,可以任意删除一个元素。( v )

49、确定串T在串S中首次出现得位置得操作称为串得模式匹配。( v)

50、深度为h得非空二叉树得第i层最多有2i-1 个结点。(x )

51、满二叉树也就是完全二叉树。( v )

52、已知一棵二叉树得前序序列与后序序列可以唯一地构造出该二叉树。( x )

53、非空二叉排序树得任意一棵子树也就是二叉排序树。( v )

54、对一棵二叉排序树进行前序遍历一定可以得到一个按值有序得序列。( x )

55、一个广义表得深度就是指该广义表展开后所含括号得层数。( v )

56、散列表得查找效率主要取决于所选择得散列函数与处理冲突得方法。( v )

57、序列初始为逆序时,冒泡排序法所进行得元素之间得比较次数最多。( v )

58、已知指针P指向键表L中得某结点,执行语句P=P-〉next不会删除该链表中得结点。

( v )

59、在链队列中,即使不设置尾指针也能进行入队操作。( v )

60、如果一个串中得所有字符均在另一串中出现,则说前者就是后者得子串。( x )

61、设与一棵树T所对应得二叉树为BT,则与T中得叶子结点所对应得BT中得结点也一定就是叶子

结点。( x )

62、若图G得最小生成树不唯一,则G得边数一定多于n-1,并且权值最小得边有多条(其中n为G得顶点数)。( v )

63、给出不同得输入序列建造二叉排序树,一定得到不同得二叉排序树。( v )

64、由于希尔排序得最后一趟与直接插入排序过程相同,因此前者一定比后者花费得时间多。( x )

65、程序越短,程序运行得时间就越少。( x )

66、采用循环链表作为存储结构得队列就就是循环队列。( x )

67、堆栈就是一种插入与删除操作在表得一端进行得线性表。( v )

68、一个任意串就是其自身得子串。( v )

69、哈夫曼树一定就是完全二叉树。( x )

70、带权连通图中某一顶点到图中另一定点得最短路径不一定唯一。( v )

71、折半查找方法可以用于按值有序得线性链表得查找。( x )

72、稀疏矩阵压缩存储后,必会失效掉随机存取功能。( x )

73、由一棵二叉树得前序序列与后序序列可以唯一确定它。( x )

74、在n个结点得元向图中,若边数在于n-1,则该图必就是连通图。( x )

75、在完全二叉树中,若某结点元左孩子,则它必就是叶结点。( v )

76、若一个有向图得邻接矩阵中,对角线以下元素均为0,则该图得拓扑有序序列必定存在。( v )

77、树得带权路径长度最小得二叉树中必定没有度为1得结点。( v )

78、二叉树可以用0≤度≤2得有序树来表示。( x )

79、一组权值,可以唯一构造出一棵哈夫曼树。( x )

80、101,88,46,70,34,39,45,58,66,10)就是堆;( v )

81、将一棵树转换成二叉树后,根结点没有左子树;( x )

82、用树得前序遍历与中序遍历可以导出树得后序遍历;( v )

83、在非空线性链表中由p所指得结点后面插入一个由q所指得结点得过程就是依次执行语句:q->next=p->next;p->next=q。( v )

84、非空双向循环链表中由q所指得结点后面插入一个由p指得结点得动作依次为:p->prior=q, p->next=q->next,q->next=p,q->prior->next←p。( x )

85、删除非空链式存储结构得堆栈(设栈顶指针为top)得一个元素得过程就是依次执行:p=top,top= p->next,free (p)。( v )

86、哈希得查找无需进行关键字得比较。( v )

87、一个好得哈希函数应使函数值均匀得分布在存储空间得有效地址范围内,以尽可能减少冲突。( v )

88、排序就是计算机程序设计中得一种重要操作,它得功能就是将一个数据元素(或记录)得任意序列,重新排列成一个按关键字有序得序列。( v )

89、队列就是一种可以在表头与表尾都能进行插入与删除操作得线性表。( x )

90、在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不与表得个数有关,而与每一块中得元素个数有关。( x )

91、对于有向图,顶点得度分为入度与出度,入度就是以该顶点为终点得入边数目;出度就是以该顶点为起点得出边数目,该顶点得度等于其入度与出度之与。( v )

92、无向图得邻接矩阵就是对称得有向图得邻接矩阵就是不对称得。( x )

93、具有n个顶点得连通图得生成树具有n-1条边( v )

二、填空题:

1、《数据结构》课程讨论得主要内容就是数据得逻辑结构、存储结构与______运算________。

2、数据结构算法中,通常用时间复杂度与__________________两种方法衡量其效率。

3、一个算法一该具有______,______,____,______与____这五种特性。

4、若频繁地对线性表进行插入与删除操作,该线性表应采用____________存储结构。

5、在非空线性表中除第一个元素外,集合中每个数据元素只有一个_______;除最后一个元素之外,集合中每个数据元素均只有一个_________。

6、线性表中得每个结点最多有________前驱与____________后继。

7、______链表从任何一个结点出发,都能访问到所有结点。

8、链式存储结构中得结点包含____________域,_______________域。

9、在双向链表中,每个结点含有两个指针域,一个指向______结点,另一个指向________结点。

10、某带头结点得单链表得头指针head,判定该单链表非空得条件______________。

11、在双向链表中,每个结点含有两个指针域,一个指向_______结点,另一个指向_____结点。

12、已知指针p指向单链表中某个结点,则语句p->next=p->next->next得作用__删除p 得后继结点_。

13、已知在结点个数大于1得单链表中,指针p指向某个结点,则下列程序段结束时,指针q指向*p得_____________结点。

q=p;

while(q->next!=p)

q=q->next;

14、若要在单链表结点*P后插入一结点*S,执行得语句_______________。

15、线性表得链式存储结构地址空间可以_________,而向量存储必须就是地址空间___________。

16、栈结构允许进行删除操作得一端为_____________。

17、在栈得顺序实现中,栈顶指针top,栈为空条件______________。

18、对于单链表形式得队列,其空队列得F指针与R指针都等于__________________。

19、若数组s[0、、n-1]为两个栈s1与s2得共用存储空间,仅当s[0、、n-1]全满时,各栈才不能进行栈操

作,则为这两个栈分配空间得最佳方案就是:s1与s2得栈顶指针得初值分别为_________。

20、允许在线性表得一端插入,另一端进行删除操作得线性表称为_______。插入得一端为______,删除得一端为______。

21、设数组A[m]为循环队列Q得存储空间,font为头指针,rear为尾指针,判定Q为空队列得条件____________________。

22、对于顺序存储得队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上瞧一个环,则队列中元素得个数为___________。

23、已知循环队列得存储空间为数组data[21],且头指针与尾指针分别为8与3,则该队列得当前长度__________。

24、一个串得任意个连续得字符组成得子序列称为该串得________,包含该子串得串称为________。

25、求串T在主串S中首次出现得位置得操作就是________________。

26、在初始为空得队列中插入元素A,B,C,D以后,紧接着作了两次删除操作,此时得队尾元素就是__________。

27、在长度为n得循环队列中,删除其节点为x得时间复杂度为_______________。

28、已知广义表L为空,其深度为___________。

29、已知一顺序存储得线性表,每个结点占用k个单元,若第一个结点得地址为DA1,则第i个结点得地址为______________。

30、设一行优先顺序存储得数组A[5][6],A[0][0]得地址为1100,且每个元素占2个存储单元,则A[2][3]得地址为_____________。

31、设有二维数组A[9][19],其每个元素占两个字节,第一个元素得存储地址为100,若按行优先顺序存储,则元素A[6,6]得存储地址为______________,按列优顺序存储,元素A[6,6]得存储地址为

______________。

32、在进行直接插入排序时, 其数据比较次数与数据得初始排列________关;而在进行直接选择排序时,其数据比较次数与数据得初始排列__________关。

33、假设以行为优先存储得三维数组A[5][6][7],A[0][0][0]得地址为1100,每个元素占两个存储单元,则A[4][3][2]得地址为_______。

34、设二维数组A[m][n]按列优先存储,每个元素占1个存储单元,元素A00得存储地址loc(A00),则A ij 得存储地址loc(A ij)=____________________。

35、稀疏矩阵一般采用__________方法进行压缩存储。

36、稀疏矩阵可用_________进行压缩存储,存储时需存储非零元得________、________、________。

37、若矩阵中所有非零元素都集中在以主对角线为中心得带状区域中,区域外得值全为0,则称为

__________。

38、若一个n 阶矩阵A中得元素满足:A ij=A ji (0<=I ,j<=n-1)则称A为____________矩阵;若主对角线上方(或下方)得所有元素均为零时,称该矩阵为______________。

39、对于上三角形与下三角形矩阵,分别以按行存储与按列存储原则进行压缩存储到数组M[k]中,若

矩阵中非0元素为A ij,则k对应为________与__________。

40、设有一上三角形矩阵A[5][5]按行压缩存储到数组B中,B[0]得地址为100,每个元素占2个单元,则A[3][2]地址为____________。

41、广义表(A,(a,b),d,e,((i,j),k)),则广义表得长度为___________,深度为___________。

42、已知广义表A=((a,b,c),(d,e,f)),则运算head(head (tail(A))))=___ ________。

43、已知广义表ls =(a,(b,c,d),e),运用head与tail函数取出ls中得原子b得运算就是_____。

44、在树结构里,有且仅有一个结点没有前驱,称为根。非根结点有且仅有一个___________,且存在一条从根到该结点得_______________。

45、度数为0得结点,即没有子树得结点叫作__________结点或_________结点。同一个结点得儿子结点之间互称为___________结点。

46、假定一棵树得广义表为A(B(e),C(F(h,i,j),g),D),则该树得度为___________,树得深度为_________,终端结点为______,单分支结点为,双分支结点个数为_______,三分支结点为_______,C结点得双亲结点就是______,孩子结点就是______。

48、完全二叉树、满二叉树、线索二叉树与二叉排序树这四个名词术语中,与数据得存储结构有关系得就是_____________。

47、有三个结点得二叉树,最多有________种形状。

48、每一趟排序时从排好序得元素中挑出一个值最小得元素与这些未排小序得元素得第一个元素交换位置,这种排序方法成为_____________排序法。

49、高度为k得二叉树具有得结点数目,最少为_____,最多为_____。

50、对任何一棵二叉树,若n0,n1,n2分别就是度为0,1,2得结点得个数,则n0=_______。

51、在含100个结点得完全二叉树,叶子结点得个数为_______。

52、将一个数据元素(或记录)得任意序列,重新排列成一个按关键字有序得序列叫_____。

53、若一棵满二叉树含有121个结点,则该树得深度为_________。

54、一个具有767个结点得完全二叉树,其叶子结点个数为________。

55、深度为90得满二叉树,第11层有________个结点。

56、有100个结点得完全二叉树,深度为________。

57、设一棵二叉树中度为2得结点10个,则该树得叶子个数为________。

58、若待散列得序列为(18,25,63,50,42,32,9),散列函数为H(key)=key MOD 9,与18发生冲突得元素有_____________个。

59、含有3个2度结点与4个叶结点得二叉树可含__________个1度结点。

60、一棵具有5层满二叉树中节点总数为___________。

61、一棵含有16个结点得完全二叉树,对她按层编号,对于编号为7得结点,她得双亲结点及左右结点编号为______、______、_______。

62、深度为k(设根得层数为1)得完全二叉树至少有_______个结点, 至多有_______个结点。

63、若要对某二叉排序树进行遍历,保证输出所有结点得值序列按增序排列,应对该二叉排序树采用

________遍历法。

64、在序列(2,5,8,11,15,16,22,24,27,35,50)中采用折半查找(二分查找)方法查找元素24,需要进行______________次元素之间得比较。

65、设有10个值,构成哈夫曼树,则该哈夫曼树共有______个结点。

66、从树中一个结点到另一个结点之间得分支构成这两个结点之间得____________。

67、关键字自身作为哈希函数,即H(k)=k,也可自身加上一个常数作为哈希函数,即H(k)=k+C这种构造哈希函数得方式叫____________。

68、对于一个图G,若边集合E(G)为无向边得集合,则称该图为____________。

69、对于一个图G,若边集合E(G)为有向边得集合,则称该图为____________。

70、对于有向图,顶点得度分为入度与出度,以该顶点为终点得边数目叫________;以该顶点为起点得边数目叫_________。

71、一个无向图采用邻接矩阵存储方法,其邻接矩阵一定就是一个______________。

72、有一个n个顶点得有向完全图得弧数_____________。

73、在无向图中,若从顶点A到顶点B存在_________,则称A与B之间就是连通得。

74、在一个无向图中,所有顶点得度数之与等于所有边数得___________倍。

75、一个连通图得生成树就是该图得____________连通子图。若这个连通图有n个顶点, 则它得生成树有__________条边。

76、无向图得邻接矩阵就是一个_____________矩阵。

77、如果从一无向图得任意顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定就是_____ _______。

78、若采用邻接表得存储结构,则图得广度优先搜索类似于二叉树得____________遍历。

79、若图得邻接矩阵就是对称矩阵,则该图一定就是________________。

80、从如图所示得临接矩阵可以瞧出,该图共有______个顶点。如果就是有向图,该图共有______条弧;如果就是无向图,则共有________条边。

81、如果从一个顶点出发又回到该顶点,则此路径叫做___________。

82、一个具有个n顶点得无向图中,要连通全部顶点至少需要________条边。

83、给定序列{100, 86, 48, 73, 35, 39, 42, 57, 66, 21}, 按堆结构得定义, 则它一定_________堆。

84、从未排序序列中选择一个元素,该元素将当前参加排序得那些元素分成前后两个部分,前一部分中所有元素都小于等于所选元素,后一部分中所有元素都大于或等于所选元素,而此时所选元素处在排序得最终位置。这种排序法称为_____________排序法。

85、折半搜索只适合用于___________________。

86、结点关键字转换为该结点存储单元地址得函数H称为_____________或叫__________。

87、在索引查找中,首先查找________,然后查找相应得_________,整个索引查找得平均查找长度等于查找索引表得平均长度与查找相应子表得平均查找长度得_______。

三、选择题:

( )1、数据结构通常就是研究数据得及它们之间得联系。

A存储与逻辑结构B存储与抽象

C理想与抽象D理想与逻辑

( )2、在堆栈中存取数据得原则就是。

A先进先出B后进先出

C先进后出D随意进出

( )3、将一棵有100个结点得完全二叉树从上到下,从左到右依次对结点进行编号,根结点得编号为1,则编号为49得结点得左孩子得编号为______。

A、98

B、99

C、50

D、48

( )4、对于如图所示二叉树采用中根遍历,正确得遍历序列应为( )

A、ABCDEF

B、ABECDF

C、CDFBEA

D、CBDAEF

( )5、设有100个元素,用折半查找法进行查找时,最大比较次数就是_____ 。

A、25

B、50

C、10

D、7

( )6、快速排序在_____情况下最易发挥其长处。

A、被排序数据中含有多个相同排序码

B、被排序数据已基本有序

C、被排序数据完全无序

D、被排序数据中最大值与最小值相差悬殊

( )7、由两个栈共享一个向量空间得好处就是______。

A减少存取时间,降低下溢发生得机率B节省存储空间,降低上溢发生得机率

C减少存取时间,降低上溢发生得机率D节省存储空间,降低下溢发生得机率

( )8、某二叉树得前序与后序序列正好相反,则该二叉树一定就是_____得二叉树A空或者只有一个结点B高度等于其结点数

C任一结点无左孩子D任一结点无右孩子

( )9、设散列表长m=14,散列函数H(K)=K%11,已知表中已有4个结点:r(15)=4; r(38)=5; r(61)=6;r(84)=7,其她地址为空,如用二次探测再散列处理冲突,关键字为49得结点地址就是________。

A8 B3

C5 D9

( )10、在含有n个项点有e条边得无向图得邻接矩阵中,零元素得个数为________。

A、e

B、2e

C、n2-e

D、n2-2e

( )11、图得深度优先遍历类似于二叉树得_______。

A、先序遍历

B、中序遍历

C、后序遍历

D、层次遍历

( )12、设长度为n得链队列用单循环链表表示,若只设头指针,则入队操作得时间复杂度为_______。

A、 O(1)

B、 O(log2n)

C、 O(n)

D、 O(n2)

( )13、堆得形状就是一棵_______。

A、二叉排序树

B、满二叉树

C、完全二叉树

D、平衡二叉树

( )14、一个无向连连通图得生成树就是含有该连通图得全部项点得_______。

A、极小连通子图

B、极小子图

C、极大连通子图

D、极大子图

( )15、一个序列中有10000个元素,若只想得到其中前10个最小元素,最好采用_______方法

A、快速排序

B、堆排序

C、插入排序

D、二路归并排序

( )16、设单链表中结点得结构为

typedef struct node { 链表结点定义

ElemType data; 数据

struct node * Link; 结点后继指针

} ListNode;

已知指针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;

( )17、设单链表中结点得结构为

typedef struct node

{ 链表结点定义

ElemType data; 数据

struct node * Link; 结点后继指针

} ListNode;

非空得循环单链表first得尾结点(由p所指向)满足:______

A、 p->link == NULL;

B、 p == NULL;

C、 p->link == first;

D、 p == first;

( )18、计算机识别、存储与加工处理得对象被统称为_________

A.数据 B、数据元素

C、数据结构

D、数据类型

( )19、在具有n个结点得有序单链表中插入一个新结点并使链表仍然有序得时间复杂度就是________

A.O(1) B、O(n)

C、O(nlogn)

D、O(n2)

( )20.队与栈得主要区别就是________

A、逻辑结构不同

B、存储结构不同

C、所包含得运算个数不同

D、限定插入与删除得位置不同

( )21.链栈与顺序栈相比,比较明显得优点就是________

A、插入操作更加方便

B、删除操作更加方便

C、不会出现下溢得情况

D、不会出现上溢得情况

( )22.在目标串T[0…n-1]=”xwxxyxy”中,对模式串p[0…m-1]=”xy”进行子串定位操作得结果_______

A、0

B、2

C、3

D、5

( )23.已知广义表得表头为A,表尾为(B,C),则此广义表为________

A、(A,(B,C))

B、(A,B,C)

C、(A,B,C)

D、(( A,B,C))

( )24.二维数组A按行顺序存储,其中每个元素占1个存储单元。若A[1][1]得存储地址为420,A[3][3]得存储地址为446,则A[5][5]得存储地址为_______

A、470

B、471

C、472

D、473

( )25.二叉树中第5层上得结点个数最多为________

A、8

B、15

C、16

D、32

( )26.如果某图得邻接矩阵就是对角线元素均为零得上三角矩阵,则此图就是_______

A、有向完全图

B、连通图

C、强连通图

D、有向无环图

( )27.对n个关键字得序列进行快速排序,平均情况下得空间复杂度为_______

A、O(1)

B、O(logn)

C、O(n)

D、O(nlogn)

( )28.对于哈希函数H(key)=key%13,被称为同义词得关键字就是_______

A.35与41 B、23与39

C、15与44

D、25与51

( )29、由权值分别为3,8,6,2,5得叶子结点生成一棵哈夫曼树,它得带权路径长度为________。

A、 24

B、 48

C、 72

D、 53

( )30.对包含N个元素得散列表进行检索,平均检索长度

A、为 o(log2N)

B、为o(N)

C、不直接依赖于N

D、上述三者都不就是

( )31、向堆中插入一个元素得时间复杂度为________。

A、 O(log2n)

B、 O(n)

C、 O(1)

D、 O(nlog2n)

( )32.下面关于图得存储得叙述中,哪一个就是正确得。 ________

A.用相邻矩阵法存储图,占用得存储空间数只与图中结点个数有关,而与边数无关

B.用相邻矩阵法存储图,占用得存储空间数只与图中边数有关,而与结点个数无关

C.用邻接表法存储图,占用得存储空间数只与图中结点个数有关,而与边数无关

D.用邻接表法存储图,占用得存储空间数只与图中边数有关,而与结点个数无关

( )33、输入序列为(A,B,C,D),不可能得到得输出序列就是______、

A、 (A,B,C,D)

B、(D,C,B,A)

C、(A, C,D,B)

D、(C,A,B,D)

( )34、在长度为n得顺序存储得线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移

____个元素。

A、n-i

B、n-i+1

C、n-i-1

D、i

( )35、设一个广义表中结点得个数为n,则求广义表深度算法得时间复杂度为____。

A、O(1)

B、O(n)

C、O(n2)

D、O(log 2 n)

( )36、假定一个顺序队列得队首与队尾指针分别为f与r,则判断队空得条件为 ____。

A、f+1==r

B、r+1==f

C、f==0

D、f==r

( )37、从堆中删除一个元素得时间复杂以为____。

A、O(1)

B、O(log 2 n)

C、O(n)

D、O(nlog 2 n)

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

A、指针

B、引用

C、值

D、变量

( )39.在一个单链表HL中,若要在指针q所指结点得后面插入一个由指针p所指向得结点,则执行____。

A、 q一>next=p一>next;p一>next=q;C、 q一>next=p一>next;p一>next=q;

B、 p一>next=q一>next;q=p; D、 p一>next=q一>next;q一>next=p;

( )40.在一个顺序队列中,队首指针指向队首元素得____位置。

A、前一个

B、后一个

C、当前

D、最后一个

( )41.向二叉搜索树中插入一个元素时,其时间复杂度大致力____。

A O(1)

B O(1og2n)

C O(n)

D O(nlog2n)

( )42、算法指得就是________

A、计算机程序

B、解决问题得计算方法

C、排序算法

D、解决问题得有限运算序列

( )43、线性表采用链式存储时,结点得存储地址________

A、必须就是不连续得

B、连续与否均可

C、必须就是连续得

D、与头结点得存储地址相连续

( )44、将长充为n得单链表链接在长度为m得单链表之后得算法得时间复杂度为________

A、O(1)

B、O(n)

C、O(m)

D、O(m+n)

( )45、由两个栈共享一个向量空间得好处就是:________

A、减少存取时间,降低下溢发生得机率

B、节省存储空间,降低上溢发生得机率

C、减少存取时间,降低上溢发生得机率

D、节省存储空间,降低下溢发生得机率

( )46、设数组DAtA[m]作为循环队列SQ得存储空间,front为队头指针,reAr为队尾指针,则执行出队操作后其头指针front值为________

A、 front=front+1

B、 front=(front+1)%(m-1)

C、 front=(front-1)%m

D、 front=(front+1)%m

( )47、如下陈述中正确得就是________

A、串就是一种特殊得线性表

B、串得长度必须大于零

C、串中元素只能就是字母

D、空串就就是空白串

( )48、若目标串得长充为n,模式串得长度为[n/3],则执行模式匹配算法时,在最坏情况下得时间复杂度就是________

A、O(1)

B、O(n)

C、O(n2)

D、O(n3)

( )49、一个非空广义表得表头________

A、不可能就是子表

B、只能就是子表

C、只能就是原子

D、可以就是子表或原子

( )50、从堆中删除一个元素得时间复杂度为________。

A、 O(1)

B、 O(n)

C、 O(log2n)

D、 O(nlog2n)

( )51、一棵度为3得树中,度为3得结点个数为2,度为2得结点个数为1,则度为0得结点个数为________

A、4

B、5

C、6

D、7

( )52、从二叉搜索树中查找一个元素时,其时间复杂度大致为________。

A、 O(n)

B、 O(1)

C、 O(log2n)

D、 O(n2)

( )53、根据n个元素建立一棵二叉搜索树时,其时间复杂度大致为________。

A、 O(n)

B、 O(log2n )

C、 O(n2)

D、 O(nlog2n)

( )54、用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列得变化情况就是如下________:

20,15,21,25,47,27,68,35,84

15,20,21,25,35,27,47,68,84

15,20,21,25,27,35,47,68,84

则所采用得排序方法就是________

A、选择排序

B、希尔排序

C、归并排序

D、快速排序

( )55、适于对动态查找表进行高效率查找得组织结构就是________

A、有序表

B、分块有序表

C、二叉排序树

D、线性链表

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

A 指针

B 引用

C 值

D 常量

( )57、链式栈与顺序栈相比,一个比较明显得优点就是________。

A、插入操作更加方便

B、通常不会出现栈满得情况

C、不会出现栈空得情况

D、删除操作更加方便

( )58、设单链表中结点得结构为(data, link)。已知指针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;

( )59.若让元素1,2,3依次进栈,则出栈次序不可能出现________种情况。

A、 3, 2, 1

B、 2, 1, 3

C、 3, 1, 2

D、 1, 3, 2

( )60、线性链表不具有得特点就是________。

A、随机访问

B、不必事先估计所需存储空间大小

C、插入与删除时不必移动元素

D、所需空间与线性表长度成正比

( )61.在稀疏矩阵得十字链接存储中,每个列单链表中得结点都具有相同得_____。

A.行号B.列号

C.元素值D.地址

( )62、假定一个顺序队列得队首与队尾指针分别为front与rear,存放该队列得数组长度为N,则判断队空得条件为________。

A.(front+1)% N == rear C. front == 0

B.(rear+1)% N == front D. front == rear

( )63.栈得插入与删除操作在___进行.

(A).栈顶 (B).栈底

(C).任意位置 (D)、指定位置

( )64、在一个顺序循环队列中,队首指针指向队首元素得________位置。

A、后两个

B、后一个

C、当前

D、前一个

( )65.下面算法得时间复杂度为__。

int f(int n){

if (n==0)return 1;

else return n*f(n-1);}

A.O(1)

B.O(n)

C.O(n2)

D.O(n!)

( )66、数据结构就是一门研究非数值计算得程序设计问题中计算机得( ①)以及它们之间得( ②)与运算得学科

①A、操作对象B、计算方法C、逻辑存储D、数据映象

②A、结构B、关系C、运算D、算法

( )67、数据结构被形式地定义为(K,R),其中K就是( ①)得有限集合,R就是K上( ②)得有限集合

①A、算法B、数据元素C、数据操作D、逻辑结韵

②A、操作B、映象C、存储D、关系

( )68、在数据结构中,从逻辑上可以把数据结构分为________

A、动态结构与静态结构B、紧凑结构与非紧凑结构

C、线性结构与非线性结构D、内部结构与外部结构

( )69、线性表得顺序存储结构就是一种_________得存储结构,线性表得链式存储结构就是一种________得存储结构

A、随机存取B、顺序存取

C、索引存取D、HASH存取

( )70、算法分析得目得就是( ①),算法分析得两个主要方面就是( ②)

①A、找出数据结构得合理性C、分析算法得效率以求改进

B、研究算法中得输入与输出得关系D、分析算法得易懂性与文档性

②A、空间复杂性与时间复杂性C、可读性与文档性

B、正确性与简明性D、数据复杂性与程序复杂性

( )71、计算机算法指得就是( ①),它必具备输入、输出与( ②)等五个特性

①A、计算方法B、排序方法

C、解决莱一问题得有限运算序列D、调度方法

②A、可执行性、可移植性与可扩充性C、确定性、有穷性与稳定性

B、可执行性、确定性与有穷性D、易谩性、稳定性与安全性

( )72、线性表若采用链表存储结构时,要求内存中可用存储单元得地址________ A、必须就是连续得B、部分地址必须就是连续得

C、一定就是不连续得D、连续不连续都可以

( )73、在以下得叙述中,正确得就是__________

A、线性表得线性存储结构优于链表存储结构C、栈得操作方式就是先进先出

B、二维数组就是它得每个数据元素为一个线性表得线性表D、队列得操作方式就是先进后出

( )74、一个数组元素A[i]与________得表示等价。

A、 *(A+i)

B、 A+i

C、 *A+i

D、 &A+i

( )75、对于两个函数,若函数名相同,但只就是____________不同则不就是重载函数。

A、参数类型

B、参数个数

C、函数类型

D、函数变量

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

A、指针

B、引用

C、值

D、函数

( )77、下面程序段得时间复杂度为____________。

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)

( )78、执行下面程序段时,执行S语句得次数为____________。

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

for(int j=1; j<=i; j++)

S;

A、 n2

B、 n2/2

C、 n(n+1)

D、 n(n+1)/2

( )79、下面算法得时间复杂度为____________。

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!)

( )80.在一个长度为n得顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移个元素。

A、n-i

B、n-i+1

C、n-i-1

D、i

( )81.在一个长度为n得顺序存储线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次前移_____个元素。

A、n-i

B、n-i+1

C、n-i-1

D、i

( )82、在一个长度为n得线性表中顺序查找值为x得元素时,查找时得平均查找长度(即x同元素得平均比较次数,假定查找每个元素得概率都相等)为_____。

A、n

B、n/2

C、(n+1)/2

D、(n-1)/2

( )83.在一个单链表HL中,若要向表头插入一个由指针p指向得结点,则执行_____ 。

A、HL = p; p->next = HL; C、p->next = HL; p = HL;

B、p->next = HL; HL = p; D、p->next = HL->next; HL->next = p;

( )84.在一个单链表HL中,若要在指针q所指得结点得后面插入一个由指针p所指得结点,则执行_____。

A、q->next = p->next ; p->next = q; C、q->next = p->next; p->next = q;

B、p->next = q->next; q = p; D、p->next = q->next ; q->next = p;

( )85.在一个单链表HL中,若要删除由指针q所指向结点得后继结点,则执行_____。

A、p = q->next ; p->next = q->next; C、p = q->next ; q->next = p->next;

B、p = q->next ; q->next = p; D、q->next = q->next->next; q->next = q;

( )86、在稀疏矩阵得带行指针向量得链接存储中,每个行单链表中得结点都具有相同得________。

A、行号

B、列号

C、元素值

D、地址

( )87、设一个广义表中结点得个数为n,则求广义表深度算法得时间复杂度为_______。

A、 O(1)

B、 O(n)

C、 O(n2)

D、 O(log2n)

( )88.栈得插入与删除操作在_____进行。

A、栈顶

B、栈底

C、任意位置

D、指定位置

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

A、top++

B、top--

C、top=0

D、top

( )90.若让元素1,2,3依次进栈,则出栈次序不可能出现_____种情况。

A、3,2,1

B、2,1,3

C、3,1,2

D、1,3,2

( )91.在一个循环顺序队列中,队首指针指向队首元素得_____位置。

A、前一个

B、后一个

C、当前

D、后面

( )92.当利用大小为N得一维数组顺序存储一个循环队列时,该队列得最大长度为_____。

A、N-2

B、N-1

C、N

D、N+1

( )93.从一个循环顺序队列删除元素时,首先需要_____。

A、前移一位队首指针

B、后移一位队首指针

C、取出队首指针所指位置上得元素

D、取出队尾指针所指位置上得元素

( )94.假定一个循环顺序队列得队首与队尾指针分别为f与r,则判断队空得条件就是_____。

A、f+1==r

B、r+1==f

C、f==0

D、f==r

( )95.假定一个链队得队首与队尾指针分别为front与rear,则判断队空得条件就是_____。

A、front==rear

B、front!=NULL

C、rear!=NULL

D、front==NULL

四、应用题:

1、栈与队列都就是特殊线性表,其特殊性就是什么?

2、设有一顺序队列sq,容量为5,初始状态sq、front=sq、rear=0,划出作完下列操作得队列及其头尾指

针变化状态,若不能入队,简述理由后停止。

1)d,e,b 入队。

2)d,e 出队。

3) i,j 入队。

4)b 出队。

5)n,o,p 入队。

3、设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素得出栈顺序为s2, s3, s4, s6, s5, s1,

则顺序栈得容量至少应为多少?

4、将两个栈存入数组V[1、、m]中应如何安排最好?这时栈空、栈满得条件就是什么?

5、已知稀疏矩阵如下:

请写出该稀疏矩阵三元组表示。

6、广义表A=(a,b,(c,d),(e,(f,g))),求其长度,及深度。

7、请画出下面广义表相应得加入表头结点得单链表表示,

D(A(x,y,L(a,b)),B(z,A(x,y,L(a,b))))。

8、一棵具有n个结点得理想平衡二叉树(即除离根最远得最底层外其她各层都就是满得,最底层

有若干结点)有多少层?若设根结点在第0层,则树得高度h如何用n来表示(注意n可能为0)?

9、设二叉树后根遍历为BAC,画出所有可能得二叉树。

10、假设一棵二叉树得层序序列就是ABCDEFGHIJ与中序序列就是DBGEHJACIF,请画出该树。

11、有一个完全二叉树按层次顺序存放在一维数组中,如下所示:

请指出结点P得父结点,左子女,右子女。

12、给出下列二叉树得先序序列。

13、已知某非空二叉树采用顺序存储结构,树中结点得数据信息依次存放在一个一维数组中,即

ABC□DFE□□G□□H□□,该二叉树得中序遍历序列为:

14、设一棵二叉树得前序序列为1,2,3,4,5,6,7,8,9,其中序序列为2,3,1,5,4,7,8,6,9,试画出该二叉树。

15、已知一组元素为(46,25,78,62,12,37,70,29),试画出按元素排列次序插入生成得一棵二叉树。

16、由于元素插入得次序不同,所构成得二叉排序树也有不同得状态,请画出一棵含有1,2,3,4,5,6

六个结点且以1为根,深度为4得二叉排序树。

17、什么就是线索二叉树?为什么要线索化?

18、有n个顶点得有向连通图最多有多少条边?最少有多少条边?

19、下图中给出由7个顶点组成得无向图。从顶点1出发,

对它进行深度优先遍历得到得顶点序列就是:

进行广度优先遍历得到得顶点序列就是:

20、什么就是连通图得生成树?

21、什么就是哈夫曼(Huffman)树?

22、已知结点a,b,c,d及其权值写出哈夫曼树得构造过程。

a b c d

7 5 2 4

23、已知图G={V , E}

V={ a, b, c, d, e }

E={(a, b),(b, d),(c, d),(d, e),(e, a),(a, c)}

画出图G,画出图G得邻接表。

24、考虑下图:

1)从顶点A出发,求它得深度优先生成树。

2)从顶点E出发,求它得广度优先生成树。

3)根据普里姆(Prim)算法,求它得最小生成树。

25、设有关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增得次序进行排序。

若采用初始步长为4得Shell排序法,则一趟扫描得结果就是:

若采用以第一个元素为分界元素得快速排序法,则一趟扫描得结果就是:

26、一个对象序列得排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置得对象为基准而得到

得第一次划分结果为:

27、用二分法对一个长度为10得有序表进行查找,填写查找每个元素需要得比较次数。

下标: 0 1 2 3 4 5 6 7 8 9

比较次数:

28、若对序列(49,38,27,13,97,76,50,65)采用泡排序法(按照值得大小从小到大)进行排序,请分别在下表

中写出每一趟排序得结果。

原始序列49 38 27 13 97 76 50 65

第1趟得结果

第2趟得结果

第3趟得结果

第4趟得结果

29、给出一组关键字:29,18,25,47,58,12,51,10,分别写出按下列各种排序方法进行排序时得变化过程:

1)归并排序每归并一次书写一个次序。

2)快速排序每划分一次书写一个次序。

3)堆排序先建成一个堆,然后每从堆顶取下一个元素后,将堆调整一次。

30、给出一组关键字T=(12,2,16,30,8,28,4,10,20,6,18)。写出用下列算法从小到大排序时第一趟结束时

得序列:

1)希尔排序(第一趟排序得增量为5)

2)快速排序(选第一个记录为枢轴(分隔))

3)链式基数排序(基数为10)

31、若杂凑表得地址范围为[0:9],杂凑函数为H(key)=(key2+2)MOD 9,并且采用链地址方法处理冲突,

请画出元素7,4,5,3,6,2,8,9,1依次插入该杂凑表以后,该杂凑表得状态。

32、已知二叉树采用二叉链表存储结构,链结点得构造为lchild | data | rchild ,根结点得指针为T。下面

就是利用中序遍历得方法统计二叉树中度为1得结点得个数得算法,算法中设置了一顺序存储结构得堆栈STACK [1:M],栈顶指针为top,请在算法得空缺处填入适当内容,使之能正常工作。33、设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素得出栈顺序为s2, s3, s4, s6, s5, s1,则顺序栈得容量至少应为多少?

34、设有一个关键码得输入序列{ 55, 31, 11, 37, 46, 73, 63, 02, 07} ,

(1) 从空树开始构造平衡二叉搜索树, 画出每加入一个新结点时二叉树得形态。若发生不

平衡, 指明需做得平衡旋转得类型及平衡旋转得结果。

(2) 计算该平衡二叉搜索树在等概率下得查找成功得平均查找长度与查找不成功得平

均查找长度。

35、关键码得输入序列{ 55, 31, 11, 37, 46, 73, 63, 02, 07 }请计算在二分法查找、二叉排序树两种得

情况下等概率下查找成功得平均查找长度。

36、广义表A=(a,b,(c,d),(e,(f,g))),计算下面式子得值Head(Tail(Head(Tail(Tail(A)))))

数据结构考试试题及答案

数据结构 一、单选题 1. 计算机算法指的是(b )。 A.程序B.问题求解步骤的描述C.调度方法D.排序方法 2. 以下数据结构中,(a )个是非线性数据结构。 A.树B.字符串C.队D.栈 3. 对于顺序存储的线性表,访问元素和插入元素的时间复杂度分别为:(c )。 A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1) 4. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(b )。 A.p->next=s;s->next=p->next B.s->next=p->next; p->next=s C.p->next=s;p->next=s->next D.p->next=s->next; p->next=s 5. n个顶点的有向图中,含有向边的数目最多为( d ) A.n-1 B.n C.n(n-1)/2 D.n(n-1) 6. 循环队列存储在数组A[0..m]中,则入队时的操作为( d ) A.rear=rear+1 B.rear=(rear+1)mod(m-1) C.rear=(rear+1)mod m D.rear=(rear+1)mod(m+1) 7. 字符串?ababaabab?的next函数为(d ) A.011232232 B.012341234 C.011122334 D. 011234234 8. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数为( b )A.9 B.11 C.15 D.不确定 9. 设有数组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 10. n个顶点的带权无向连通图的最小生成树包含(b )个顶点 A.n-1 B.n C.n/2 D.n+1 11.有关二叉树的下列说法正确的是( b ) A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 12.关键路径是AOE网中( a )。 A.从源点到汇点的最长路径B.从源点到汇点的最短路径 C.最长回路 D.最短路径(从源点到汇点的所有路径中,经过弧的数目最多的路径) 13.若查找每个记录的概率相等,则在具有n个记录的连续文件中采用顺序查找查找一个记录,其平均查找长度ASL为(c)。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 14.就平均性能而言,目前最好的内部排序方法是(d ) A.冒泡排序B.希尔排序C.堆排序D.快速排序 15.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是(d )A.head(tail(LS)) B.tail (head (LS) C.head(tail(head(tail(LS)))) D.head(tail(tail (head (LS)))) 17.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:( a ) A. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B. 在第i个结点后插入一个新结点(1≤i≤n)

大数据考试题含答案精编WORD版

大数据考试题含答案精 编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

1 多选传统大数据质量清洗的特点有: A. 确定性 B. 强类型性 C. 协调式的 D. 非确定性 2 多选以下选项中属于数据的作用的是()。 A. 沟通 B. 验证假设 C. 建立信心 D. 欣赏 3 多选数据建立信心的作用需具备的条件包括()。 A. 可靠数据源 B. 多方的数据源 C. 合适的数据分析 D. 信得过的第三方单位 4 多选数据只有在与()的交互中才能发挥作用。

A. 人 B. 物 C. 消费者 D. 企业 5 单选大数据可能带来(),但未必能够带来()。 A. 精确度;准确度 B. 准确度;精确度 C. 精确度;多样性 D. 多样性;准确度 6 多选大数据的定义是: A. 指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合 B. 任何超过了一台计算机处理能力的数据量 C. 技术 D. 商业 7 多选大数据五大类应用方向是: A. 查询

B. 触达 C. 统计 D. 预警 E. 预测 8 多选以下哪些指标是衡量大数据应用成功的标准? A. 成本更低 B. 质量更高 C. 速度更快 D. 风险更低 9 多选大数据有哪些价值? A. 用户身份识别 B. 描述价值 C. 实时价值 D. 预测价值 E. 生产数据的价值 10 多选大数据的预测价值体现在:

A. 预测用户的偏好、流失 B. 预测热卖品及交易额 C. 预测经营趋势 D. 评价 11 单选什么是大数据使用的最可靠方法? A. 大数据源 B. 样本数据源 C. 规模大 D. 大数据与样本数据结合 12 多选大数据是描述()所发生的行为。 A. 未来 B. 现在 C. 过去 D. 实时 13 多选传统研究中数据采集的方法包括: A. 网络监测

数据结构第二章试题

第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)

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

第二章线性表 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 }

数据结构教程李春葆第4版知识点习题答案

第1章绪论 知识点归纳 一、数据结构概述 1.数据结构的定义 (1)基本概念 数据是描述客观事物的数和字符的集合,是计算机能操作的对象的总称,也是计算机处理信息的某种特定的符号表示形式。 (2)相关术语 ① 数据元素 数据元素又称元素、节点、顶点、记录等。数据元素是数据的基本单位。有时候,一个数据元素可以由若干个数据项组成。 ② 数据项 数据项又称字段或域,它是具有独立含义的最小数据单位。 ③ 数据对象 数据对象是性质相同的数据元素的集合,它是数据的子集。 (3)数据结构的内容 ① 数据元素之间的逻辑关系,即数据的逻辑结构,它是数据结构在用户面前呈现的形式。 ② 数据元素及其关系在计算机存储器中的存储方式,即数据的存储结构,又称数据的物理结构。 ③ 施加在数据上的操作,即数据的运算。 (4)逻辑结构 数据的逻辑结构是从逻辑关系(主要是指数据元素的相邻关系)上描述数据的,它与数据的存储无关,是独立于计算机的。因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。 (5)存储结构 数据的存储结构是逻辑结构用计算机语言的实现或在计算机中的表示(又称映像),也就是逻辑结构在计算机中的存储方式,它是依赖于计算机语言的。一般只在高级语言(例如C/C++语言)的层次上讨论存储结构。 数据的运算最终需在对应的存储结构上用算法实现。 总之,数据结构是一门讨论“描述现实世界实体的数学模型(通常为非数值计算)及其之上的运算在计算机中如何表示和实现”的学科。 (6)数据结构的表示 对于一种数据结构,其逻辑结构总是惟一的,但它可能对应多种存储结构,并且在不同的存储结构中,同一运算的实现过程可能不同。 描述数据结构通常采用二元组表示:

2017年数据结构期末考试题及答案A

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 1 ?在数据结构中,从逻辑上可以把数据结构分为 C 。 A. 动态结构和静态结构B?紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2?数据结构在计算机内存中的表示是指 A ° A. 数据的存储结构 B.数据结构 C.数据的逻辑结构 D .数据元 素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A. 逻辑B?存储 C.逻辑和存储 D.物理 4 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C ° A.数据的处理方法B?数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5. 在决定选取何种存储结构时,一般不考虑 A ° A.各结点的值如何B?结点个数的多少 C?对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6. 以下说法正确的是D ° A. 数据项是数据的基本单位 B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据可以有相同的逻辑结构 7. 在以下的叙述中,正确的是B ° A. 线性表的顺序存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出

8. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9 ?链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一 个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A .p—> prior-> prior=s B .p—> prior-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

数据结构试题及答案

一、单选题(每题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________。

李春葆《数据结构教程》(第4版)课后习题-查找(圣才出品)

第9章查找 1.对于有序表A[0..10],采用二分查找法时,求成功和不成功时的平均查找长度。对于有序表{12,18,24,35,47,50,62,83,90,115,134},当用二分查找法查找90时,需进行多少次查找可确定成功?查找47时,需进行多少次查找可确定成功?查找100时,需进行多少次查找才能确定不成功? 答:对于A[0..10]有序表构造的判定树如图9-1(a)所示。因此有: 对于本题给定的有序表构造的判定树如图9-1(b)所示,由此可知本题答案分别为2、4和3。 图9-1 一棵判定树 2.将整数序列{4,5,7,2,1,3,6}中的数依次插入到一棵空的二叉排序树中,试构造相应的二叉排序树,要求用图形给出构造过程,不需编写程序。 答:构造一棵二叉排序树过程如图9-2所示。

图9-2 构造二叉排序树过程 3.将整数序列{4,5,7,2,1,3,6}中的数依次插入到一棵空的平衡二叉树中,试构造相应的平衡二叉树,要求用图形的方式给出构造过程,不需编写程序。 答:构造一棵平衡二叉树过程如图9-3所示。

图9-3 构造平衡二叉树过程 4.编写一个算法,输出在一棵二叉排序树中查找某个关键字k经过的路径。 答:使用path数组存储经过的节点,当找到所要找的节点时,输出path数组中的元素值,从而输出以根节点到当前节点的路径。对应的算法如下:

查找关键字3:3425 从中看到,两者输出的路径相反,SearchBSTl()更灵活些,它可以对路径上经过的节点进行相应的处理。 5.编写一个算法,判断给定的二叉树是否是二叉排序树。 答:对二叉排序树来说,其中序遍历序列为一个递增有序序列。因此,对给定的二叉树进行中序遍历,如果始终能保持前一个值比后一个值小,则说明该二叉树是一棵二叉排序树。对应的算法如下: 6.已知一个关键字序列为if、while、for、case、do、break、else、struct、union、int、double、float、char、long、bool共15个字符串,哈希函数H(key)为关键字的第一个字母在字母表中的序号,哈希表的表长为26。 (1)若处理冲突的方法采用线性探查法,设计一个算法输出每个关键字对应的H(key)、输出哈希表并求成功情况下的平均查找长度。 (2)若处理冲突的方法采用链地址法,设计一个算法输出哈希表并计算成功情况下和

数据结构期末考试题及标准答案

数据结构期末考试题及标准答案

————————————————————————————————作者:————————————————————————————————日期:

2012年数据结构期末考试题及答案 一、选择题 1.在数据结构中,从逻辑上可以把数据结构分为C。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指A。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的A结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑A。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是D。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是C,算法分析的两个主要方面是A。 (1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2)。

s =0; for(I =0;i<n;i++) for(j=0;j<n;j++) s +=B[i][j]; sum =s ; 9.下面程序段的时间复杂度是O(n*m)。 for(i =0;i<n;i++) for(j=0;j<m;j++) A[i][j] =0; 10.下面程序段的时间复杂度是O(log3n)。 i =0; while(i<=n) i =i * 3; 11.在以下的叙述中,正确的是B。 A.线性表的顺序存储结构优于链表存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着B 。 A.数据元素具有同一特点 B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 13.链表不具备的特点是A。 A.可随机访问任一结点B.插入删除不需要移动元素 C.不必事先估计存储空间D.所需空间与其长度成正比 14.不带头结点的单链表head为空的判定条件是A。

大数据时代题目及答案(三套试题仅供参考)

大数据时代题目及答案(三套试题仅供参考)

第一套试题 1、当前大数据技术的基础是由(C)首先提出的。(单选题,本题2分) A:微软 B:百度 C:谷歌 D:阿里巴巴 2、大数据的起源是(C )。(单选题,本题2分) A:金融 B:电信 C:互联网 D:公共管理 3、根据不同的业务需求来建立数据模型,抽取最有意义的向量,决定选取哪种方法的数据分析角色人员是(C)。(单选题,本题2分) A:数据管理人员 B:数据分析员 C:研究科学家 D:软件开发工程师 4、(D )反映数据的精细化程度,越细化的数据,价值越高。(单选题,本题2分) A:规模 B:活性 C:关联度 D:颗粒度 5、数据清洗的方法不包括( D)。(单选题,本题2分) A:缺失值处理 B:噪声数据清除 C:一致性检查 D:重复数据记录处理 6、智能健康手环的应用开发,体现了( D)的数据采集技术的应用。(单选题,本题2分) A:统计报表 B:网络爬虫 C:API接口 D:传感器 7、下列关于数据重组的说法中,错误的是(A)。(单选题,本题2分) A:数据重组是数据的重新生产和重新采集 B:数据重组能够使数据焕发新的光芒 C:数据重组实现的关键在于多源数据融合和数据集成 D:数据重组有利于实现新颖的数据模式创新 8、智慧城市的构建,不包含( C)。(单选题,本题2分) A:数字城市 B:物联网 C:联网监控 D:云计算 9、大数据的最显著特征是(A)。(单选题,本题2分) A:数据规模大 B:数据类型多样 C:数据处理速度快 D:数据价值密度高10、美国海军军官莫里通过对前人航海日志的分析,绘制了新的航海路线图,标明了大风与洋流可能发生的地点。这体现了大数据分析理念中的(B )。(单选题,本题2分) A:在数据基础上倾向于全体数据而不是抽样数据 B:在分析方法上更注重相关分析而不是因果分析 C:在分析效果上更追究效率而不是绝对精确 D:在数据规模上强调相对数据而不是绝对数据 11、下列关于舍恩伯格对大数据特点的说法中,错误的是(D)。(单选题,本题2分) A:数据规模大 B:数据类型多样 C:数据处理速度快 D:数据价值密度高12、当前社会中,最为突出的大数据环境是(A)。(单选题,本题2分) A:互联网 B:物联网 C:综合国力 D:自然资源 13、在数据生命周期管理实践中,( B)是执行方法。(单选题,本题2分) A:数据存储和备份规范 B:数据管理和维护 C:数据价值发觉和利用 D:数据应用开发和管理 14、下列关于网络用户行为的说法中,错误的是(C)。(单选题,本题2分) A:网络公司能够捕捉到用户在其网站上的所有行为 B:用户离散的交互痕迹能够为企业提升服务质量提供参考 C:数字轨迹用完即自动删除 D:用户的隐私安全很难得以规范保护 15、下列关于计算机存储容量单位的说法中,错误的是( C)。(单选题,本题2分) A:1KB<1MB<1GB B:基本单位是字节(Byte) C:一个汉字需要一个字节的存储空间 D:一个字节能够容纳一个英文字符, 16、下列关于聚类挖掘技术的说法中,错误的是(B)。(单选题,本题2分) A:不预先设定数据归类类目,完全根据数据本身性质将数据聚合成不同类别

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

《数据结构》第二章练习题 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仅有头结点的单循环链表

李春葆《数据结构教程》(第4版)课后习题-串(圣才出品)

第4章串 1.采用顺序结构存储串,编写一个实现串通配符匹配的算法pattern______index(),其中的通配符只有“?”,它可以和任一字符匹配成功,例如,pattern______index(″? re″,″there are″)返回的结果是2。 答:本题的基础是Brute—Force模式匹配算法,只是增加了“?”的处理功能。对应的算法如下: 2.有两个串s1和s2,设计一个算法求这样一个串,该串中的字符是s1和s2中的公共字符。 答:扫描s1,对于当前字符s1.data[i],若在s2中,则将其加入到串s3中。最后返回s3串。对应的算法如下:

3.设目标为t=’abcaabbabcabaacbacba’,模式p=’abcabaa’。(1)计算模式P的nextval函数值。 (2)不写算法,只画出利用KMP算法进行模式匹配时的每一趟匹配过程。答:(1)先计算next数组,在此基础上求nextval数组,如表4-1所示。 表4-1 计算next数组和nextval数组 (2)采用KMP算法求子串位置的过程如下(开始时i=0,j=0): 第1趟匹配: 此时i=4,j=4,匹配失败,而nextval[4]=0,则i=4,j=nextval[4]=0,即:

第2趟匹配: 此时i=6,j=2,匹配失败,而nextval[2]=0,则i=6,j=nextval[2]=0,即: 第3趟匹配: 此时i=6,j=0,匹配失败,而nextval[0]=-1,则i=6,j=nextval[0]=-1。因j=-1,执行i=i+1=7,j=j+1=0,即: 第4趟匹配: 此时i=14,j=7,匹配成功,返回v=i-t.1ength=14-7=7。 上机实验题4 实验题1编写一个程序algo4-1.cpp,实现顺序串的各种基本运算,并在此基础上设计一个程序exp4-1.cpp完成如下功能: (1)建立串s=″abcdefghefghijklmn″和串sl=″xyz″; (2)输出串s; (3)输出串s的长度;

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

数据结构试题及答案修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 ]元素的左孩子元素为________,右孩子元素为

2015年数据结构期末考试题及答案

2012年数据结构期末考试题及答案 一、选择题 1.在数据结构中,从逻辑上可以把数据结构分为C。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指A。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的A结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑A。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是D。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是C,算法分析的两个主要方面是A。 (1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2)。

s =0; for(I =0;i<n;i++) for(j=0;j<n;j++) s +=B[i][j]; sum =s ; 9.下面程序段的时间复杂度是O(n*m)。 for(i =0;i<n;i++) for(j=0;j<m;j++) A[i][j] =0; 10.下面程序段的时间复杂度是O(log3n)。 i =0; while(i<=n) i =i * 3; 11.在以下的叙述中,正确的是B。 A.线性表的顺序存储结构优于链表存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着B 。 A.数据元素具有同一特点 B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 13.链表不具备的特点是A。 A.可随机访问任一结点B.插入删除不需要移动元素 C.不必事先估计存储空间D.所需空间与其长度成正比 14.不带头结点的单链表head为空的判定条件是A。

数据结构考试题库含答案

数据结构习题集含答案 目录

选择题 第一章绪论 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、不好说 10.算法的时间复杂度取决于( C ) A 、问题的规模B、待处理数据的初始状态 C、问题的规模和待处理数据的初始状态 D、不好说 11.数据结构既研究数据的逻辑结构,又研究物理结构,这种观点(B )。 A、正确 B、错误 C、前半句对,后半句错 D、前半句错,后半句对 12.在数据结构中,从逻辑上可以把数据结构分成( C ) A、动态结构和静态结构 B、紧凑结构和非紧凑结构 C、线性结构和非线性结构 D、内部结构和外部结构 13.线性表的顺序存储结构是一种( )的存储结构,线性表的链式存储结构是一种( A ) 存储结构。 A、随机存取 B、顺序存取 C、索引存取 D、散列存取 14.*下列程序的时间复杂度是(A ) for (i=1; i<=n; ++i){ for (j=1; j<=n; ++j){ c [i][j]=0;

数据结构第2章 链表 练习题

1.1. 一元稀疏多项式的求导算法 写出一元稀疏多项式的求导算法,用带表头结点的单链表存储该一元稀疏多项式,Lb为头指针,用类C语言描述该求导算法,不另行开辟存储空间,删除无用结点,并分析算法的时间复杂度。该链表的数据结构如下: typedef struct LNode{ float coe; //系数 int exp; //指数 struct LNode *next; //指针 } LNode , *LinkList ; 求导算法如下: void Differential(LinkList &Lb) { //求导算法 pre=Lb; p=pre->next; while ( p ) { if ( p->exp != 0 )//指数不等于零 { p->coe = p->coe * p->exp ; p->exp = p->exp – 1 ; pre = pre->next ; } else//指数等于零 { pre->next = p->next ; free ( p ); } p = pre->next ; } } 时间复杂度为: O(n)

1.2. 单链表存储结构的排序算法 排序算法:将一组整数排序成非递减有序序列。用带头结点的单链表存储,L为头指针,用类C语言写出该排序算法,不另行开辟存储空间,并分析算法的时间复杂度。该单链表的数据结构如下: typedef struct LNode{ int data; //数据域 struct LNode *next; //指针域 } LNode , *LinkList ; void Sort(LinkList &L) { //排序算法如下:将L排序成非递减单链表 q=L; p=q->next->next; q->next->next=NULL; while(p) { While(q->next && p->data >= q->next->data) q=q->next; s=p->next; p->next=q->next; q->next=p; p=s; q=L; } }//sort

相关文档
相关文档 最新文档