数据结构练习

发布 2021-05-29 14:30:28 阅读 2461

第1章。

1.从逻辑上可以把数据结构分为。

a.动态结构、静态结构 b.顺序结构、链式结构。

c. 线性结构、非线性结构 d.初等结构、构造型结构。

2.关于算法的描述,不正确的是。

a. 算法最终必须由计算机程序实现。

b.所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界。

c. 健壮的算法不会因非法的输人数据而出现莫名其妙的状态。

d.算法的优劣与算法描述语言无关。

3.顺序存储结构中数据元素之间的逻辑关系是由( c)表示的,链接存储结构中。

的数据元素之间的逻辑关系是由( d )表示的。

a.线性结构 b.非线性结构 c.存储位置 d.指针。

4.假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲。

或母亲的遗产;子女间不能相互继承。则表示该遗产继承关系的最合适的数据结构应该。

是(b )。

a. 树 b.图 c. 线性表 d.集合。

5.算法指的是(a )。

a. 对特定问题求余步骤的一种描述,是指令的有限序列。

b.计算机程序。

c. 解决问题的计算方法。

d.数据处理。

6.下面(c )不是算法所必须具备的特性。

a.有穷性 b.确切性 c.高效性 d.可行性。

7. 算法分析的目的是( c ),算法分析的两个主要方面是(e)。

a. 找出数据结构的合理性 b.研究算法中输入和输出的关系。

c.分析算法的效率以求改进 d.分析算法的易读性和文档性。

e.空间性能和时间性能 f.正确性和简明性。

g.可读性和文档性 h.数据复杂性和程序复杂性。

8. 在决定选取何种存储结构时,一般不考虑(a)。

a. 各结点的值如何b.结点个数的多少。

c.对数据有哪些运算 d.所用编程语言实现这种结构是否方便。

9. 在存储数据时,通常不仅要存储各数据元素的值,而且还要存储(c)

a. 数据的处理方法 b.数据元素的类型。

c.数据元素之间的关系 d.数据的存储方法。

10.计算机算法指的是( )

a.计算机程序 b.排序方法 c.解决问题的步骤序列 d.计算方法。

11.( 是数据的不可分割的最小标识单位。

a.数据元素 b.数据项 c.数据对象 d.数据结构。

12.下列关于数据和逻辑结构的叙述中,哪一个是不正确的( )

a.数据的逻辑结构是数据间关系的描述

b.数据的逻辑结构抽象反映数据元素间的逻辑关系

c.数据的逻辑结构具体反映数据在计算机中的存储方式

d.数据的逻辑结构分为线性结构和非线性结构。

13.以下关于数据的存储结构的叙述中哪一条是正确的( )

a.数据的存储结构是数据间关系的抽象描述

b.数据的存储结构是逻辑结构在计算机存储器中的实现

c.数据的存储结构分为线性结构和非线性结构

d.数据的存储结构对数据运算的具体实现没有影响。

14.对同一个问题可以设计出求解它的不同算法,因此,通常从( )几个方面评价算法的质量。

a.可执行性、可移植性、可扩充性、可确定性 b.正确性、易读性、健壮性、高效率。

c.确定性、有穷性、稳定性、安全性d.易读性、稳定性、安全性、确定性。

15.程序段 for(i=0;ifor(j=1;j<=n;j++)

x++;其中 n为正整数,则语句x++执行了( )次。

c.3n d.2n

16.下面关于算法的描述不正确的是( )

a.算法的空间性能描述的是算法需要的存储量。

b.在相同的规模n下,复杂度o(n)的算法在时间上总是优于复杂度o(2n)的算法。

c.算法的易读性是指算法应易于阅读和理解。

d.同一个算法,实现语言的级别越高,执行效率就越低。

17.从逻辑上可以把数据结构分为( )两大类。

a.初等结构、构造型结构b.顺序结构、链式结构

c.线性结构、非线性结构d.动态结构、静态结构。

第2章。18.在单链表中,存储每个结点需要有两个域,一个是数据域,另一个是指针域,指针域指向该结点的(b)

a.直接前趋 b.直接后继 c.开始结点 d.终端结点。

19.将两个各有n个元素的有序表合并成一个有序表,其最少的比较次数为(a)

a.n b.2n-1 c.2n d.n2

20.线性表的顺序存储结构是一种( a )的存储结构,线性表的链接存储结构是一种( b )的存储结构。

a. 随机存取 b.顺序存取 c.索引存取 d.散列存取。

21.线性表采用链接存储时,其地址( )

a.必须是连续的 b.部分地址必须是连续的.

c.一定是不连续的 d.连续与否均可以。

22.循环单链表的主要优点是( b )。

a.不再需要头指针了。

b.从表中任一结点出发都能扫描到整个链表。

c. 已知某个结点的位置后,能够容易找到它的直接前趋。

d.在进行插入、删除操作时,能更好地保证链表不断开。

23.链表不具有的特点是( a )。

a.可随机访问任一元素 b.插入、删除不需要移动元素。

c. 不必事先估计存储空间 d.所需空间与线性表长度成正比。

24.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋,则采用(a)存储方法最节省时间。

a. 顺序表 b.单链表 c. 双链表 d.单循环链表。

25.若线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( d )存储方法最节省时间。

a.单链表 b.带头指针的单循环链表。

c.双链表 d.带尾指针的单循环链表。

26.若链表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用( b)存储方法最节省运算时间。

a.单链表 b.循环双链表。

c. 单循环链表 d.带尾指针的单循环链表。

27.在具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(b )。

a.0(1) b.o(n) c.o(n2) d.o(nlog2n)

28.对于n个元素组成的线性表,建立一个有序单链表的时间复杂度是( c )。

a.0(1) b.o(n) c.o(n2) d.o(nlog2n)

29.使用双链表存储线性表,其优点是可以( b)。

a.提高检索速度 b.更方便数据的插入和删除。

c.节约存储空间 d.很快**存储空间。

30.在一个单链表中,已知q所指结点是p所指结点的直接前驱,若在q和p之间插入s所指结点,则执行( b )操作。

a.s->next=p->next; p->next=s;

b. q->next=s;s->next=p;

c.p->next=s->next;s->next=p;

d.p->next=s;s->next=q;

31.带头结点的单链表head为空的判定条件是(b)

a. head=nullb. head->next=null

c. head->next=head d. head!=null

32.在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行(b)操作与链表的长度有关。

a. 删除单链表中的第1个元素b. 删除单链表的最后一个元素。

c. 在单链表的第一个元素前插入一个新元素 d. 在单链表的最后一个元素后插入一个新元素。

33.设线性表有n个元素,以下算法中,( a )在顺序表上实现比在链表上实现效率更高。

a.输出第i(0≤i≤n—1)个元素值。

b.交换第0个元素与第1个元素的值

c.顺序输出这n个元素的值。

d. 输出与给定值x相等的元素**性表中的序号。

34.设线性表中有2n个元素,算法( a ),在单链表上实现要比在顺序表上实现效率更高。

a. 删除所有值为x的元素。

b.在最后一个元素的后面插入一个新元素。

c.顺序输出前k个元素。

d.交换第i个元素和第2n-i-1个元素的值(i=o,1,…,n-1)

35.与单链表相比,双链表的优点之一是( d )。

a. 插入、删除操作更简单b.可以进行随机访问。

c.可以省略表头指针或表尾指针 d.顺序访问相邻结点更灵活。

36.线性结构是n个( )的有限序列(n≥0)。

a.表元素 b.字符 c.结点 d.数据项

37.下列关于线性结构的说法不正确的是( )

a.线性结构的特点是每个元素都有一个前驱和一个后继。

b.**性结构中,结点间的逻辑关系是1对1的。

c.线性结构中的一个结点代表一个数据元素。

d.同一个线性结构中的所有结点所代表的数据元素具有相同的特性。

38.下列序列属于线性表的是( )

a.(1,2,3,…)b.(1,a+1,2,b+2,3,c+3) c.(1,2,3,…,100) d.

39.下述哪一条是顺序表的优点?(

a.存储密度大 b.插入运算方便 c.删除运算方便 d.可用于各种逻辑结构的存储表示。

40.下面关于线性表的叙述中不正确的是( )

a.线性表采用顺序存储,必须占用一片连续的存储单元。

b.线性表采用顺序存储,便于进行插入和删除操作。

c.线性表采用链接存储,不必占用一片连续的存储单元。

d.线性表采用链接存储,便于插入和删除操作。

41.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。

a.单链表 b.单循环链表 c.带尾指针的单循环链表 d.带头结点的双循环链表。

42.若长度为n的线性表采用顺序存储结构,在其第i(1<=i<=n+1)个位置插入一个新结点x的算法的时间复杂度为( )

43.若长度为n的线性表采用链式存储结构,则访问第i个元素的算法的时间复杂度为( )

44.在一个以head为头指针的非空循环单链表中,尾结点指针p满足( )

null 45.对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )

46.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:(

47.线性表采用链式存储时,其元素地址( )

a.必须是连续的b.一定是不连续的。

c.部分地址是连续的 d.连续与否均可。

第 3 章。

48.栈的特点是(a),队列的特点是(b)

a.先进后出 b.先进先出 c.既能先进先出,也能先进后出。

49.栈和队列共同具有的特点是(c)

a.都是先进后出 b.都是先进先出。

c.只允许在端点进行操作运算 d.既能先进先出,也能先进后出。

50.若用一个有6个单元的数组来实现循环队列,rear和front的初值分别为0和3。则从队列中删除一个元素,再添加两个元素后,rear和front的值分别为(c)

a.1和5 b.2和4 c.4和2 d.5和1

51.若一个栈的输入序列是1,2,3,…,n,输出序列的第一个元素是n,则第i个输出元素是( d )。

a.不确定 b.n—i c.n—i一1 d.n—i+1

52.设栈s和队列q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈s,一个元素出栈后即进入队列q,若6个元素出列的顺序是e2,e4,e3,e6,e5,e1,则栈s的容量至少应该是( c)。

a.6 b.4 c.3 d.2

53.一个栈的人栈序列是1,2,3,4,5,则栈的不可能的输出序列是( c )。

a.54321 b.45321 c.43512 d.12345

54.一个队列的入队顺序是1,2,3,4,则队列的输出顺序是( b )。

a.4321 b.1234 c.1432 d.3241

55.栈和队的主要区别在于( d )。

a. 它们的逻辑结构不一样 b.它们的存储结构不一样。

c.所包含的运算不一样 d.插人、删除运算的限定不一样。

56.如果以链表作为栈的存储结构,则退栈操作时( )

a.必须判别栈是否满 b.判别栈元素的类型。

c.必须判别栈是否空 d.对栈不作任何判别。

57.设c语言数组data[m+1)作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( )

a.front=front+1 b.front=(front+1)%m

c.rear=(rear+1)%m d. front=(front+1)%(m十1)

58.数组a[0..5][0..5]的每个元素占5个字节,将其以列为主序存储在起始地址为1000的内存单元中,则元素a[5][5]的地址是()

a.1175 b.1180 c.1205 d.1210

59.将数组称为随机存取结构是因为( b )。

a.数组元素是随机的b.对数组任一元素的存取时间是相等的。

c.随时可以对数组进行访问 d.数组的存储结构是不定的。

60.对特殊矩阵采用压缩存储的目的主要是为了( d )。

a.表达变得简单 b.对矩阵元素的存取变得简单。

c.去掉矩阵中的多余元素 d.减少不必要的存储空间。

61.下面( c )不属于特殊矩阵。

a.对角矩阵 b.三角矩阵 c. 稀疏矩阵 d.对称矩阵。

62.向一个栈顶指针为head的链栈中插入一个指针s所指结点时,则执行(d)。

a. head->next=sb. s->next=head->next; head->next=s;

c. s->next=head; head=sd. s->next=head; head=head->next;

63.设用数组data[0 ..m-1)作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则当前队列中的元素个数是( a )。

a.(rear-front+m)%mb.rear-front+1

c.rear-front-1d. rear-front

64.用单链表存储一个栈时,栈顶指针在链表的(a)位置。

a. 链头 b. 链尾 c. 链心 d. 链的任何位置。

65.用单链表存储一个队列时,对头指针在链表的(b)位置。

a. 链头 b. 链尾 c. 链心 d. 链的任何位置。

66.栈修改的原则是( )

数据结构练习

一 选择题 1 若长度为n的线性表采用顺序存储结构,删除它的第i数据元素之前,需要先依次向前移动 个数据元素。a 2.在单链表中,已知q指的结点是p指的结点的直接前驱结点,若在q和p指的结点之间插入一个由s指的结点,则需执行b a.q next p s next p b.s next p q nex...

数据结构练习

一 选择题。1 广度优先遍历的含义是 从图中某个顶点v出发,在访问了v之后依次访问v的各个未被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,且 先被访问的顶点的邻接点 先于 后被访问的顶点的邻接点 被访问,直至图中所有已被访问的顶点的邻接点都被访问到是下图的广度优先遍历序列。a.1 ...

数据结构练习

1 数据结构中,与所使用的计算机无关的是。a.存储结构 b.物理结构 c.逻辑结构 d.物理和存储结构。2 在存储数据时,通常不仅要存储各数据元素的值,还要存储。a 数据的处理方法b 数据元素的类型。c 数据元素之间的关系 d 数据的存储方法。3 算法分析的目的。4 如果对线性表的操作只有两种,即删...