Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

-1-

1) VỚI cáu trúc dữ liệu cãy - Tree, một nút không có nút con được gọi là
A) Nút rỗng
B) Nút gốc
C) Nút trong
□) Nút lá

2) Trong một cây nhị phân tìm kiếm với nút gốc có đủ 2 con, nút có giá trị nhỏ nhất trẽn cây là nút nằm tại
A) Nút bên trái nhất cùa gốc
B) Nút nằm trái nhật trẽn cậy con phải của gốc
C) Nút bẽn phải nhất của gốc
D) Nút nằm phải nhất trẽn cãy con trái cùa gốc

3) Nếu duyệt cãy nhị phân theo thứ tự trước - preOrder và thứ tự sau postOrder mà cúng cho ra một kết
quà gióng nhau thl cây đó có tổi đa mấy nút
A) 1 nút
B) Cây đầy đù
C) Cây rỗng
D) Cây hoàn chình

4) Thuật toán tim kiếm nhị phân có thể áp dụng được trẽn
A) Danh sách Hên kết không có thứ tự
B) Danh sách liên kết đã sắp thứ tự
C) Màng không cần có thứ tự
D) Màng đã sap thứ tự

5) Cho thuật toán sắp xểp Bubble Sort như sau:


vóid BubbleSort(int MQ, int N){
for (int I = 0; I < N-1; I++)
for (int J = N-1; J > í; J~)
lf (M[J] < M[j-1])
Swap(M[J], M[J-1]);
retum;
} . „
Chọn câu đúng nhất cho hàm Swap
À) void Swap(float X, tloat YX int Temp = X; X = Y; Y = Temp; retum; }
B) void Swap(int X, int Y){ int Temp = X; X = Y; Y = Temp; retum; }
C) void Swap(int *x, int *YX int Temp = X; X = Y; Y = Temp; retum; }
D) void Swap(int &x, int &YX int Temp = X; X = Y; Y = Temp; return;}

6) Trong các thuật toán sắp xép sau, thuật toán nào phù hợp nhất để sắp xếp các phần từ được lưu trữ
bằng danh sách liên kết đơn
A) Thuật toán sắp xếp nồi bọt
B) Thuật toán sập xẹp chèn
C) Thuật toán sắp xếp nhanh
D) Thuật toán sắp xếp lựa chọn

7) Sừ dụng định lý thợ để xác định xem hàm truy hồi của giải thuật đệ quy sau

T(n) = T(n/2) + 45n n> ĩio

Có độ phức tạp tinh toán tiệm cận là ?

A) SC"1)

B) 0(2")
-2-

C) 0(n log(rì))

D) b(n)

8) Sử dụng hàm BUILD-MAX-HEAP trong sắp xếp vun đống đề xây dựng max-heap cho màng gồm các số
nguyên sau: 14, 11, 13, 12, 26, 19, 20, 24, 18, 27. Cha cùa phần tư 19 la
Á) 27
B) 26
C) 20
D) 24

9) Định nghĩa nào là đúng với danh sách liên kết


A) Danh sách liên ket là tập hợp các phần tử mà giữa chúng có một sự nói kết với nhau thông qua
vùng liên kết của chúng.
B) Danh sách liên kệt là cầu trúc dữ liệu dạng cây.
C) Danh sách liên kết lả tập hợp các phần từ mà đặt kề cận với nhau trong vùng nhớ.
D) Danh sách liên kết là câu trúc dữ liệu tự đinh nghĩa.

10) Cấu trúc dữ liệu nào tương ứng với LIFO


A) Linked List
B) Queue
C) Tree
ữ) stack

11) Cho biết trong các công thức độ phức tạp tính toán sau, cõng thức nào là không hợp lệ ?

A) /(n) = -2n2 + lOOnlog(n) + 10’ neN

B) / (n) = -56n + n3 — 2ơn2 nEN

C) f(rì) = lơn2—3n nGN

D) f(n) = —26nlog(n)+3n3 + 10 nCN

12) Trong các tứ tiếng Anh sau, tứ nào đúng với tên gọi cùa cấu trúc dữ liệu FIFO ?
A) Fĩrst-ln First-Out

B) STACK
C) First-ln Last-Out

D) QUEUE

13) Trong thuật toán duyệt đồ thị theo chiều rộng - Breadth First Traversal, cấu trúc dữ liệu được sử dụng
đề lưu trữ dữ liệu trong quá trinh duyệt là
A) Cây tlm kiếm nhị phân
B) Hàng đợi - Queue
C) Bàng băm

ữ) Ngán xếp - stack

14) Cho đoạn mã nguồn ngôn ngữ lập trinh C cùa hàm như sau

unsigned Int ham6 unsigned Int n)


{
-3-

if(n==O) return 0;

else return ham6(n-1 )+ham6(n-1);// Đếm số phép toán cộng


}
Hãy cho biết phép cộng + được thực hiện bao nhiêu lần sau khi gọi ham6(6) ?

A) 85

B) 74

C) 63

D) 22

15) Cho mã nguồn ngôn ngữ c của giải thuật đệ quy như sau

void ham7(unsigned int n, unsigned int b)


{
if(n==0) return

else{

ham7(-n);

printf("%d",n);

}
Hãy cho biết kết quà in ra màn hình khi gọi hàm ham7(4) ?

A) 0 12 3
B) 12 3 4

C) 4 32 1
D) 32 10

16) Cho cây blỗu thức sau, chọn biều thức tương ứng với cây

ỉ)
B (4 * 2+ (5 + 3)))
C) 2 * 3 + (5 +4
0) (2* (5+ (4+ 3)))

17) Để giải một bài toán, thuật toán A có thời gian trong trường hợp tối nhất là O(n), thuật toán B có thời
gian trong trường hợp tồi nhất là O(nA2). Kết luận nào sau đây lạ đúng
A) Thuật toan B có thề nhanh hơn thuật toan A trong một số trường hợp
B) Thuật toán A có tốc độ tương đương với thuật toán B trong trường hợp tồng quát
C) Tất cà đều sai
-4-

D) Thuật toán A luôn nhanh hơn thuật toán B trong mọi trường hợp

18) Đối với thuật toán sắp xếp chọn cho dãy các phàn từ sau
16 60 2 25 15 45 5 30 33 20
Cần thực hiện bao nhiêu lần chọn lựa phần tử nhỏ nhất để sắp xếp mảng M có thứ tự tăng
dần
A) 10 lần
B) 9 lận
C) 7 lần

D) 8 lần

19) Lựa chọn câu đúng nhất về danh sách liên két đôi (Doubly Linked List)
A) Vùng liên kểt của một phần từ trong danh sách liên đõl có 02 mél liên kểt với 01 phần tử khác
trong danh sách.
B) Vùng liên kết của một phần từ trong danh sách Hên đôi có 02 mói liên kất với 02 trưức và sau nó
trong danh sách.
C) Vùng liên kểt của một phàn từ trong danh sách liên đõl có 01 mối liên kết với 02 phần từ khác
trong danh sách.
D) Vùng liên kết của một phần từ trong danh sách liên đôi có 02 mốl liên kết với phần từ đầu và cuối
cùa danh sách.

20) Tứ viết tắt tiếng Anh FIFO có nghĩa là gi trong tiếng Việt ?
A) Vào Trước - Ra Trước
B) Vào - Ra Tức Thi
C) Vào - Ra Đồng Thời
D) Vào Trước - Ra Sau

21) Cho một cây nhị phân trong đó một nút bất kỳ hoặc là nút lá hoặc có 2 con. Nếu duyệt cây theo thứ tự
trước là A B D c E thì thứ tự sau sẽ phải lá
A) c D B E A
B) D c B A E
C) c B c E A
D) D c B E A

22) Cho biều thức hậu tố Ba lan như sau


ab-c/dc-b/+
Hãy tính giá trị biểu thức trẽn sử dụng ngăn xếp biểt a = 25, b =5, c = 4 vá d = 19

A) 6

B) 8

C) 12
D) 15

23) Số lượng nút tồi đa trẽn một cây nhị phân tim kiếm có chiều cao h (chiều cao tinh từ 0) là
A) 2A(h+1) - 1
B) 2"(h-1)
C) 2A(h+1) + 1
D) 2Ah

24) Cấu trúc dữ liệu màng có các ưu điểm nào


A) Việc thêm, bớt các phần tử trong danh sách đặc có nhiều khó khăn do phải dl dửi các phần từ
-5-

khác đi qua chỗ khác.


B) Tất cà các đáp án
C) Việc truy xuất và tìm kiếm các phần tử của màng là dễ dàng vi các phần tử đứng liền nhau nên
chúng ta chỉ cần sừ dụng chỉ số đề định vị vị trí các phấn tử trong danh sách (định vị địa chỉ các phần tử);
D) Mật độ sử dụng bộ nhớ cùa mảng là tối ưu tuyệt đối

25) Hãy sắp xếp các hám độ phức tạp tính toán tiệm cận theo thứ tự không giảm của tốc độ tăng

f< = n2log(n') B=109 c=Vn, □=ỉoff(n) E=-Jnlog(n2)

A) E5<C<E<D<A

B) A<B<C<D<E

C) B<D<C<E<A

D) B<C<D<E<A

26) Cho hàm đệ quy có định nghĩa bước cư sờ và bước đệ quy như sau

Bước cơ sờ: F(0)=1, F(1)=1

Bước đệ quy : F(n) - F(n-1 )+F(n-2) n>2


Hãy cho biết kết quả của hàm F(17) là ?

A) 1597

B) 2584

C) 610
D) 987

27) Trong các từ tiếng Anh sau, từ nào đúng với tên gọi của cấu trúc dữ liệu FILO ?
A) QUElíÉ

B) Hrst-ln First-Out

C) First-ln Last-Out

D) STACK

28) Độ phức tạp vẻ thời gian trong trường hợp tồi nhất của thuật toán tìm kiếm nhj phân lá
A) O(nlogii)
B) O(logn)
C) O(nẠ2)
0) O(n)

29) Cho thuật toán tlm nhị phân không đệ quy sau
int NRecBinàrySearch (ini MO, int N, ĩnt X)(
Int First = 0,
int Last -14-1;
vvhile (First <- Last){
int Mid = (Fĩrst + Lasty2;
if (X == M[Mid])
retum(Mid);
if (X < M[Mid])
Last = Mid - 1;
-6-

else
Fìrst = Mid + 1;
}
retum(-1);
} . . ... _____ . ... ......
Chọn câu đủng nhât trong trường hợp tôt nhât khi phân từ ở giữa của mảng có giá trị băng X:
A) Số phép gán là 2; số phép so sánh là 3
B) SỘ phép gán là 2;sộ phép so sánh là 2
C) Sổ phép gán là 0,sá phép so sánh là 2

□) Số phépgán là 3;số phép so sánh là 2

30) Cho đoạn mã nguồn ngôn ngữ lập trinh c cùa ham2() như sau

int ham2i unsigned int n)


{
int i,j,S=O;

for(i=0:i<n;l++)
for(j=n;j>0;j/=2)

s++;// Cãu lệnh cần đếm

return S;
}
Hãy cho biết câu lệnh S++ sau khi gọl ham2(10) thực hiện bao nhiêu lần ?

A) 40

B) 30

C) 10
D) 20

31) Cấu trúc dữ liệu là gl ?

A) Là cách thức tổ chức, quản lý, lưu trữ dữ liệu sao cho quá trinh truy cập hay thay đổl được
hiệu quả.
B) Thường đĩ kèm giải thuật trong một môn học cốt lõi ngành CNTT.

C) Thường coi là một từ khóa trong lĩnh vực khoa học máy tính.
D) Dùng khi giải quyết lớp các bàl toán nói chung.

32) Tìm mô tả đủng cho hám sau:


int sc (int MQ, irrt Len, int CM[]K
for (Int i = 0; i < Len; i++)
CM[i] = M[ĩ],
retũrn (Len);
} ... . ... .. .. .................. .
A) Hàm thực hiện việc sao chép nội dung mảng M có chiêu dài Len vê mảng CM có cùng chiêu dài.
Hàm trả về chiều dài của mảng CM sau khi sao chép.
B) Hàm thực hiện việc sao chép nội dung mảng CM có chiều dài Len -1 về mảng M có cùng chiều dài.
Hàm trả về chiều dài của mảng M sau khi sao chép.
C) Hàm thực hiện việc sao chép nội dung mảng CM có chiều dài Len về mảng M có cùng chiều dài.
-7-

Hàm trà về chiều dài của mảng M sau khi sao chép.
D) Hàm thực hiện việc sao chép nội dung màng M có chiều dài Len -1 vè màng CM có cùng chiều dài.
Hàm trà về chiều dài của mảng CM sau khí sao chép.

33) Với một cây tìm kiếm nhị phân, bạn duyệt theo thứ tự náo thi sẽ thu được một danh sách theo thứ tự
tăng
A) Duyệt cây theo thứ tự sau - postOrder Traversal
B) Duyệt cây theo thứ tự giữa - inOrder Traversal
C) Duyệt cây theo thứ tự trước - preOrder Traversal
D) Duyệt cây theo mức - level Traversal

34) Cho cây nhị phân như sau, với cách duyệt Inorder (Lett - Root - Right) cho ra kết quà là dãy nào? Tim

35) Chọn định nghĩa đúng nhát đối với cây nhị phân tìm kiếm
A) Cây nhị phân tìm kiếm chính là cây nhị phân
B) Cây nhị phân tìm kiếm là cãy nhị phân có thành phần khóa của mọi nút nhỏ hơn thành phần khóa
của tất cà các nút trong cây con trái của nó và nhỏ hơn thành phần khóa của tất cà các nút trong cây con
phải của nó.
C) Cây nhị phân tìm kiếm là cây nhị phân có thành phần khóa của mọi nút lớn hơn thành phần khóa
của tất cả các nút trong cây con trái cùa nó và nhò hơn thành phần khóa cùa tất cả các nút trong cây con
phải cùa nó.
D) Cây nhị phân tìm kiếm là cãy nhị phân có thành phần khộa của mọi nút lớn hơn thành phần khóa
cùa tất cả các niit trong cây con trái của nó và lớn hơn thành phần khóa của tất cả các nút trong cây con
phải của nó.

36) Thao tác dequeueO là thao tác cơ bản của cấu trúc dữ liệu nào sau đây ?
A) Ngăn xếp

B) Danh sách

C) Mảng
D) Hàng đợi

37) Kiểu dữ liệu trừu tượng đúng nhát với đặc điểm nào liệt kê dưới đây ?

A) Chì gồm các mô tả (description) thuộc tính kèm thao tác.

B) Ngươi dùng có thề sử dụng trực tiếp.


C) Đã được cài đặt cụ thề trong máy tính.

D) Có kích thước bộ nhớ xác định.


-8-

38) Cho đoạn mã nguồn ngôn ngữ lập trinh c cùa ham1() như sau

int ham1(unsigned int n)


{
int ì,j,S=O;

for(i=0j<n:i++)
for(j=i;j<n;j++)

s*-=!;// Câu lệnh cần đếm


return S;
}
Hãy cho biết câu lệnh s+=i được thực hiện bao nhiêu lần khi gọi ham1(10) ?

A) 100
B) 110

C) 50

D) 55

39) Thao tác popO là thao tác ca bản của cấu trúc dữ liệu nào sau đây?

A) Hàng đợi

B) Mảng

C) Danh sách
D) Ngăn xếp

40) Cho biểu thức dạng trung tó sau A+B*C/D-G*H, biểu thức dạng hậu tổ tương ứng là
A) ABC7D+-GH*
B) ABC*D/+-GH*
C) ABC*D/GH*-+
D) ABC*D/+GH*-

41) Già sừ cần sắp xếp màng M có N phần tử sau theo phương pháp sắp xếp chèn
11 16 12 75 51 54 5 73 36 52 98
Cần thực hiện bao nhiêu làn chèn các phần tử vào dãy con đâ có thứ tự tăng đứng đầu dãy
M đề sắp xếp mảng M có thứ tự tăng
dần.
A) 8 lận
B) 9 lần
C) 10 lần
□) 7 lần

42) Giả thiết ta thực hiện chuỗi các thao tác cơ bàn đối với cấu trúc dữ liệu danh sách Hên kết gồm các số
nguyên như sau
lnsertHead(4) => InsertHead(l) => lnsertl_ast(3) => lnsertLast(5)=>DeleteHead()=>lnsertHead(7)
Hãy cho biết kết quả của chuỗi thao tác là danh sách nào dưới đây

Ghi chú : -> dùng ký hiệu liên kết con trỏ giữa các õ dữ liệu số nguyên.
-9-

A) 1->4->3->5

B) 1->4->3->7
C) 7->4->3->5

D) 7->4->5->3

43) Đề biều diễn mối quan hộ giữa các phần tử theo kiểu thứ bậc, ta dùng cấu trúc dữ liệu nào?
A) Hàng đợi-Queue
B) Ngăn xểp-Stack
C) Cây-Tree
D) Màng

44) Những thụật toán nào sau đây áp dụng kĩ thuật chia đề trị:
A) Sap xếp nhanh - QuickSort
B) Sắp xếp vun đống
C) sập xẹp chọn
□) Sắp xếp nổi bọt

45) Trong thuật toán dijkstra tìm quãng đường đi ngắn nhất giữa 2 đỉnh trong đồ thị có trọng số ta phải sử
dụng cấu trúc dữ liệu
A) Hàng đại - Queue
B) Hàng đợi ưu tiên - Priority Queue
C) Cây nhị phân tìm kiếm AVL
D) Ngan xếp - Stack

46) Cho thuật toán sau


int LinearSearch (íloat MỊ], int N, fìoatX){
int k = 0; MỊN] = X;
whĩle (M[k] Ị-X) k++;
ff (k < N)
retum (k);
retum (-1);
} . ......................... x ............................ , .X „ .
Chọn câu đúng nhãt trong trựờng hợp xâu nhât khi không tìm thây phân từ nào có giá trị băng X:
Ấ) Số phép gán: G=2; số phép so sánh S=2N+2

B) Sọ phép gán: G=1; Sọ phép so sánh S=N+2


C) Số phép gán: G=2; số phép so sánh S=N+2
D) Số phép gán: G=2; số phép so sánh S=N+1

47) Hãy tính giá trị của ký pháp hậu tố sau: 636 + 5* 90/-
A) Kết quà khác
8 -.4
C) 4
D) 5.5

48) Cho hàm đệ quy được định nghĩa như sau

Bước cơ sờ : F(0) = 1

Bước đệ quy : F(n) chia thánh hai tình huống với n>0
Tình huống n chẵn : F(n) = F(n/2)*F(n/2)

Tinh huống n lè : F(n)= 3*F((n-1)/2)*F((n-1)/2)


-10-

Hãy cho biết kết quả trà lại khí gọi hàm F(6) là bao nhiêu ?

A) 108

B) 243

C) 512

D) 729

49) Cho hàm đệ quy được định nghía như sau

Bước cơ sở : F(0) = 0

Bước đệ quy : F(n) chia thành haí tinh huống với n>0

Tình huống n chẵn : F(n) - F(n/2) + F(n/2)


Tinh huống n lè : F(n)= 3 + F((n-1)/2) + F((n-1)/2)

Hãy cho biết kểt quả trà lại khl gọì hàm F(6) là bao nhiêu ?

A) 15

B) 18

C) 21
D) 27

50) Chọn câu đúng nhất để mõ tả thuật toán sắp xếp nồi bọt (Bubble Sort) trên mảng M có N phần tử:
A) Đi từ cuối mảng về đầu mảng, trong quá trình đl nếu phần từ ở dưới (đứng phía sau) nhỏ hơn
phần tử đứng ngay trên (trước) nó thì hai phan tử này sẽ được đồi chỗ cho nhau. Sau mỗi lần đi chúng ta
đưa được mọt phấn tử trồi lên đúng chỗ. Sau N-1 lần đĩ thi tẩt cả các phần tử trong mảng M sẽ có thư tự
tăng.
B) ĐI từ cuối mảng về đầu mảng, trong quá trình đl nếu phần tử ở dưới (đứng phía sau) nhò hơn
phần từ đứng ngay trên (trước) nó thì hai phan từ này sẽ được đồi chỗ cho nhau. Sau mỗi lần đi chúng ta
đưa được một phân từ trôi lẽn đủng chó. Sau N lân đi thì tât cà các phân từ trong màng M sẽ có thứ tự
tăng.
C) Tất cà đáp án đều sal.
P) Đi từ đầu mảng về cuối màng, trong quá trình đi nếu phần từ ở dưởi (đứng phía sau) nhỏ hơn
phần tử đứng ngay trẽn (trước) nó thl hai phân tử nảy sẽ được đồi chỗ cho nhau. Sau mỗi lần đi chúng ta
đưa được một phấn tử trồi lên đúng chỗ. Sau N lần đi thi tất cả các phần từ trong màng M sẽ có thứ tự
tăng.

tínyRay quiz software - 2016 Spring version - &TÌNYRAY 2015 - www.tinyray.com - supportịị) tinyroy.com

You might also like