数据结构基础知识题库.docx

上传人:b****6 文档编号:4433530 上传时间:2022-12-01 格式:DOCX 页数:30 大小:25.07KB
下载 相关 举报
数据结构基础知识题库.docx_第1页
第1页 / 共30页
数据结构基础知识题库.docx_第2页
第2页 / 共30页
数据结构基础知识题库.docx_第3页
第3页 / 共30页
数据结构基础知识题库.docx_第4页
第4页 / 共30页
数据结构基础知识题库.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数据结构基础知识题库.docx

《数据结构基础知识题库.docx》由会员分享,可在线阅读,更多相关《数据结构基础知识题库.docx(30页珍藏版)》请在冰豆网上搜索。

数据结构基础知识题库.docx

数据结构基础知识题库

数据结构基础知识题库

1.()是性质相同的数据元素的集合,是数据的子集。

[单选题]

A.数据元素

B.数据对象(正确答案)

C.数据结构

D.数据项

2.把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。

[单选题]

A.物理结构(正确答案)

B.逻辑结构

C.算法的具体实现

D.给相关变量分配存储单元

3.从n个数中选取最大元素()。

[单选题]

A.基本操作是数据元素间的交换

B.算法的时间复杂度是O(n2)

C.算法的时间复杂度是O(n)(正确答案)

D.需要进行(n+1)次数据元素间的比较

4.数据的()结构与所使用的计算机无关。

[单选题]

A.逻辑(正确答案)

B.物理

C.存储

D.逻辑与存储

5.数据的物理结构()。

[单选题]

A.与数据的逻辑结构无关

B.仅仅包括数据元素的表示

C.只包括数据元素间关系的表示

D.包括数据元素的表示和关系的表示(正确答案)

6.数据结构中,与所使用的计算机无关的是数据的()结构。

[单选题]

A.物理

B.存储

C.逻辑与物理

D.逻辑(正确答案)

7.数据元素是数据的基本单位,它()。

[单选题]

A.只能有一个数据项组成

B.至少有二个数据项组成

C.可以是一个数据项也可以由若干个数据项组成(正确答案)

D.至少有一个数据项为指针类型

8.算法的时间复杂度与()有关。

[单选题]

A.所使用的计算机

B.计算机的操作系统

C.算法本身(正确答案)

D.数据结构

9.同一种逻辑结构()。

[单选题]

A.只能有唯一的存储结构

B.可以有不同的存储结构(正确答案)

C.只能表示某一种数据元素之间的关系

D.以上三种说法均不正确

10.线性结构中数据元素的位置之间存在()的关系。

[单选题]

A.一对一(正确答案)

B.一对多

C.多对多

D.每一个元素都有一个直接前驱和一个直接后继

11.树形结构中数据元素的位置之间存在()的关系。

[单选题]

A.一对一

B.一对多(正确答案)

C.多对多

D.每一个元素都有一个直接前驱和一个直接后继

12.图形结构中数据元素的位置之间存在()的关系。

[单选题]

A.一对一

B.一对多

C.多对多(正确答案)

D.每一个元素都有一个直接前驱和一个直接后继

13.以下特征中,()不是算法的特性。

[单选题]

A.有穷性

B.确定性

C.有效性

D.有0个或多个输出(正确答案)

14.某算法的时间复杂度为O(n),表明该算法的()[单选题]

A.问题规模为n

B.执行时间等于n

C.执行的时间与n成正比(正确答案)

D.问题规模与n成正比

15.以下算法的时间复杂度为()。

voidfun(intn){intj=0;for(i=1;i<=n;i++)j=j+i;}[单选题]

A.O(n)(正确答案)

B.O(n2)

C.O(nlog2n)

D.O(log2n)

16.以下算法的时间复杂度为()。

voidfun(intn){intsum=0;for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)sum+=j*i;}[单选题]

A.O(n)

B.O(n2)(正确答案)

C.O(nlog2n)

D.O(log2n)

17.线性表是有n个()的有限序列。

[单选题]

A.数据表

B.字符

C.数据元素(正确答案)

D.数据项

18.线性表是一个()。

[单选题]

A.有限序列,可以为空(正确答案)

B.有限序列,不可以为空

C.无限序列,可以为空

D.无限序列,不可以为空

19.以下()是一个线性表。

[单选题]

A.由n个实数组成的集合

B.由100个字符组成的序列(正确答案)

C.由所有整数组成的序列

D.所有奇数组成的序列

20.在线性表中,除了开始元素外,每个元素()。

[单选题]

A.只有唯一的前驱元素(正确答案)

B.只有唯一的后即元素字符

C.有多个前驱元素

D.有多个后继元素

21.顺序表的最大有优点是()。

[单选题]

A.存储密度大(正确答案)

B.插入运算方便

C.删除运算方便

D.可以方便地用于各种逻辑的存储表示

22.对于顺序表,访问编号为i的元素的时间复杂度为()。

[单选题]

A.O(n)

B.O

(1)(正确答案)

C.O(nlog2n)

D.O(log2n)

23.对于顺序表,在编号为i处插入一个新元素的间复杂度为()。

[单选题]

A.O(n)(正确答案)

B.O

(1)

C.O(nlog2n)

D.O(log2n)

24.采用顺序查找法对长度为n的线性表进行查找(不采用表尾设监视哨的方法),最坏的情况下要进行()次元素间的比较。

[单选题]

A.n+2

B.n(正确答案)

C.n-1

D.n/2

25.带头结点的单向链表的头指针为head,该链表为空的判定条件是()的值为真。

[单选题]

A.head==NULL

B.head.getNext()==head

C.head.getNext()==NULL(正确答案)

D.head==head.getNext()

26.非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。

[单选题]

A.p.getNext()==NULL

B.p==NULL

C.p.getNext()==head(正确答案)

D.p==head

27.链表所具备的特点是()。

[单选题]

A.可以随机访问任一结点

B.占用连续的存储空间

C.可以通过下标对链表进行直接访问

D.插入删除元素的操作不需要移动元素结点(正确答案)

28.设链表中的结点是Node类型的类,且有Nodep;为了申请一个新结点,并由p指向该结点,可用以下Java语句()。

[单选题]

A.p=newNode();(正确答案)

B.p=newNode(*);

C.p=(NODE)malloc(sizeof(p));

D.p=(NODE*)malloc(sizeof(p));

29.设顺序存储的线性表长度为n,对于插入操作,设插入位置是等概率的,则插入一个元素平均移动元素的次数为()。

[单选题]

A.n/2(正确答案)

B.n

C.n-1

D.n-i+1

30.设顺序存储的线性表长度为n,对于删除操作,设删除位置是等概率的,则删除一个元素平均移动元素的次数为()。

[单选题]

A.(n-1)/2(正确答案)

B.n

C.2n

D.n-i

31.设顺序存储的线性表长度为n,要删除第i(0<=i<=n-1)个元素,按课本的算法,当i=()时,移动元素的次数为3。

[单选题]

A.3

B.n/2

C.n-4(正确答案)

D.4

32.设顺序存储的线性长度为n,要在第i(0<=i<=n)个元素之前插入一个新元素,按课本的算法当i=()时,移动元素次数为2。

[单选题]

A.n/2

B.n

C.1

D.n-2(正确答案)

33.设有一个长度为n的顺序表,要删除第i(0<=i<=n-1)个元素,按照课本算法,需移动元素的个数为()。

[单选题]

A.n-i+1

B.n-i

C.n-i-1(正确答案)

D.i

34.下述各线性结构中可以随机访问的是()。

[单选题]

A.单向链表

B.双向链表

C.单向循环链表

D.顺序表(正确答案)

35.线性表采用链式存储时,其地址()。

[单选题]

A.一定是不连续的

B.必须是连续的

C.可以连续也可以不连续(正确答案)

D.部分地址必须是连续的

36.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用的语句是()。

[单选题]

A.p=q.getNext();

B.p.setNext(q);

C.p.setNext(q.getNext());(正确答案)

D.q.setNext(NULL);

37.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。

[单选题]

A.p.setNext(s);s.setNext(p.getNext());

B.p,setNext(s.getNext());

C.p=s.getNext();

D.s.setNext(p.getNext());p.setNext(s);(正确答案)

38.按照教材算法,在一个长度为n的顺序表中为了删除第5个元素,从前到后依次移动了15个元素。

则原顺序表的长度为()。

[单选题]

A.21

B.20(正确答案)

C.19

D.25

39.针对线性表,在存储后如果最常用的操作是取第i个结点及其前驱,则采用()存储方式最节省时间。

[单选题]

A.单链表

B.双链表

C.顺序表(正确答案)

D.单循环链表

40.假设在顺序表中,每一个数据元素所占的存储单元的数目为4,且第一个数据元素的存储地址为100,则位序号是7的数据元素的存储地址是:

()。

[单选题]

A.106

B.107

C.124

D.128(正确答案)

41.队列的插入操作在()进行。

[单选题]

A.队头

B.队尾(正确答案)

C.队头或队尾

D.在任意指定位置

42.队列的删除操作在()进行。

[单选题]

A.队头(正确答案)

B.队尾

C.队头或队尾

D.在任意指定位置

43.栈的插入操作在()进行。

[单选题]

A.栈顶(正确答案)

B.栈底

C.栈顶或栈底

D.在任意指定位置

44.一个队列的入队序列是2,4,6,8,则队列的输出序列是()。

[单选题]

A.8,6,4,2

B.2,4,6,8(正确答案)

C.4,2,8,6

D.6,4,2,8

45.一个队列的入队序列是5,6,7,8,则队列的输出序列是()。

[单选题]

A.5678(正确答案)

B.8765

C.7865

D.可能有多种情况

46.一个栈的进栈序列是1,2,3,4,则不可能的出栈序列是()(进出栈操作可以交替进行)。

[单选题]

A.3,2,4,1

B.1,4,2,3(正确答案)

C.4,3,2,1

D.3,2,1,4

47.一个栈的进栈序列是5,6,7,8,则栈的不可能的出栈序列是()(进出栈操作可以交替进行)[单选题]

A.5,8,6,7(正确答案)

B.7,6,8,5

C.8,7,6,5

C.7,6,8,5

48.一个栈的进栈序列是a,b,c,d,e,则栈的不可能输出序列是()(进栈出栈可以交替进行)。

[单选题]

A.dceab(正确答案)

B.edcba

C.decba

D.abcde

49.以下说法不正确的是()。

[单选题]

A.顺序栈中,栈满时再进行进栈操作称为“上溢”

B.顺序栈中,栈空时再作出栈栈操作称为“下溢”

C.顺序队列中,当尾指针已经超越队列存储空间的上界,则一定是队列已满(正确答案)

D.顺序队列中,队列的头指针和尾指针均超越队列存储空间的上界,则队列已空

50.以下说法不正确的是()。

[单选题]

A.栈的特点是后进先出

B.队列的特点是先进先出

C.栈的删除操作在栈底进行,插入操作在栈顶进行(正确答案)

D.队列的插入操作在队尾进行,删除操作在队头进行

51.以下说法正确的是()。

[单选题]

A.栈的特点是先进先出,队列的特点是先进后出

B.栈和队列的特点都是先进后出

C.栈的特点是先进后出,队列的特点是先进先出D.栈和队列的特点都是先进先出(正确答案)

52.以下说法正确的是()。

[单选题]

A.栈的特点是先进先出,队列的特点是先进后出

B.栈和队列的特点都是先进后出

C.栈的特点是先进后出,队列的特点是先进先出D.栈和队列的特点都是先进先出(正确答案)

53.元素2,4,6,8按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。

[单选题]

A.8,6,4,2

B.2,4,6,8

C.4,2,8,6

D.8,6,2,4(正确答案)

54.元素2,4,6按顺序依次进栈,则该栈的不可能的输出序列是()。

[单选题]

A.642

B.624(正确答案)

C.426

D.264

55.栈的插入删除操作在()进行。

[单选题]

A.栈底

B.任意位置

C.指定位置

D.栈顶(正确答案)

56.栈和队列的相同点是()。

[单选题]

A.都是后进先出

B.都是后进后出

C.逻辑结构与线性表不同

D.逻辑结构与线性表相同,都是操作规则受到限制的线性表(正确答案)

57.从一个栈顶指针为top的链栈中插入一个由P指向的新结点时,则执行的操作是()。

[单选题]

A.p.setNext(top);top=p;(正确答案)

B.top=p;p.setNext(top);

C.top.setNext(p);top=p;

D.top.setNext(p);p=top;

58.设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则出栈操作为()。

[单选题]

A.x=top.getData();top=top.getNext();(正确答案)

B.top=top.getNext();x=top.getData();

C.x=top.getNext();top=top.getData();

D.top.setNext(top);x=top.getData();

59.设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:

p=front.next;x=p.data;然后执行()。

[单选题]

A.front=p.next;

B.Front.next=p.next;(正确答案)

C.front=p;

D.Front.next=p;

60.设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。

设p指向要入队的新结点(该结点已被赋值),则入队操作为()。

[单选题]

A.Rear.next=p;rear=p;(正确答案)

B.Rear.next=p;p=rear;

C.p=rear.next;rear=p;

D.rear=p;rear.next=p;A

61.在一个链队列中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为()。

[单选题]

A.f.setNext(s);f=s;

B.r.setNext(s);r=s;(正确答案)

C.s.setNext(r);r=s;

D.s.setNext(f);f=s;

62.在一个链队列中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。

[单选题]

A.r=f.getNext();

B.r=r.getNext();

C.f=r.getNext();

D.f=f.getNext();(正确答案)

63.在一个循环队列中,队列的空间大小为length,设对头指针为front,队尾指针为rear,按照教材采用减少一个存储元素的方法,以下那个能判断队列已满。

()[单选题]

A.(rear+1)%length==front;(正确答案)

B.rear==front;

C.rear%length==front;

D.(rear-1)%length==front;

64.若一个栈用数组data[1..n]存储,初始栈顶指针top为n,则如元素x进栈的正确操作是:

()[单选题]

A.top++;data[top]=x;

B.data[top]=x;top++;

C.top--;data[top]=x;

D.data[top]=x;top--;(正确答案)

65.为解决计算机主机与打印机之间速度不匹配问题,通常设计打印机数据缓冲区,主机将输出的数据依次写入缓冲区,而打印机依次从该缓冲区中取出数据。

该缓冲区的逻辑结构应该是:

()[单选题]

A.栈

B.队列(正确答案)

C.树

D.图

66.串方法concat(str)的功能是进行串()。

[单选题]

A.比较

B.复制

C.赋值

D.连接(正确答案)

67.串函数s=“Hello”;s.indexOf(“e”,0)的值为()。

[单选题]

A.1(正确答案)

B.0

C.“He”

D.“e”

68.空串的长度为()。

[单选题]

A.0(正确答案)

B.1

C.2

D.3

69.以下陈述中正确的是()。

[单选题]

A.串是一种特殊的线性表(正确答案)

B.串的长度必须大于零

C.串中元素只能是字母

D.空串就是空白串

70.设有两个串p和q,其中q是p的子串,q在p中首次出现的位置的算法称为()。

[单选题]

A.求子串

B.连接

C.匹配(正确答案)

D.求串长

71.串是()。

[单选题]

A.不少于一个字母的序列

B.任意个字母的序列

C.不少于一个字符的序列

D.有限个字符的序列(正确答案)

72.串的长度是指()。

[单选题]

A.串中所含不同字母的个数

B.串中所含字符的个数(正确答案)

C.串中所含不同字符的个数

D.串中所含非空格字符的个数

73.若串S=“English”,其子串的个数是()。

[单选题]

A.9

B.16

C.36

D.29(正确答案)

74.下面关于串的叙述中,不正确的是()。

[单选题]

A.串是字符的有限序列

B.空串是由空格构成的串(正确答案)

C.模式匹配是串的一种重要运算

D.串即可以采用顺序存储,也可以采用链式存储

75.串与普通的线性表相比较,它的特殊性体现在()。

[单选题]

A.顺序的存储结构

B.链接的存储结构

C.数据元素是一个字符(正确答案)

D.数据元素可以任意

76.空串与空格串()。

[单选题]

A.相同

B.不相同(正确答案)

C.可能相同

D.无法确定

77.两个字符串相等的条件是()。

[单选题]

A.两串的长度相等

B.两串包含的字符相同

C.两串的长度相等,并且两串包含的字符相同

D.两串的长度相等,并且对应位置上的字符相同(正确答案)

78.在实际应用中,要输入多个字符串,且长度无法预定。

则应该采用()存储比较合适。

[单选题]

A.链式(正确答案)

B.顺序

C.堆结构

D.无法确定

79.设有一个10阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主存储到一维数组B中(数组下标从0开始),则矩阵中元素A[8][5]在一维数组B中的下标是()。

[单选题]

A.33

B.32

C.85

D.41(正确答案)

80.设有一个10阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中。

(矩阵A的第一个元素为A[0][0],数组b的下标从0开始),则矩阵元素A[5][3]对应一维数组b的数组元素是()。

[单选题]

A.b[18](正确答案)

B.b[8]

C.b[13]

D.b[10]

81.设有一个12阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中(矩阵A的第一个元素为A[0][0],数组b的下标从0开始),则矩阵A中第4行的元素在数组b中的下标i一定有()。

[单选题]

A.7≤i≤10

B.11≤i≤15

C.10≤i≤14(正确答案)

D.6≤i≤9

82.设有一个15阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从0开始),则矩阵中元素a7,6在一维数组B中的下标是()。

[单选题]

A.42(正确答案)

B.13

C.27

D.34

83.设有一个15阶的对称矩阵A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组b中。

(矩阵A的第一个元素为a1,1,数组b的下标从1开始),则数组元素b[13]对应A的矩阵元素是()。

[单选题]

A.a5,3(正确答案)

B.a6,4

C.a7,2

D.a6,8

84.设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(矩阵A的第一个元素为a1,1,数组下标从1开始),则矩阵中元素a9,2在一维数组B中的下标是()。

[单选题]

A.41

B.32

C.18

D.38(正确答案)

85.设有一个20阶的对称矩阵A,采用压缩存储方式,将其下三角部分以行序为主序存储到一维数组中(矩阵A的第一个元素为a11,数组b的下标从1开始),则矩阵元素a8,5在一维数组b中的下标是()。

[单选题]

A.30

B.28

C.40

D.33(正确答案)

86.在Java语言中,利用数组a存放字符串“Hello”,以下语句中正确的是()。

[单选题]

A.Chara[10]=“Hello”;

B.Chara[10];a=“Hello”;

C.Chara[10]=‘Hello’;

D.Chara[]={‘H’,’e’,’l’,’l’,’o’};(正确答案)

87.对二叉排序树进行()遍历,遍历所得到的序列是有序序列。

[单选题]

A.按层次

B.前序

C.中序(正确答案)

D.后序

88.深度为5的完全二叉树第5层上有4个结点,该树一共有()个结点。

[单选题]

A.28

B.30

C.31

D.19(正确答案)

89.深度为5的完全二叉树共有20个结点,则第5层上有()个结点(根所在结点为第一层)。

[单选题]

A.3

B.8

C.5(正确答案)

D.6

90.一棵哈夫曼树共有n个非叶结点,则该树一共有()个结点。

[单选题]

A.2*n-1

B.2*n+1(正确答案)

C.2*n

D.2*(n-1)

91.一棵哈夫曼树共有n个非叶结点,则该树有()个叶结点。

[单选题]

A.n

B.n+1(正确答案)

C.n-1

D.2n

92.一棵哈夫曼树共有n个叶结点,则该树有()个非叶结点。

[单选题]

A.n-1(正确答案)

B.n

C.n+1

D.2n

93.一棵哈夫曼树有n个叶子结点(终端结点),该树总共有()个结点。

[单选题]

A.2n-2

B.2n-1(正确答案)

C.2n

D.2n+2

94.一棵哈夫曼树总共有23个结点,该树共有()个叶结点(终端结点)。

[单选题]

A.10

B.13

C.11

D.12(正确答案)

95.一棵完全二叉树共

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1