This repository has been archived by the owner on Jul 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
数据结构-学习通-单元测试.cpp
2380 lines (1945 loc) · 53.8 KB
/
数据结构-学习通-单元测试.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//第一章
/*
1【单选题】
( )是性质相同的数据元素的集合。
A、数据 B、数据对象 C、数据结构 D、数据项
正确答案: B
2【单选题】
算法的时间复杂度取决于
A、问题的规模
B、待处理的数据初态
C、问题的难度
D、A和B
正确答案: D
3【单选题】
数据在计算机内存中的表示是指
A、数据的存储结构
B、数据结构
C、数据的逻辑结构
D、数据元素之间的关系
正确答案: A
4【单选题】
算法指的是
A、程序
B、解决问题的计算方法
C、操作
D、解决问题的有限运算序列
正确答案: D
5【单选题】
算法能正确地实现预定功能的特性称为算法的
A、易读性
B、正确性
C、健壮性
D、高效性
正确答案: B
6【单选题】
数据的基本单位是
A、结点
B、数据类型
C、数据元素
D、数据项
正确答案: C
7【单选题】
下面算法的时间复杂度是
int p1( int n)
{
t = 1;
while( t <= n)
t *= 2;
return t;
}
A、O(log2n) 注:2是底
B、O(n)
C、O(n^2)
D、O(2n)
正确答案: A
8【单选题】
数据对象是指( )。
A、描述客观事物且由计算机处理的数值,字符等符号的总称
B、数据的基本单位
C、性质相同的数据元素的集合
D、相互之间存在一种或多种特定关系的数据元素的集合
正确答案: C
9【单选题】
数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( )和运算的学科。
A、程序 B、关系 C、运算 D、算法
正确答案: B
10【单选题】
数据结构被形式定义为(D,S),其中S是D上的________有限集合。
A、关系 B、映象 C、操作 D、存储
正确答案: A
11【单选题】
数据结构被形式定义为(D,S),其中D是________的有限集合。
A、数据操作 B、算法 C、逻辑关系 D、数据元素
正确答案: D
12【单选题】
数据结构通常研究数据的( )及运算。
A、物理结构和逻辑结构
B、存储和抽象
C、理想和抽象
D、理想与逻辑
正确答案: A
13【单选题】
数据结构中,在逻辑上可以把数据结构分成( )。
A、动态结构和静态结构
B、紧凑结构和非紧凑结构
C、线性结构和非线性结构
D、内部结构和外部结构
正确答案: C
14【单选题】
数据结构中,与计算机无关的是数据的()结构。
A、存储 B、物理 C、逻辑 D、物理和存储
正确答案: C
15【单选题】
算法分析的目的是()。
A、找出算法的合理性
B、研究算法的输入和输出关系
C、分析算法的有效性以求改进
D、分析算法的易懂性
正确答案: C
16【单选题】
计算机算法指的是:()
A、解决问题的计算方法
B、排序方法
C、解决问题的有限运算序列
D、计算机程序
正确答案: C
17【单选题】
计算机算法具备输入、输出和()五个特性。
A、可行性、可移植性和可扩充性
B、可行性、确定性和有穷性
C、确定性、有穷性和稳定性
D、易读性、稳定性和安全性
正确答案: B
18【单选题】
若f(n)=3n^2+2n+1, 则f(n)= ( )。
A、O(n)
B、O(n^2)
C、O(2n)
D、O(3n^2)
正确答案: B
19【单选题】
算法分析的两个主要方面是:( )
A、空间复杂性和时间复杂性
B、正确性和简明性
C、可读性和文档性
D、数据复杂性和程序复杂性/p>
正确答案: A
20【单选题】
下面程序段的时间复杂度是:( )。
for(i=1;i<=m;++i)
for(j=2;j<=m;++j)
{
++x;
a{i,j}=x;
}
A、O(m2)
B、O(m3)
C、O(2m)
D、O(m)
正确答案: A
21【单选题】
( )是性质相同的数据元素的集合。
A、数据
B、数据对象
C、数据结构
D、数据项
正确答案: B
22
【单选题】
下面程序段中带下划线的语句的执行次数的数量级是:( )。
i=1;
while(i<n)
i=i*2;
A、O (log2n2)
B、O (log2n)
C、O(2n)
D、O(n)
正确答案: B
23【单选题】
在数据结构中,数据的基本单位是:()
A、数据项
B、数据元素
C、数据对象
D、数据文件
正确答案: B
24【单选题】
数据结构是:()
A、一种数据类型
B、数据的存储结构
C、一组性质相同的数据元素的集合
D、相互之间存在一种或多种特定关系的数据元素的集合
正确答案: D
25【单选题】
某算法的语句执行频度为(3n+nlogn+n^2+8),其时间复杂度表示________。
A、O(nlogn)
B、O(logn)
C、O(n)
D、O(n^2)
正确答案: D
26【单选题】
下面程序段的时间复杂度为________。
i=1;
while(i<=n)
i=i*3;
A、O(log3n) 注:此处是以3为底(3在下角标)
B、O(n)
C、O(n^3)
D、O(3n)
正确答案: A
27【单选题】
程序段:
for( i=n-1;i>1;i--)
for(j=1;j<i;j++)
if(a[j]>a[j+1])
a[j]与a[j+1]对换;
其中 n为正整数,则最后一行的语句频度在最坏情况下是________。
A、O(n^2)
B、O(nlog2n) 注:此处是以2为底
C、O(n)
D、O(n^3)
正确答案: A
28【单选题】
算法分析的两个主要方面是:( )
A、空间复杂性和时间复杂性
B、正确性和简明性
C、可读性和文档性
D、数据复杂性和程序复杂性
正确答案: A
29【单选题】
在下面的程序段中,对x的赋值语句的频度为________。
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
x=x+1;
A、O(log2n ) 注:此处是以2为底
B、O(n)
C、O(n^2)
D、O(2n)
正确答案: C
30【单选题】以下叙述正确的是________。
A、数据元素是数据的最小单位
B、数据结构是带有结构的数据元素的集合
C、数据项是数据的基本单位
D、数据结构是带有结构的各数据项的集合
正确答案: B
31【单选题】计算算法的时间复杂度是属于一种( )。
A、事前统计的方法
B、事前分析估算的方法
C、事后统计的方法
D、事后分析估算的方法
正确答案: B
32【单选题】线性表若采用链表存储结构时,要求内存中可用存储单元的地址________。
A、部分地址必须是连续的
B、连续不连续都可以
C、一定是不连续的
D、必须是连续的
正确答案: B
33【单选题】当n足够大时下述函数中渐近时间最小的是( )
A、T(n)=nlog2(n)-1000log2(n)
B、T(n)=nlog2(3)-1000log2(n)
C、T(n)=n^2-1000log2(n)
D、T(n)=2nlog2(n)-1000log2(n)
正确答案: B
34【单选题】某算法的时间复杂度为O(n^2),表明该算法的( )
A、问题规模是n^2
B、执行时间等于n^2
C、执行时间与n^2成正比
D、问题规模与n^2成正比
正确答案: C
35【单选题】通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是________。
A、健壮性当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果
B、正确性算法应能正确地实现预定的功能
C、易读性算法应易于阅读和理解,以便调试、修改和扩充
D、高效性即达到所需要的时间性能
正确答案: D
36【单选题】算法能正确的实现预定功能的特性为算法的________。
A、高效性
B、健壮性
C、正确性
D、易读性
正确答案: C
37【单选题】算法的时间复杂度取决于________。
A、问题的规模
B、待处理数据的初态
C、不是问题的规模也不是待处理数据的初态
D、问题的规模和待处理数据的初态
正确答案: D
38【单选题】算法的计算量的大小称为计算的________。
A、复杂性
B、难度
C、现实性
D、效率
正确答案: A
39【单选题】数据在计算机内存中的表示是指________。
A、数据元素之间的关系
B、数据的存储结构
C、数据结构
D、数据的逻辑结构
正确答案: B
40【单选题】设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},
r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<06,01>},则数据结构A是________。
A、线性结构
B、图型结构
C、物理结构
D、树型结构
正确答案: B
41【单选题】根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式。以下解释错误的是________。
A、线性结构中结点按逻辑关系依次排列形成一条"锁链"
B、图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接
C、树形结构具有分支、层次特性,其形态有点像自然界中的树
D、集合中任何两个结点之间都有逻辑关系但组织形式松散
正确答案: D
42【判断题】
数据元素是数据的最小单位。
正确答案:×
43【判断题】
数据结构是带有结构的数据元素的集合。
正确答案:√
44【判断题】
数据项是数据的基本单位。
正确答案:×
45【判断题】
数据是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,数据是对能够有效的输入到计算机中并且能够被计算机处理的符号的总称。
正确答案:√
46【判断题】
线性表的逻辑顺序和存储顺序总是一致的。
正确答案:×
47【判断题】
数据的物理结构是指数据在计算机中实际的存储形式。
正确答案:√
48【判断题】
具有存取任一元素的时间相等这一特点的存储结构称为随机存取结构。
正确答案:√
49【判断题】
算法的确定性是指算法中的每一个步骤必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。并且,在任何条件下,算法只能有惟一的一条执行路径,即只要输人是相同的就只能得到相同的输出结果。
正确答案:√
50【判断题】
算法的可行性又称为算法的能行性,是指算法中描述的操作是可以通过已经实现的基本运算执行有限_次来实现,即算法的具体实现应该能够被计算机执行。
正确答案:√
51【判断题】
算法可以用不同的语言描述,如果用C语言或Java语言等高级语言描述,则算法实际上就是程序了。
正确答案:×
52【判断题】
空间复杂度(Space?ComPlexity)也是度量一个算法好坏的标准,它所描述的是算法在运行过程中所占用存储空间的大小。
正确答案:√
53【判断题】
算法分析是对一种算法所消耗的计算机资源的估算,其中包括计算机运行时间的长短和所占据空间的大小。
正确答案:√
54【判断题】
算法是对特定问题求解步骤的一种描述,是指令的无限序列。
正确答案:×
55【判断题】
通常设计一个“好”的算法应达到以下四个目标:正确性、可读性、健壮性和效率与低存储量需求。
正确答案:√
56【判断题】
数据元素是数据结构研究的基本单位,数据项是数据结构研究的最小单位。
正确答案:√
57【判断题】
数据结构、数据元素、数据项在计算机中的映像分别称为存储结构、结点、数据域。
正确答案:√
58【判断题】
数据结构是带有结构的各数据项的集合
正确答案:×
59【判断题】
记录是数据处理的最小单位。
正确答案:×
60【判断题】
数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的关系和运算等的学科。
正确答案:√
61【判断题】
数据结构被形式定义为(D,S),其中S是D上的关系有限集合。
正确答案:√
62【判断题】
顺序存储方式只能用于存储线性结构。
正确答案:×
63【判断题】
数据的逻辑结构是指各元素之间的逻辑关系,是用户根据需要而建立的。
正确答案:√
64【判断题】
判断一个算法的好坏主要标准是正确性和可读性。
正确答案:×
65【判断题】程序一定是算法。
正确答案:×
66【判断题】健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
正确答案:√
67【判断题】数据的基本单位是数据项。
正确答案:×
68【判断题】数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立的。
正确答案:√
69【判断题】数据的逻辑结构是指数据的各数据项之间的逻辑关系。
正确答案:×
70【判断题】数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构。________
正确答案:×
71【判断题】数据的物理结构是数据在计算机中实际的存储形式。
正确答案:√
72【判断题】数据结构的抽象操作的定义与具体实现有关。
正确答案:×
73【判断题】数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
正确答案:√
74【判断题】抽象数据类型与计算机内部表示和实现无关。
正确答案:√
75【判断题】顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
正确答案:×
76【判断题】算法的优劣与算法描述语言无关,但与所用计算机有关。
正确答案:×
77【判断题】算法和程序没有区别,所以在数据结构中二者是通用的。
正确答案:×
78【判断题】一个程序的时间复杂度是指该程序运行时间与问题规模的对应关系。
正确答案:√
79【判断题】在顺序存储结构中,有时也存储数据结构中元素之间的关系。
正确答案:×
80【判断题】在一般情况下,一个算法的时间复杂性是问题规模的函数。
正确答案:√
81【判断题】数据结构从逻辑上划分为四种基本类型:集合结构,线性结构、树形结构和图形结构。
正确答案:√
82【判断题】数据元素在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。
正确答案:√
83【判断题】在数据结构中,从逻辑上可以把数据结构分成动态和静态结构 。
正确答案:×
84【判断题】树是非线性数据结构。
正确答案:√
85【判断题】一个算法应该是问题求解步骤的描述。
正确答案:√
86【判断题】线性表若采用链表存储结构时,要求内存中可用存储单元的地址必须是连续的。
正确答案:×
87【判断题】线性表的顺序存储结构是一种顺序存取的存储结构。
正确答案:×
88【判断题】线性表的链式存储结构是一种随机存取的存储结构。
正确答案:×
89【判断题】线性表的顺序存储结构优于链式存储结构
正确答案:×
90【判断题】算法能正确的实现预定功能的特性为算法的正确性。
正确答案:√
91【判断题】算法分析的目的是分析算法的易懂性和文档性。
正确答案:×
92【判断题】算法分析的二个主要方面是正确性和简明性.
正确答案:×
93【判断题】算法的时间复杂度只取决于问题的规模.
正确答案:×
94【判断题】数据在计算机内存中的表示是指数据的存储结构。
正确答案:√
95【判断题】计算机算法指的是计算方法。
正确答案:×
96【判断题】计算机算法必须具备可执行性、可移植性、可扩充性这三个特性。
正确答案:×
97【判断题】图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接。
正确答案:√
98【判断题】在任何问题中,数据元素都不是孤立的,它们之间总存在某种关系,通常称这种关系为逻辑关系。
正确答案:√
*/
//第二章
/*
1【单选题】线性表是具有N个( )的有限序列。
A、数据元素
B、信息
C、数据项
D、字符
正确答案: A
2【单选题】
表长为N的顺序表,当在任何位置上插入一个元素的概率相等时,插入一个元素所需移动元素的平均次数为( )。
A、(N+1)/2
B、N
C、N/2
D、(N-1)/2
正确答案: C
3【单选题】不带头结点的单链表head为空的判定条件是( )。
A、head->next==NULL
B、head!=NULL
C、head==NULL
D、head->next==head
正确答案: C
4【单选题】在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( )。
A、O(n)
B、O(1)
C、O(n^2)
D、O(nlogn)
正确答案: A
5【单选题】在一个单链表中,若在p所指结点之后插入s所指结点,则执行( )。
A、s->next=p->next;p=s;
B、p->next=s;s->next=p;
C、s->next=p->next;p->next=s;
D、s->next=p;p->next=s;
正确答案: C
6【单选题】在一个长度为n的单链表上,设有头和尾两个指针,执行( )操作与链表的长度有关。
A、删除单链表中的第一个元素
B、删除单链表中最后一个元素
C、在单链表最后一个元素后插入一个新元素
D、在单链表第一个元素前插入一个新元素
正确答案: B
7【单选题】对于顺序表,以下说法错误的是( )。
A、顺序表是用一维数组实现的线性表,数组的下标可以看成是元素的绝对地址
B、顺序表的所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列
C、顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元中
D、顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻
正确答案: A
8【单选题】对顺序表上的插入、删除算法的时间复杂性分析来说,通常以( )为标准操作。
A、插入操作
B、删除操作
C、结点移动
D、算术表达式
正确答案: C
9【单选题】若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省时间。
A、顺序表
B、单循环链表
C、双向链表
D、单链表
正确答案: A
10【单选题】下述哪一条是顺序存储结构的优点?
A、插入运算方便
B、可方便地用于各种逻辑结构的存储表示
C、存储密度大
D、删除运算方便
正确答案: C
11【单选题】若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A、单循环链表
B、带头结点的双循环链表
C、顺序表
D、双向链表
正确答案: C
12【单选题】链表不具有的特点是( )。
A、所需空间与线性长度成正比
B、插入、删除不需要移动元素
C、可随机访问任一元素
D、不必事先估计存储空间
正确答案: C
13【单选题】下面的叙述正确的是( )。
A、线性表在链式存储时,查找第i个元素的时间同i的值成反比
B、线性表在链式存储时,查找第i个元素的时间同i的值无关
C、线性表在顺序存储时,查找第i个元素的时间同i的值无关
D、线性表在顺序存储时,查找第i个元素的时间同i 的值成正比
正确答案: C
14【单选题】对于顺序存储的线性表,按位置访问结点和增加、删除结点的时间复杂度分别为( )。
A、O(1) O(1)
B、O(n) O(n)
C、O(n) O(1)
D、O(1) O(n)
正确答案: D
15【单选题】完成在双循环链表结点p之后插入s的操作是( )。
A、p→next→prior=s; p→next=s; s→prior=p; s→next=p→next;
B、s→prior=p; s→next=p→next; p→next→prior=s; p→next=s;
C、s→prior=p; s→next=p→next; p→next=s; p→next→prior=s ;
D、p→next=s ; s→prior=p; p→next→prior=s ; s→next=p→next;
正确答案: B
16【单选题】在非空双向循环链表中q所指的结点前插入一个由p所指的新结点的过程依次为:p→next =q; p→prior =q→prior;( ); q→prior =p;
A、q→next = p
B、q→next→prior = p
C、q→next→next = p
D、q→prior→next =p
正确答案: D
17【单选题】在双向链表存储结构中,删除p所指的结点时须修改指针( )。
A、p→prior =(p→prior)→prior;(p→prior)→next =p;
B、(p→prior)→next =p→next;(p→next) →prior =p→prior;
C、p→next=(p→prior)→prior;p→prior =(p→next)→next;
D、(p→next)→prior =p;p→next =(p→. next)→next;
正确答案: B
18【单选题】在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是( )。
A、访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
B、删除第i个结点(1≤i≤n)
C、将n个结点从小到大排序
D、在第i个结点后插入一个新结点(1≤i≤n)
正确答案: A
19【单选题】链接存储的存储结构所占存储空间( )。
A、分两部分,一部分存放结点值,另一部分存放结点所占单元数
B、只有一部分,存放结点值
C、只有一部分,存储表示结点间关系的指针
D、分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
正确答案: D
20【单选题】线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。
A、部分地址必须是连续的
B、连续或不连续都可以
C、必须是连续的
D、一定是不连续的
正确答案: B
21【单选题】线性表L在( )情况下适用于使用链式结构实现。
A、需经常修改L中的结点值
B、L中结点结构复杂
C、需不断对L进行删除插入
D、L中含有大量的结点
正确答案: C
22【单选题】单链表的存储密度( )。
A、不能确定
B、等于1
C、大于1
D、小于1
正确答案: D
23【单选题】将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是( )。
A、n
B、n-1
C、2n
D、2n-1
正确答案: A
24【单选题】在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( )个元素。
A、i
B、n-i-1
C、n-i+1
D、n-i
正确答案: C
25【单选题】创建一个包括n个结点的有序单链表的时间复杂度是( )。
A、O(nlogn)
B、O(n)
C、O(n^2)
D、O(1)
正确答案: C
26【单选题】以下说法错误的是( )。
A、顺序存储的线性表可以随机存取
B、线性表的链式存储结构优于顺序存储结构
C、由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
D、求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低
正确答案: B
27【单选题】在单链表中,要将s所指结点插入到p所指结点之后,其语句应为( )。
A、s->next=p->next; p->next=s;
B、s->next=p+1; p->next=s;
C、(*p).next=s; (*s).next=(*p).next;
D、s->next=p->next; p->next=s->next;
正确答案: A
28【单选题】下面关于线性表的叙述错误的是( )。
A、线性表采用顺序存储便于插入和删除操作的实现
B、线性表采用链式存储便于插入和删除操作的实现
C、线性表采用顺序存储必须占用一片连续的存储空间
D、线性表采用链式存储不必占用一片连续的存储空间
正确答案: A
29【单选题】设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( )。
A、q=p->next;p->data=q->data;delete q;
B、q=p->next;q->data=p->data;p->next=q->next;delete q;
C、q=p->next;p->data=q->data;p->next=q->next;delete q;
D、q=p->next;p->next=q->next;delete q;
正确答案: C
30【单选题】设一条单链表的头指针变量为head且该链表没有头结点,指针变量p指向某个结点,则p指向结点为尾结点的条件是( )。
A、p->next==head
B、head==NULL
C、head!=NULL
D、p->next==NULL
正确答案: D
31【单选题】设带有头结点的单向循环链表的头指针变量为head,则其判空条件是( )。
A、head->next==0
B、head->next==head
C、head!=0
D、head==0
正确答案: B
32【单选题】设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B之间插入结点X的操作序列为( )。
A、q->next=s; s->next=p;
B、s->next=p->next;p->next=s;
C、p->next=s->next;s->next=p;
D、p->next=s;s->next=q;
正确答案: A
33【单选题】在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A、p->next=HL->next; HL->next=p;
B、p->next=HL; HL=p;
C、HL=p; p->next=HL;
D、p->next=HL; p=HL;
正确答案: A
34【单选题】对线性表,在下列哪种情况下应当采用链表表示?
A、经常需要随机地存取元素
B、表中元素需要占据一片连续的存储空间
C、表中元素的个数不变
D、经常需要进行插入和删除操作
正确答案: D
35【单选题】将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为( )。
A、O(n)
B、O(m+n)
C、O(m)
D、O(1)
正确答案: C
36【单选题】已知一个带头结点的非空循环单链表,其尾指针是R,则其首元素结点的地址为:
A、R->next
B、*( R->next->next )
C、&( R->next->next )
D、R->next->next
正确答案: D
37【单选题】判断带头结点的单循环链表L仅有一个元素结点的条件是( )
A、L->next->next==L
B、L->next=L
C、L->next!=L
D、L->next->next==L&&L->next!=L
正确答案: D
38【单选题】线性表的链式存储结构是一种( )的存储结构。
A、随机存取
B、顺序存取
C、散列存取
D、索引存取
正确答案: B
39【单选题】下列说法正确的是( )
A、线性表的逻辑顺序与存储顺序总是一致的
B、每种数据结构都具有插入、删除和查找三种基本运算
C、线性表的链式存储结构中,要求内存中可用的存储单元可以是连续的,也可以不连续
D、线性表的线性存储结构优于链式存储结构
正确答案: C
40【单选题】设非空单链表的数据域为data,指针域为next,指针p指向单链表中第i个结点,s指向已生成的新结点,
现将s结点插入到单链表中,使其成为第i个结点,下列算法段能正确完成上述要求的是( )
A、p=s;s->next=p;
B、s->next=p->next;p->next=s;交换p->data和s->data;
C、p->next=s;s->next=p->next;
D、s->next=p->next;p->next=s;
正确答案: B
41【单选题】下列关于线性表的基本操作中,属于加工型的操作是( )。
A、求表长度、读元素、定位操作
B、定位、插入、删除操作
C、初始化、插入、删除操作
D、初始化、求表长度、插入操作
正确答案: C
42【单选题】下列关于线性表的叙述中,不正确的是( )。
A、线性表可以为空表
B、线性表的每一个结点有且仅有一个前趋和一个后继
C、线性表结点间的逻辑关系是1:1的联系
D、线性表是n个结点的有穷序列
正确答案: B
43【单选题】求循环链表中当前结点的后继和前驱的时间复杂度分别是( )。
A、O(n)和O(n)
B、O(1)和O(n)
C、O(1)和O(1)
D、O(n)和O(1)
正确答案: B
44【单选题】非空的单循环链表的头指针为head,尾指针为rear,则下列条件成立的是( )。
A、rear->next->next= =head
B、rear->next= =head
C、head->next->next= =rear
D、head->next= =rear
正确答案: B
45【单选题】若长度为n的线性表采用顺序存储结构,删除第i个位置的元素算法的时间复杂度是( )。
A、O(n)
B、O(1)
C、O(logn)
D、O(n^2)
正确答案: A
46【单选题】在具有n个结点的单链表上查找值为x的元素时,其时间复杂度为( )。
A、O(n)
B、O(n^2)
C、O(n-1)
D、O(1)
正确答案: A
47【判断题】顺序存储的线性表可以随机存取。
正确答案:√
48【判断题】顺序存储的线性表的插入和删除操作不需要付出很大的代价,因为平均每次操作只有近一半的元素需要移动。
正确答案:×
49【判断题】在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定相邻。
正确答案:×
50【判断题】在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。
正确答案:√
51【判断题】在单链表中,可以从头结点进行查找任何一个元素。
正确答案:√
52【判断题】顺序存储方式只能用于存储线性结构。
正确答案:×
53【判断题】链表中的头结点仅起到标识的作用。
正确答案:×
54【判断题】对任何数据结构链式存储结构一定优于顺序存储结构。
正确答案:×
55【判断题】集合与线性表的区别在于是否按关键字排序。
正确答案:×
56【判断题】线性表的特点是每个元素都有一个前驱和一个后继。
正确答案:×
57【判断题】线性表只能用顺序存储结构实现。
正确答案:×
58【判断题】线性表就是顺序存储的表。
正确答案:×
59【判断题】顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
正确答案:×
60【判断题】链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
正确答案:√
61【判断题】不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为O(N)。
正确答案:√
62【判断题】对链表进行插入和删除操作时不必移动链表中结点。
正确答案:√
63【判断题】顺序表和一维数组一样,都可以按下标随机(或直接)访问。
正确答案:√
64【判断题】在双向链表中,可以从任一结点开始沿同一方向查找任何其他结点。
正确答案:×
65【判断题】链式存储的线性表可以随机存取。
正确答案:×
*/
//第三章
/*
1【单选题】在作取栈顶元素运算时,应先判别栈是否( )
A、空
B、满
C、上溢
D、不需判断
正确答案: A
2【单选题】在作循环队列的入队运算时,应先判别队列是否( )
A、空
B、满
C、上溢
D、不需判断
正确答案: B
3【单选题】在作链队列的入队运算时,应先判别队列是否( )
A、空
B、满
C、上溢
D、不需判断
正确答案: D
4【单选题】一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是( )。
A、不确定
B、n-i+1
C、i
D、n-i
正确答案: B
5【单选题】若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是( )。
A、i-j-1
B、i-j
C、j-i+1
D、不确定的
正确答案: D
6【单选题】若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pN,若pN是n,则pi是( )。
A、i
B、n-i
C、n-i+1
D、不确定
正确答案: D
7【单选题】设一个栈的输入序列是 1,2,3,4,5,则下列序列中,是栈的合法输出序列的是( )。
A、5 1 2 3 4
B、4 5 1 3 2
C、4 3 1 2 5
D、3 2 1 5 4
正确答案: D
8【单选题】一个栈的输入序列为:a,b,c,d,e,则栈的不可能输出的序列是( )。
A、a,b,c,d,e
B、d,e,c,b,a
C、d,c,e,a,b
D、e,d,c,b,a
正确答案: C
9【单选题】若一个栈的输入序列是a,b,c,则通过入、出栈操作可能得到a,b,c的不同排列个数为( )
A、4
B、5
C、6
D、7
正确答案: B
10【单选题】栈在( )中应用。
A、递归调用
B、子程序调用
C、表达式求值
D、A,B,C
正确答案: D
11【单选题】设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。
A、线性表的顺序存储结构
B、队列
C、线性表的链式存储结构
D、栈
正确答案: D
12【单选题】用链接方式存储的队列,在进行删除运算时( )。
A、仅修改头指针
B、仅修改尾指针
C、头、尾指针都要修改
D、头、尾指针可能都要修改
正确答案: D