Trắc nghiệm cấu trúc dữ liệu và giải thuật (download tai tailieutuoi.com)

You might also like

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

1.

Kết quả nào đúng khi thực hiện giải thuật sau:

long lt(int n) A. lt(12) = 2010


{if (n==0) return 1; B. lt(12) = 1024
else return (2*lt(n-1); C. lt(7) = 720
} D. lt(6) = 64

2. Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {1, 3, 5}; n= 5, k= 3 :

void ToHopKe(int a[], int n, int k) A. 2 3 4


{int i, j, tmp = 0; B. 1 2 3
for (i= 1;i<= k; i++) C. 2 3 5
if (a[i]!= n-k+i) {tmp= 1;break;} D. 1 4 5
if (tmp==0) return;
i= k;
while (a[i]>= n-k+i) i--;
a[i]= a[i] + 1;
for (j= i+1;j <=k;j++) a[j]= a[i] + j - i;
for (i= 1; i<= n; i++) printf("%d ", a[i]);
}

3. Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {-3, -3, 15, -3}; n= 4; x= -3:

int FindX(int a[], int n, int x) A. 1


{int i; B. 2
for (i= n; i>= 1; i--) if (a[i]==x) return (i); C. 3
return (-1); D. 4
}

4. Dấu hiệu nào dưới đây cho biết danh sách liên kết đơn L là rỗng:

A. (L->left == NULL) B. (L->ìnfor == NULL)


C. (L->next == NULL) D. (L == NULL)

1
5. Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {1, 3, 5, 4, 2}; n= 5:

void HoanViKe(int a[],int n) A. 1 4 2 3 5


{int i, k, r, s, tmp = 0; B. 5 4 3 2 1
for(i=1;i<=n;i++) if(a[i]!=n-i+1) C. 1 4 5 3 2
{tmp=1;break;} D. 1 3 4 2 5
if(tmp==0) return;
i= n-1;
while(a[i]>a[i+1]) i= i - 1;
k= n;
while(a[k]< a[i]) k= k - 1;
tmp= a[i]; a[i]= a[k]; a[k]=t mp;
r= i+1; s= n;
while(r< s)
{tmp = a[r]; a[r]= a[s]; a[s]= tmp; r++; s--; }
for(i= 1; i<= n; i++) printf("%d ", a[i]);
}

6. Thao tác nào dưới đây thực hiện trên hàng đợi (queue):
A. Thêm phần tử vào lối sau B. Loại bỏ phần tử ở lối sau
C. Thêm phần tử vào lối trước D. Thêm và loại bỏ phần tử tại vị trí bất kỳ

7. Dấu hiệu nào dưới đây cho biết hàng đợi đã có thao tác thêm và loại bỏ phần tử là rỗng:
A. Lối trước có giá trị > giá trị của lối sau B. Lối sau nhận giá trị = 0
C. Lối trước có giá trị < giá trị của lối sau D. Lối trước nhận giá trị = 0

8. Thao tác nào dưới đây thực hiện trên ngăn xếp (stack):
A. Thêm phần tử vào vị trí bất kỳ B. Loại bỏ phần tử tại vị trí bất kỳ
C. Thêm và loại bỏ phần tử luôn D. Thêm và loại bỏ phần tử có thể
thực hiện tại vị trí đỉnh (top) thực hiện tại vị trí bất kỳ

9. Nút có khóa lớn nhất trong cây nhị phân tìm kiếm khác rỗng là:
A. Nút con bên phải nhất B. Nút con bên trái nhất
C. Nút gốc D. Tất cả các nút

10. Trong phép duyệt cây nhị phân có 24 nút theo thứ tự sau, nút gốc có thứ tự:
A. Thứ 1 B. Thứ 2
C. Thứ 23 D. Thứ 24

11. Nút có khóa nhỏ nhất trong cây nhị phân tìm kiếm khác rỗng là:
A. Nút gốc B. Tất cả các nút
C. Nút con bên phải nhất D. Nút con bên trái nhất
2
12. Cây nhị phân khác rỗng là cây:
A. Mỗi nút (trừ nút lá) đều có hai nút con B. Tất cả các nút đều có nút con
C. Mỗi nút có không quá 2 nút con D. Tất cả các nút đều có nút cha

13. Đồ thị G có n đỉnh và m cạnh với m  n thì ma trận kề của G luôn có dạng :
A. là ma trận vuông cấp n B. là ma trận cấp nxm
C. là ma trận vuông cấp m D. là ma trận cấp mxn

14. Đồ thị vô hướng G có chu trình Euler khi và chỉ khi :


A. G liên thông và mọi đỉnh  G có bậc chẵn B. mọi đỉnh  G có bậc chẵn
C. G có chu trình Hamilton D. G là liên thông

15. Đồ thị G là liên thông khi và chỉ khi:


A. G là đồ thị có hướng B. G là đồ thị vô hướng
C. Có đường đi giữa hai đỉnh bất kỳ  G D. G có đường đi Euler

16. Hãy viết các thao tác chuyển tháp khi thực hiện hàm dưới đây vơi n= 3, a= 3 và b = 1:
void MOVE(int n, int a, int b) 1)
{ if(n==0) return; 2)
MOVE(n-1, a, 6-a-b); 3)
4)
cout<<a<<" => "<< b<< “\n”; 5)
MOVE(n-1, 6-a-b, b); 6)
} 7)

17. Viết kết quả của biểu thức dạng hậu tố E= 6 27 25 - * 15 8 - 3* - khi ứng dụng ngăn
xếp: E =

18. Viết các phần tử của mảng a[] = {27, 40, -7, 5, 57} tại mỗi giai đoạn i khi áp dụng
thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự giảm:
(i= 5) (i= 4)
(i= 3) (i= 2)

19. Viết các phần tử của mảng a[] = {27, 40, -7, 5, 57} tại mỗi giai đoạn i khi áp dụng
thuật toán sắp xếp nổi bọt để sắp xếp a theo thứ tự giảm:
(i= 5) (i= 4)
(i= 3) (i= 2)

20. Viết các phần tử của mảng a[] = {27, 40, -7, 5, 57} tại mỗi giai đoạn i khi áp dụng
thuật toán sắp xếp xen vào để sắp xếp a theo thứ tự giảm:
(i= 5) (i= 4)
( i= 3) (i= 2)
3
21. Viết các phần tử của cây nhị phân tìm kiếm được tạo từ các nút có khóa là các số
nguyên 2, 10, 15, -5, -2, 13, -12 khi thực hiện phép duyệt cây theo thứ tự sau:

22. Viết các phần tử của cây nhị phân tìm kiếm được tạo từ các nút có khóa là các số
nguyên 2, 10, 15, -5, -2, 13, -12 khi thực hiện phép duyệt cây theo thứ tự giữa

23. Viết các phần tử của cây nhị phân tìm kiếm được tạo từ các nút có khóa là các số
nguyên 2, 10, 15, -5, -2, 12, -12 khi thực hiện phép duyệt cây theo thứ tự trước:

24. Viết xâu mã Huffman của 4 chữ cái A, B, C, D trong bản tin M, biết tần số xuất hiện
của chúng trong M tương ứng là: 0,45; 0,15; 0,30 và 0,10:

25. Viết thứ tự được duyệt của các đỉnh thuộc đồ thị G khi thực hiện tìm kiếm theo chiều
sâu bắt đầu từ đỉnh 1, trong đó G được biểu diễn dưới dạng ma trận kề sau:

0 1 1 1 1 1 
1 0 0 1 1 0 
 
1 0 0 0 0 1
A=  
1 1 0 0 0 0 
1 1 0 0 0 0
 
1 0 1 0 0 0

26. Viết thứ tự được duyệt của các đỉnh thuộc đồ thị G khi thực hiện tìm kiếm theo chiều
rộng bắt đầu từ đỉnh 1, trong đó G được biểu diễn dưới dạng ma trận kề sau:

0 1 1 1 1 1 
1 0 0 1 1 0 
 
1 0 0 0 0 1
A=  
1 1 0 0 0 0
1 1 0 0 0 0
 
1 0 1 0 0 0

4
27. Viết đường đi Euler của đồ thị vô hướng G biểu diễn bởi ma trận kề sau:
0 1 1 1 1 0 
1 0 0 1 1 1
 
1 0 0 1 0 0
A=  
1 1 1 0 0 1
1 1 0 0 0 0
 
0 1 0 1 0 0 

28. Viết độ dài đường đi ngắn nhất từ đỉnh 1 đến đỉnh 5 và các đỉnh nằm trên đường đi đó
trong đồ thị G biểu diễn bởi ma trận trọng số A với A[i,j]= 0 nếu không có cạnh nối i đến j:
0 10 0 15 0 
0 0 1 0 2 
 
A = 25 0 0 2 0
0 3 0 0 1 
 
1 0 5 0 0 

29. Tìm hai đỉnh i  j của đồ thị G sao cho tổng độ dài đường đi từ i đến j và từ j về i là nhỏ
nhất, G biểu diễn bởi ma trận trọng số A với A[i,j]= 0 nếu không có cạnh nối i đến j:
0 12 10 19 i=
3 0 1 10  j=
A=  
0 0 0 5 
0 1 0 0 
 

30. Viết tổng trọng số WT của cây khung nhỏ nhất T trong đồ thị G biểu diễn bởi ma trận
trọng số A với A[i,j]= 0 nếu không có cạnh nối i đến j:
0 7 3 0 1  WT=
7 0 10 3 1 T=
 
A = 3 1 0 5 0 
0 3 5 0 1 
 
1 1 0 1 0 

30. Nhân tố nào là nhân tố chính ảnh hưởng đến thời gian tính của một giải thuật
a. Máy tính
b. Thuật toán được sử dụng
c. Chương trình dịch
d. Kích thước của dữ liệu đầu vào của thuật toán
5
31.Chọn phát biểu đúng trong các phát biểu dưới đây: bằng cách chạy thử 1 thuật toán với
1 bộ dữ liệu, ta có thể:
a. Khẳng định thuật toán đúng nếu nó cho kết quả đúng
b. Khẳng định thuật toán sai nếu cho kết quả sai
c. Khẳng định thuật toán tốt nếu cho kết quả nhanh
d. Khẳng định thuật toán hiệu quả nếu cho kết quả đúng

32.Trong các mệnh đề sau đây, mệnh đề nào sai:


a. Kiểu dữ liệu là một tập hợp nào đó các phần tử dữ liệu cùng chung một thuộc tính
b. Hệ kiểu của một ngôn ngữ bao gồm các kiểu dữ liệu đơn và các phương pháp cho
phép ta từ các kiểu dữ liệu đã có xây dựng nên các kiểu dữ liệu mới
c. Cấu trúc dữ liệu là các dữ liệu phức tạp, được xây dựng nên từ các kiểu dữ liệu đã
có, đơn giản hơn bằng các phương pháp liên kết nào đó
d. Một trong ba mệnh đề trên là sai

33. Tìm mệnh đề sai trong các mệnh đề sau: Một cấu trúc dữ liệu bao gồm…
a. Một tập hợp nào đó các dữ liệu thành phần
b. Các dữ liệu thành phần đặt sát nhau trong bộ nhớ

ĐÁP ÁN-MÔN CẤU TRÚC DỮ LIỆU & GIẢI THUẬT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
D D D D A A A C A D D C A A C

16 :1)3  1 17 : E = -546 19 : 20 :
2)3  2 (i= 5) 40 27 5 57 -7 (i= 1) 40 27 -7 5 57
3)1  2 18 : (i= 4) 40 27 57 5 -7 (i= 2) 40 27 -7 5 57
4)3  1 (i= 1) 57 27 -7 5 40 (i= 3) 40 57 27 5 -7 (i= 3) 40 27 5 -7 57
5)2  3 (i= 2) 57 40 -7 5 27 (i= 2) 57 40 27 5 -7 (i= 4) 57 40 27 5 -7
6)2  1 (i= 3) 57 40 27 -7 5
(i= 4) 57 40 27 5 -7
7)3  1

21 : -12 -2 -5 13 15 10 22 : -12 -5 -2 2 10 13 23 : 2 -5 -12 -2 10 15


6
2 15 13

24: A B C D
0 101 11 100

25: 1 2 4 5 3 6 26: 1 2 3 4 5 6

27: 1 2 4 1 3 4 6 2 5 1 28: 12 29: i = 2


1  2  5 j=3

30: WT= 6
T= (1, 3), (1, 5), (2, 5), (4, 5)

Trần_Thế Quỳnh 08CTH02


Add :tranthequynh10091990@yahoo.com
Or tranthequynh10091990@gmail.com

You might also like