wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Giai-Thuat

Total questions: 125

Worksheet time: 31hrs 15mins

Name
Class
Date
1.

Để đổi chỗ 2 phần tử a7, a9 ta đưa thêm một tham số X và ta thực hiện dãy lệnh sau đây

a)

X=a9 ; a7=X ; a9=a7

b)

X=a7 ; a9:=X ; a7=a9

c)

a7=a9 ; a9=a7 ; X= a7

d)

X=a7 ; a7=a9 ; a9=X

2.

Một giá trị kiểu char chiếm bao nhiêu bộ nhớ

a)

1byte

b)

2byte

c)

3byte

d)

4byte

3.

Đặc điểm của giải thuật đệ quy

a)

Trong thủ tục đệ quy có lời gọi đến chính thủ tục đó

b)

Có một trường hợp đặc biệt, trường hợp suy biến Khi trường hợp này xảy ra thì bài toán còn lại sẽ được giải quyết theo một cách khác

c)

Sau mỗi lần có lời gọi đệ quy thì kích thước của bài toán được thu nhỏ hơn trước.

d)

Có ba trường hợp đặc biệt, trường hợp suy biến Khi trường hợp này xảy ra thì bài toán còn lại sẽ được giải quyết theo một cách khác

4.

Miền giá trị của Kiểu số nguyên là:

a)

0..32767

b)

0..32768

c)

-32767 .. 32768

d)

-32768 .. 32767

5.

Các thuộc tính của một kiểu dữ liệu

a)

Tên kiểu dữ liệu

b)

Miền giá trị

c)

Kích thước lưu trữ

d)

Tất cả các thuộc tính đưa ra

6.

Trong các cấu trúc dữ liệu sau đâu là dữ liệu trừu tượng

a)

Tất cả đáp án đều sai

b)

Cấu trúc dữ liệu kiểu hàng đợi(QUEUE)

c)

Cấu trúc dữ liệu dạng (StacK)

d)

Cấu trúc dữ liệu dạng danh sách(LIST)

7.

Trong một chương trình có 3 bước thực hiện mà thời gian thực hiện tưng bước lần lượt là O(n2), O(n3) và O(nlog2n). thời gian thực hiện chương trình sẽ là

Chú ý: (log2n) = Log cơ số 2 của n; n^2 = n mũ 2

a)

O(n^3)

b)

O(n^2)

c)

O(nlog2n)

d)

O(n^2)+ O(n^3) + O(nlog2n)

8.

Kích thước lưu trữ kiểu số nguyên là

a)

4 byte

b)

2 byte

c)

1 byte

d)

6 byte

9.

Giả sử có câu lệnh ch='A'. Vậy ch sẽ chứa bao nhiêu byte

a)

1

b)

2

c)

3

d)

4

10.

Đâu là kiểu dữ liệu có cấu trúc?

a)

Kiểu integer

b)

Kiểu con trỏ

c)

Kiểu array (mảng)

d)

Tất cả các kiểu đưa ra

11.

Nếu có các khai báo sau:

char msg[10];

char *ptr;

char value;

Câu nào sau đây là đúng:

a)

Cả hai câu trên đều sai.

b)

ptr=value;

c)

ptr=msg;

d)

Cả hai câu trên đều đúng.

12.

Giả sử trong ngôn ngữ C sử dụng khai báo “double a[12]”, phần tử a[7] là phần tử thứ bao nhiêu trong mảng a

a)

Thứ 9.

b)

Thứ 8.

c)

Thứ 7.

d)

Thứ 6.

13.

Kí hiệu nào là con trỏ của phẩn tử thứ 3 của mảng a có 4 kí tự

a)

*(a+2)

b)

a(a*2)

c)

2a

d)

a+2

14.

Khi khai báo mảng, ta khởi tạo luôn giá trị của mảng như sau:int x[3]={4,2,6}; Nghĩa là: x[0]= , x[1]= , x[2]= ;

a)

2,6,4

b)

4,2,6

c)

2,4,6

d)

6,2,4

15.

Biểu thức điều kiện để kiểm tra một phần tử thứ i của mảng A có nằm trong (-5;10) là ?

1. (A[i] > -5) and (A[i] < 10)

2. (-5 < A[i]) and (10 < A[i])

a)

1 đúng, 2 sai

b)

1 sai, 2 sai

c)

1 đúng, 2 đúng

d)

1 sai, 2 đúng

16.

Cho đoạn chương trình sau:

int n=0;

for (int i=0; i < 10; i+=4) n+=I; giá trị của biến n là

a)

2

b)

5

c)

8

d)

12

17.

Phát biểu nào sau đây về mảng một chiều là đúng?

a)

Mảng không chứa các kí tự là chữ cái

b)

Chỉ là tập hợp các số nguyên

c)

Là tập hợp vô hạn các phần tử có cùng kiểu dữ liệu

d)

Là tập hợp hữu hạn các phần tử có cùng kiểu dữ liệu

18.

char S[20]="aaaaaea";

char* p=strstr(S,"e");

Nếu địa chỉ của S là 1000, thì giá trị của p là bao nhiêu là

a)

1006

b)

1005

c)

1000

d)

1003

19.

Khai báo hàm tìm giá trị lớn nhất trong một mảng các số long dưới đây, khai báo đúng là ?

a)

char max(long *a, int n)

b)

long max(long *a, int n)

c)

bool max(long *a, int n)

d)

long max(double *a, int n)

20.

Cho giải thuật đệ quy

1.F(1)=F(2)=1

2.F(k)=F(k-1)+F(k-2) nếu K > 2

Hãy tính F(7):

a)

11

b)

13

c)

12

d)

14

21.

Trường hợp đệ quy của giải thuật đệ qui là

a)

Cả hai đáp án trên đều sai

b)

Cả hai đáp án trên đều đúng

c)

là cơ chế đưa bài toán cần giải về một hay nhiều bài toán tương tự nhưng có quy mô lớn hơn

d)

là cơ chế đưa bài toán cần giải về một hay nhiều bài toán tương tự nhưng có quy mô nhỏ hơn

22.

1.F(1)=F(2)=1

2.F(k)=F(k-1)+F(k-2) nếu K > 2

Hãy tính F(6):

a)

5

b)

6

c)

7

d)

8

23.

Cho đoạn chương trình sau:

long dequy(long n,long &max)

{

long m;

if(n==0)

return max;

else

{

m=n%10;

if(m > max)

max=m;

}

return dequy(n/10,max);

}

Cho biết chức năng của đoạn chương trình trên

a)

Đáp án khác

b)

Tìm chữ số có giá trị lớn nhất của số nguyên dương n

c)

Tìm chữ số có giá trị nhỏ nhất của số nguyên dương n

d)

Tìm chữ số có giá trị trung bình của số nguyên dương n

24.

ho giải thuật đệ quy:

1.F(0,a)=F(a,0)=a (0 là số không)

2.F(m,n)=F(m-n,n) nếu m > =n

3.F(m,n)=F(m,n-m) Nếu m=30, n = 75 thì sau khi thực hiện giải thuật ta được giá trị là

a)

18

b)

16

c)

15

d)

17

25.

Cho đoạn chương trình sau:

int Logarit(int n)

{

if(n < 0)

return -1;

else

if(n > =2)

return 1+logarit(n/2);

else

return 0;

}

Cho biết chức năng của đoạn chương trình trên

a)

Tìm giá trị nguyên logarit cơ số 3 của n

b)

Tìm giá trị nguyên logarit cơ số 4 của n

c)

Tìm giá trị nguyên logarit cơ số 2 của n

d)

Tìm giá trị nguyên logarit cơ số 5 của n

26.

Cho giải thuật đệ quy

1.F(1)=1, F(2)=2, F(3)=2

2.F(k)=F(K-1) + 2F(K-3) , K > 3

Hãy tính F(6)

a)

10

b)

11

c)

12

d)

13

27.

không phải lúc nào cũng có thể xây dựng bài toán theo giải thuật và thủ tục đệ quy một cách dễ dàng, các vấn đề có thể là

a)

đáp án khác

b)

Làm thế nào để đảm bảo kích thước bài toán giảm đi sau mỗi lần gọi?

c)

bài toán được chia nhỏ ra

d)

Xem xét và định nghĩa các trường hợp đặc biệt (trường hợp suy biến) như thế nào?

28.

Ứng dụng của giải thuật đệ quy để giải các bài toán sau:

a)

thêm phần tử trong danh sách liên kết

b)

Tính giai thừa của số nguyên n

c)

Tìm kiếm trong danh sách liên kết

d)

tháp Hà Nội

29.

Cho đoạn chương trình sau:

long Tong(unsigned n)

{

if(n==0)

return 1;

return n+Tong(n-2);

}

Cho biết chức năng của đoạn chương trình trên dùng để tính cho biểu thức nào

a)

S(n)=1+3+5+…+(2.n+1) với n > =0

b)

Đáp án khác

c)

S(n)=2+4+6+…+(2.n+1) với n > =0

d)

S(n)=1+2+4+…+(2.n+1) với n > =0

30.

Số phép so sánh của thuật toán tìm kiếm, trong trường hợp xấu nhất là

a)

3*n

b)

2*n

c)

5*n

d)

4*n

31.

Cho mảng 2 chiều A={a (i j )}, mảng có m hàng, n cột, và được lưu trữ liên tiếp. Công thức tính địa chỉ của phần tử a (i j)

L{ F(i j )} = L(0) + C [(j - 1)m + (i - 1)]

Dùng trong trường hợp

a)

Ưu tiên số lượng

b)

Trong mọi trường hợp

c)

Ưu tiên cột

d)

Ưu tiên hàng

32.

Cho một ma trận thưa, hàng 1 có 2 phần tử F(11) , F(12) . Từ hàng thứ 2 chỉ có 3 phần tử F(k , k-1) ; F(k, k) ; F(k, k+1) , hàng cuối cùng cũng chỉ có 2 phần tử : F(n, n-1) ; F(n , n)

Hãy lưu trữ liên tiếp ưu tiên hàng của ma trận này thành một mảng một chiều : thí dụ F(11) là b(1) ; F(12) là b(2) ; F(21) là b(3) …

Tính b(k) nếu phần tử F(i j ) là F(6 , 7)

a)

b(20)

b)

b(17)

c)

b(21)

d)

(b26)

33.

Trong số các phép toán sau đây, phép toán nào không được dùng đối với mảng:

a)

Tìm kiếm trên mảng

b)

Bổ xung một phần tử vào mảng

c)

Lưu trữ mảng

d)

Tạo mảng

34.

Ngôn ngữ lập trình C được Dennish phát triển dựa trên ngôn ngữ lập trình nào:

a)

Ngôn ngữ B

b)

Ngôn ngữ DEC PDP

c)

Ngôn ngữ Cobol.

d)

BCPL

35.

Tư tưởng của giải thuật tìm kiếm trên cây nhị phân tìm kiếm

a)

Tại mỗi bước tiến hành so sánh X với phần tử ở giữa của dãy,Dựa vào bước so sánh này quyết định giới hạn dãy tìm kiếm nằm ở nửa trên, hay nửa dưới của dãy hiện hành.

b)

So sánh X lần lượt với các phần tử thứ nhất, thứ hai,... của dãy cho đến khi gặp phần tử có khoá cần tìm.

c)

Lần lượt chia dãy thành hai dãy con dựa vào phần tử khoá, sau đó thực hiện việc tìm kiếm trên hai đoạn đã chia.

d)

Tìm kiếm dựa vào cây nhị tìm kiếm: Nừu giá trị cần tìm nhỏ hơn gốc thì thực hiện tìm kiếm trên cây con trái, ngược lại ta việc tìm kiếm được thực hiện trên cây con phải.

36.

Độ phức tạp của giải thuật tìm kiếm tuần tự là:

a)

O(N)

b)

O(N-1)

c)

O(N-2)

d)

O(N-3)

37.

Các tiêu chuẩn đánh giá cấu trúc dữ liệu. Để đánh giá một cấu trúc dữ liệu chúng ta thường dựa vào các tiêu chí nào

a)

Cấu trúc dữ liệu phải phản ảnh đúng thực tế của bài toán

b)

Cấu trúc dữ liệu phải dễ dàng trong việc thao tác dữ liệu

c)

Cấu trúc dữ liệu phải tiết kiệm tài nguyên (bộ nhớ trong)

d)

Tất cả đáp án trên là đúng

38.

Cho mảng 2 chiều A={F( i j)}: i là chỉ số hàng, j là chỉ số cột. Mảng A có 8 hàng, 9 cột. Lưu trữ liên tiếp mảng A ưu tiên cột nếu phần tử F(11) có địa chỉ 230 , mỗi phần tử chiếm 3 ô thì phần tử F(37) có địa chỉ:

a)

382

b)

378

c)

380

d)

420

39.

ý tưởng phương pháp sắp xếp vun đống (Heap sort) là

a)

Lần lượt chia dãy phần tử thành hai dãy con bởi một phần tử khoá (dãy con trước khoá gồm các phần tử nhỏ hơn khoá và dãy còn lại gồm các phần tử lớn hơn khoá).

b)

Bắt đầu từ cuối dãy đến đầu dãy, ta lần lượt so sánh hai phần tử kế tiếp nhau, nếu phần tử nào nhỏ hơn được đứng vị trí trên.

c)

Lần lượt tạo đống cho cây nhị phân (phần tử gốc có giá trị lớn nhất) và loại phần tử gốc ra khỏi cây đưa vào dãy sắp xếp.

d)

Tạo đống cho cây nhị phân (cây nhị phân đã được sắp xếp giảm dần).

40.

Cho dãy số sau: 40 25 75 15 65 55 90 30 95 85. Áp dụng phương pháp sắp xếp lựa chọn, sau lượt 3 dãy sẽ được sắp xếp lại như thế nào?

a)

15 25 75 40 55 65 90 30 95 85

b)

15 25 75 40 65 55 90 30 85 95

c)

15 75 25 40 65 55 90 30 95 85

d)

15 25 30 40 65 55 90 75 95 85

41.

ý tưởng phương pháp sắp xếp chèn (insertion sort) là:

a)

Phân đoạn dãy thành nhiều dãy con và lần lượt trộn hai dãy con thành dãy lớn hơn, cho đến khi thu được dãy ban đầu đã được sắp xếp.

b)

Chọn phần tử bé nhất xếp vào vị trí thứ nhất bằng cách đổi chổ phần tử bé nhất với phần tử thứ nhấ; Tương tự đối với phần tử nhỏ thứ hai,ba...

c)

Bắt đầu từ cuối dãy đến đầu dãy, ta lần lượt so sánh hai phần tử kế tiếp nhau, nếu phần tử nào nhỏ hơn được đứng vị trí trên.

d)

Lần lượt lấy phần tử của danh sách chèn vị trí thích hợp của nó trong dãy bằng cách đẩy các phần tử lớn hơn xuống.

42.

Cho dãy số sau: 40 25 75 15 65 55 90 30 95 85. Áp dụng phương pháp sắp xếp lựa chọn, sau lượt 1 dãy sẽ được sắp xếp lại như thế nào?

a)

15 25 75 40 65 55 90 30 95 85

b)

15 75 25 40 65 55 90 30 95 85

c)

15 25 75 40 65 55 90 30 85 95

d)

15 25 75 40 55 65 90 30 95 85

43.

Thời gian chạy chương trình phụ thuộc vào các yếu tố nào

a)

Dữ liệu đầu vào.

b)

Tính chất của trình biên dịch được dùng.

c)

Độ phức tạp tính toán của giải thuật.

d)

Tôc độ của máy được dùng.

44.

Cho dãy số {6 1 3 0 5 7 9 2 8 4}. áp dụng phương pháp sắp xếp lựa chọn (Select sort) sau lần lặp đầu tiên của giải thuật ta có kết quả: {0 1 3 6 5 7 9 2 8 4}. Dãy số thu được sau lần lặp thứ tư là:

a)

{0 1 2 3 6 5 7 9 8 4}

b)

{0 1 2 3 4 5 6 7 8 9}

c)

{0 1 2 3 5 7 9 6 8 4}

d)

{0 1 2 3 5 7 9 4 8 6}

45.

ý tưởng phương pháp sắp xếp chọn tăng dần (select sort)

a)

Lần lượt lấy phần tử của danh sách chèn vị trí thích hợp của nó trong dãy.

b)

Phân đoạn dãy thành nhiều dãy con và lần lượt trộn hai dãy con thành dãy lớn hơn, cho đến khi thu được dãy ban đầu đã được sắp xếp.

c)

Bắt đầu từ cuối dãy đến đầu dãy, ta lần lượt so sánh hai phần tử kế tiếp nhau, nếu phần tử nào bé hơn được cho lên vị trí trên.

d)

Chọn phần tử bé nhất xếp vào vị trí thứ nhất bằng cách đổi chổ phần tử bé nhất với phần tử thứ nhất; Tương tự đối với phần tử nhỏ thứ hai,ba...

46.

Cho dãy số {6 1 3 0 5 7 9 2 8 4}. áp dụng phương pháp sắp xếp lựa chọn (Select sort) sau lần lặp đầu tiên của giải thuật ta có kết quả: {0 1 3 6 5 7 9 2 8 4}. Dãy số thu được sau lần lặp thứ hai là:

a)

{0 1 2 6 5 7 9 3 4 8}

b)

{0 1 2 6 5 7 9 3 8 4}

c)

{0 1 2 3 4 5 6 7 8 9}

d)

{0 1 3 6 5 7 9 2 8 4}

47.

Cho dãy số sau: 40 25 75 15 65 55 90 30 95 85. Áp dụng phương pháp sắp xếp nhanh (Quick_Sort), sau lượt 6 dãy sẽ được sắp xếp lại như thế nào?

a)

1 5 25 30 40 55 65 (90 75 85 95)

b)

1 5 25 30 40 55 65 (90 95 75 85)

c)

1 5 25 30 40 55 65 (90 75 95 85)

d)

1 5 25 30 40 55 65 (75 90 95 85)

48.

ý tưởng phương pháp sắp xếp nhanh (Quick sort) là:

a)

Bắt đầu từ cuối dãy đến đầu dãy, ta lần lượt so sánh hai phần tử kế tiếp nhau, nếu phần tử nào nhỏ hơn được đứng vị trí trên.

b)

Lần lượt chia dãy phần tử thành hai dãy con bởi một phần tử khoá (dãy con trước khoá gồm các phần tử nhỏ hơn khoá và dãy còn lại gồm các phần tử lớn hơn khoá).

c)

Chọn phần tử bé nhất xếp vào vị trí thứ nhất bằng cách đổi chổ phần tử bé nhất với phần tử thứ nhấ; Tương tự đối với phần tử nhỏ thứ hai,ba...

d)

Phân đoạn dãy thành nhiều dãy con và lần lượt trộn hai dãy con thành dãy lớn hơn, cho đến khi thu được dãy ban đầu đã được sắp xếp.

49.

Cho dãy số sau: 40 25 75 15 65 55 90 30 95 85. Áp dụng phương pháp sắp xếp lựa chọn, sau lượt 2 dãy sẽ được sắp xếp lại như thế nào?

a)

15 75 25 40 65 55 90 30 95 85

b)

15 25 75 40 65 55 90 30 95 85

c)

15 25 75 40 65 55 90 30 85 95

d)

15 25 75 40 55 65 90 30 95 85

50.

Cho dãy số {4 0 2 8 5 9 6 1 3 7}. áp dụng phương pháp sắp xếp chèn (Insert sort) sau lần lặp đầu tiên của giải thuật ta có kết quả:{0 4 2 8 5 9 6 1 3 7}. Dãy số thu được sau lần lặp thứ bảy là:

a)

{0 1 2 4 5 6 8 9 3 7}

b)

{0 1 2 4 5 8 9 6 3 7}

c)

{0 1 2 3 5 9 6 4 8 7}

d)

{0 2 4 5 8 9 6 1 3 7}

51.

Cho dãy số {4 0 2 8 5 9 6 1 3 7}. áp dụng phương pháp sắp xếp chèn (Insert sort) sau lần lặp đầu tiên của giải thuật ta có kết quả:{0 4 2 8 5 9 6 1 3 7}. Dãy số thu được sau lần lặp thứ ba là:

a)

{0-2-4-8-5-9-6-1-3-7}

b)

{0 1 2 8 5 9 6 4 3 7}

c)

{0 2 4 5 8 9 6 1 3 7}

d)

{0 2 3 8 5 9 6 1 4 7}

52.

Cho dãy số {4 0 2 8 5 9 6 1 3 7}. áp dụng phương pháp sắp xếp chèn (Insert sort) sau lần lặp đầu tiên của giải thuật ta có kết quả:{0 4 2 8 5 9 6 1 3 7}. Dãy số thu được sau lần lặp thứ tám là:

a)

{0 1 2 3 4 5 6 7 8 9}

b)

{0 1 2 4 5 6 8 9 3 7}

c)

{0 1 2 3 4 5 8 9 6 7}

d)

{0 1 2 3 4 5 6 8 9 7}

53.

Cho dãy số {4 7 0 9 2 5 3 1 8 6}. áp dụng phương pháp sắp xếp nổi bọt (Bubble sort) sau lần lặp đầu tiên của giải thuật ta có kết quả:{0 4 7 1 9 2 5 3 6 8}. Dãy số thu được sau lần lặp thứ bốn là:

a)

{0-1-2-3-4-7-5-9-6-8}

b)

{0 1 4 7 2 9 3 5 6 8}

c)

{0 1 2 3 4 7 9 5 6 8}

d)

{0 1 2 4 7 3 9 5 6 8}

54.

Thao tác Push(x) dùng trong Stack là để:

a)

Bổ sung một phần tử vào đỉnh Stack

b)

Bổ sung một dãy các phần tử vào đỉnh Stack.

c)

Bổ sung một phần tử vào đầu Stack

d)

Bổ sung một phần tử bất kì vào Stack

55.

Giả sử Q là Hàng đợi, các phần tử của nó có kiểu Item. Hàm sau làm nhiệm vụ gì

boolean F(Queue Q) {

F = (Q.rear = max);

}

a)

Thêm một phần tử vào hàng đợi

b)

Kiểm tra hàng đợi có rỗng hay không

c)

Khởi tạo một hàng đợi rỗng

d)

Kiểm tra hàng đợi đầy

56.

Trong lưu trữ dữ liệu kiểu Queue (Q), giả sử F là con trỏ trỏ tới lối trước của Q, R là con trỏ trỏ tới lối sau của Q. [ Khi thêm ] một phần tử vào Queue, thì R và F thay đổi thế nào?

a)

F=F-1, R không thay đổi

b)

F không thay đổi, R=R+1

c)

F không thay đổi, R=R-1

d)

F=F+1, R không thay đổi

57.

Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 3 trong Stack ta phải làm thế nào?

a)

POP(25), POP(23), PUSH(20), PUSH(25), PUSH(23)

b)

POP(25), POP(23), POP(20)

c)

POP(25), POP(23), POP(20), PUSH(23), PUSH(25)

d)

POP(25), POP(23), POP(20), PUSH(25), PUSH(23)

58.

Khi đổi một số nguyên từ hệ thập phân sang hệ nhị phân thì người ta dùng phép chia liên tiếp cho 2 và lấy các số dư (là các chữ số nhị phân) theo chiều ngược lại.

Cơ chế sắp xếp này chính là cơ chế hoạt động của cấu trúc dữ liệu:

a)

Ngăn xếp (stack)

b)

Hàng đợi(Queue)

c)

Bản (Record)

d)

Mảng (array)

59.

Tìm mô tả đúng cho hàm sau:

int SC (int M[], int Len, int CM[]) {

for (int i = 0; i < Len; i++)

CM[i] = M[i];

return (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 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 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. 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 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

60.

Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 4 trong Stack ta phải làm thế nào?

a)

POP(23)

b)

PUSH(25)

c)

PUSH(23)

d)

POP(25)

61.

Khi bổ sung một phần tử mới vào hàng đợi cần kiểm tra thì ...

a)

Hàng đợi có bao nhiêu phần tử

b)

Hàng đợi có đầy không

c)

Hàng đợi có rỗng không

d)

Hàng đợi có bao nhiêu giá trị bằng 0

62.

Để cài đặt Stack ta có thể dùng phương pháp nào sau đây?

a)

Bằng con trỏ và bằng mảng

b)

Bằng con trỏ

c)

Tất cả đều sai

d)

Bằng mảng

63.

hàng đợi còn được gọi là danh sách kiểu

a)

LOLO

b)

FIFO

c)

FILO

d)

LIFO

64.

Hàng đợi được viết tắt bởi sự kết hợp các từ sau

a)

FO

b)

FA

c)

FI

d)

FB

65.

Thao tác POP(x) dùng trong Stack là để:

a)

Xóa bỏ một dãy các phần tử ra khỏi Stack

b)

Xóa bỏ một phần tử bất kì khỏi Stack

c)

Lấy một phần tử cuối cùng ra khỏi đỉnh Stack

d)

Lấy phần tử đầu tiên ra khỏi Stack

66.

Trong lưu trữ dữ liệu kiểu Queue (Q), giả sử F là con trỏ trỏ tới lối trước của Q, R là con trỏ trỏ tới lối sau của Q. [ Khi loại bỏ ] một phần tử vào Queue, thì R và F thay đổi thế nào?

a)

F=F+1, R không thay đổi

b)

F=F-1, R không thay đổi

c)

F không thay đổi, R=R-1

d)

F không thay đổi, R=R+1

67.

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

a)

Linked

b)

ListTree

c)

Stack

d)

Queue

68.

Cho đoạn chương trình:

char S[] = “Helen”;

char *p = S;

char c = *(p+3);

Giá trị của c sẽ là:

a)

e

b)

l

c)

n

d)

h

69.

Khi chèn một phần tử vào danh sách (cài đặt bằng mảng) yêu cầu cần

a)

độ dài của danh sách = độ dài của mảng

b)

Độ dài của danh sách < độ dài của mảng

c)

độ dài của danh sách có thể tuỳ ý.

d)

Độ dài danh sách > độ dài của mảng

70.

Định nghĩa cấu trúc dữ liệu dạng danh sách (LIST)?

a)

Danh sách là kiểu dữ liệu mảng

b)

Danh sách là tập hợp các phần tử khác kiểu

c)

Danh sách là kiểu con trỏ

d)

Danh sách là một tập hợp các phần tử có cùng một kiểu mà ta gọi là kiểu phần tử (ElementType).

71.

Danh sách liên kết vòng là gì?

1. Danh sách liên kết vòng (Circular Linked List) là một biến thể của Danh sách liên kết (Linked List), trong đó phần tử đầu tiên trỏ tới phần tử cuối cùng và phần tử cuối cùng trỏ tới phần tử đầu tiên.,

2. Danh sách liên kết vòng (Circular Linked List) là một biến thể của Danh sách liên kết (Linked List), trong đó phần tử đầu tiên trỏ tới phần tử đầu tiên và phần tử cuối cùng trỏ tới phần tử cuối.

a)

1 sai, 2 đúng

b)

1 sai, 2 sai

c)

1 đúng, 2 đúng

d)

1 đúng, 2 sai

72.

Cho mảng một chiều A=(a1,a2,…,ax,…,an) và được lưu trữ liên tiếp. Giả thử mỗi phần tử của mảng chiếm 3 ô và phần tử đầu tiên F(1) có địa chỉ 23 thì phần tử F(4) có địa chỉ

a)

33

b)

35

c)

38

d)

41

73.

Có bao nhiêu loại hoạt động cơ bản trên danh sách liên kết vòng

a)

4

b)

1

c)

2

d)

3

74.

Đâu là phát biểu đúng về danh sách

a)

Tất cả đều sai.

b)

Chỉ có thể xóa phần tử đầu tiên trong danh sách.

c)

Chỉ có thể xóa phần tử cuối cùng trong danh sách.

d)

Có thể xóa một phần tử tại vị trí bất kì trong danh sách.

75.

Có mấy loại danh sách liên kết

a)

1

b)

2

c)

3

d)

4

76.

Thành phần liên kết của danh sách liên kết .....

a)

Lưu địa chỉ phần tử đứng sau trong danh sách

b)

Không có đáp án đúng

c)

Lưu địa chỉ phần tử đứng sau trong danh sách hoặc bằng NULL nếu là phần tử cuối danh sách

d)

Lưu địa chỉ phần tử đứng trước

77.

Cho giải thuật sau:

1.C(n,n)=C(n,0)=1

2.C(n,k)=C(n-1,k)+C(n-1,k-1) với n > k > 0

Giá trị của C(4,2) là

a)

3

b)

4

c)

5

d)

6

78.

Một danh sách trong đó tất cả các thao tác chèn thực hiện tại một đầu, thao tác xóa được thực hiện tại đầu kia của danh sách gọi là:

a)

Stack.

b)

Cây nhị phân.

c)

Cả 3 đáp án trên.

d)

Queue;

79.

Để tạo danh sách liên kết, theo bạn sinh viên nào dưới đây là khai báo đúng cấu trúc tự trỏ sẽ được dùng:

1- Sinh viên 1:

struct SV{char ht[25]; int tuoi; struct Sv *tiep;};

2- Sinh viên 2:

typedef

struct SV node;

struct SV{char ht[25]; int tuoi; node *tiep;};

3- Sinh viên 3:

typedef

struct SV{char ht[25]; int tuoi; struct SV *tiep;} node;

a)

2

b)

1

c)

3

d)

4

80.

Dấu hiệu nào dưới đây cho biết node p của một danh sách liên kết đơn là node cuối cùng bên phải:

a)

(p- > info!=NULL);

b)

(p- > info==NULL);

c)

(p- > next==NULL);

d)

(p- > next!=NULL);

81.

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

a)

(p- > right==NULL);

b)

(p- > next==NULL);

c)

(p==NULL);

d)

(p- > info==NULL);

82.

Cài đặt danh sách bằng mảng có nghiã là

a)

Dùng biến con trỏ lưu trữ các phần tử của danh sách.

b)

Tất cả đều đúng.

c)

Dùng một mảng (array) để lưu trữ liên tiếp các phần tử của danh sách bắt đầu từ vị trí đầu tiên của mảng.

d)

Dùng bản ghi có hai thành phần để lưu trữ các phần tử của danh sách

83.

Danh sách tuyến tính dạng ngăn xếp là

a)

Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp được thực hiện ở một đầu , và phép loại bỏ được thực hiện ở đầu kia.

b)

Là một danh sách tuyến tính trong đó phép bổ sung sung một phần tử vào ngăn xếp được thực hiện ở một đầu, Và phép loại bỏ không thực hiện được.

c)

Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp và phép loại bỏ một phần tử khỏi ngăn xếp luôn luôn thực hiện ở tại một vị trí bất kì trong danh sách.

d)

Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp và phép loại bỏ một phần tử khỏi ngăn xếp luôn luôn thực hiện ở một đầu gọi là đỉnh

84.

Mỗi nút trong cây có tối đa:

a)

2 nút con

b)

Nhiều nút con

c)

1 nút con

d)

3 nút con

85.

Cho cây nhị phân T có chiều cao là 6( nút gốc có mức 1) . Số nút tối đa của cây là:

a)

125

b)

90

c)

63

d)

31

86.

Khi thực hiện việc thêm một node x vào cây nhị phân tìm kiếm ta chỉ cần...

a)

Tìm vị trí thích hợp cho x trên toàn bộ cây

b)

Tìm vị trí thích hợp cho nhánh cây con ở bên trái

c)

Tìm vị trí thích hợp cho nhánh cây con bên phải

d)

Không đáp án đúng

87.

Khi lưu trữ cây nhị phân dưới dạng mảng, nếu vị trí của nút cha trong mảng là i thì vị tí của nút con phải là

a)

i-1

b)

2*i

c)

i+1

d)

2*i + 1

88.

Cây nhị phân khác rỗng là cây...

a)

Tất cả các nút đều có nút con

b)

Tất cả các nút đều có nút cha

c)

Mỗi nút có không quá 2 nút con

d)

Mỗi nút (trừ nút lá) đều có hai nút con

89.

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 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

90.

Cho cây nhị phân T, nút có địa chỉ 19 thì có nút cha ở địa chỉ nào

a)

9

b)

8

c)

7

d)

6

91.

Trong biểu diễn dữ liệu dưới dạng cây, nút có cấp bằng 0 gọi là:

a)

Không có đáp án nào đúng

b)

Gốc

c)

d)

Phần tử cuối cùng trong cây

92.

Cho dãy khoá 42,23,74,11,65,58,94,36

Lần lượt đưa dãy khoá trên vào cây nhị phân tìm kiếm. Nếu ta tìm kiếm trên cây nhị phân này thì trong trường hợp xấu nhất phải làm bao nhiêu phép so sánh

a)

4

b)

3

c)

2

d)

1

93.

Duyệt cây nhị phân theo thứ tự giữa được thực hiện theo thứ tự:

a)

Duyệt cây con trái theo thứ tự giữa, thăm gốc, duyệt cây con phải theo thứ tự giữa.

b)

Thăm gốc trước, duyệt cây con trái theo thứ tự giữa, duyệt cây con phải theo thứ tự sau.

c)

Duyệt cây con trái theo thứ tự trước, thăm gốc giữa, duyệt cây con phải theo thứ tự sau.

d)

Thăm gốc, duyệt cây con trái theo thứ tự giữa, duyệt cây con phải theo thứ tự giữa.

94.

Một cây nhị phân có chiều cao là 7, cây đó chỉ có 50 nút. Nếu lưu trữ kế tiếp thì lãng phí bao nhiêu ô ( nút gốc có mức 1, mỗi nút chiếm 1 ô ):

a)

15 ô

b)

25 ô

c)

70 ô

d)

77 ô

95.

Trong các cấu trúc dữ liệu sau đâu là dữ liệu trừu tượng

a)

Cấu trúc dữ liệu kiểu hàng đợi(QUEUE)

b)

Cấu trúc dữ liệu dạng danh sách(LIST)

c)

Cấu trúc dữ liệu dạng StacK

d)

Cấu trúc dữ liệu số nguyên

96.

Tính chất nào sau đây là tính chất của cây nhị phân tìm kiếm?

a)

Mọi khóa thuộc cây con phải nút đó đều nhỏ hơn khóa cây con trái nút đó

b)

Mọi khoá thuộc cây con phải nút đó đều nhỏ hơn khoá ứng với nút đó

c)

Mọi khóa thuộc cây con phải nút đó đều lớn hơn khóa ứng với nút đó

d)

Mọi khóa thuộc cây con trái nút đó đều bằng khóa cây con phải nút đó

97.

Cho dãy khoá 42,23,74,11,65,58,94,36

Lần lượt đưa dãy khoá trên vào cây nhị phân tìm kiếm. Bây giờ ta muốn tìm kiếm xem trong dãy khoá trên có khoá 105 không thì phải làm bao nhiêu phép so sánh:

a)

1

b)

2

c)

3

d)

4

98.

Duyệt cây nhị phân theo thứ tự sau được thực hiện theo thứ tự:

a)

Thăm gốc trước, duyệt cây con trái theo thứ tự giữa, duyệt cây con phải theo thứ tự sau.

b)

Duyệt cây con trái theo thứ tự sau, duyệt cây con phải theo thứ tự sau, thăm gốc.

c)

Thăm gốc, duyệt cây con trái theo thứ tự sau, duyệt cây con phải theo thứ tự sau.

d)

Duyệt cây con trái theo thứ tự trước, thăm gốc giữa, duyệt cây con phải theo thứ tự sau.

99.

Kết quả của đoạn chương trình sau là gì:

char c;

int n;

printf("%d%c",&n,&c);

Nếu gõ vào : ”10 T”.

a)

B=8;

b)

c=''.

c)

A=0;

d)

n=10

100.

cho dãy số 27 40 -7 5 57, thực hiện bước thứ 1, khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp dãy theo thứ tự giảm, ta có được dãy mới là gì?

a)

57 -7 27 5 40

b)

40 27 -7 5 57

c)

57 27 -7 5 40

d)

57 5 -7 27 40

101.

Nếu x là một biến toàn cục và x không phải là một con trỏ thì:

a)

Miền nhớ dành cho x sẽ thay đổi bởi những thao tác với x trong tất cả các hàm, kể cả hàm main().

b)

Miền nhớ dành cho x có thể thay đổi trong quá trình thực hiện chương trình.

c)

Miền nhớ dành cho x chỉ có thay đổi bởi những thao tác với x bên trong hàm main().

d)

Miền nhớ giành cho x không bị thay đổi trong quá trình thực hiện chương trình.

102.

Các hoạt động cơ bản trên Danh sách liên kết vòng

a)

Xóa

b)

Chèn

c)

Không có đáp án nào là đúng

d)

Hiển thị

103.

Ý tưởng của giải thuật tìm kiếm nhị phân:

a)

So sánh X lần lượt với các phần tử thứ nhất, thứ hai,... của dãy cho đến khi gặp phần tử có khoá cần tìm.

b)

Lần lượt chia dãy thành hai dãy con dựa vào phần tử khoá, sau đó thực hiện việc tìm kiếm trên hai đoạn đã chia.

c)

Tìm kiếm dựa vào cây nhị tìm kiếm.

d)

Tại mỗi bước tiến hành so sánh X với phần tử ở giữa của dãy,Dựa vào bước so sánh này quyết định giới hạn dãy tìm kiếm nằm ở nửa trên, hay nửa dưới của dãy hiện hành.

104.

Cho cây nhị phân T, nút có địa chỉ 7 có 2 con ở địa chỉ nào:

a)

14

b)

15

c)

16

d)

19

105.

Cho đoạn chương trình sau:

long Tong(unsigned n)

{

if(n==0)

return 1;

return n+Tong(n-2);

}

Cho biết chức năng của đoạn chương trình trên dùng để tính cho biểu thức nào

a)

S(n)=2+4+6+…+(2.n+1) với n > =0

b)

Đáp án khác

c)

S(n)=1+3+5+…+(2.n+1) với n > =0

d)

S(n)=1+2+4+…+(2.n+1) với n > =0

106.

Tính chất nào sau đây là tính chất của cây nhị phân tìm kiếm:

a)

Mọi khóa thuộc cây con trái nút đó đều lớn hơn khóa ứng với nút đó

b)

Mọi khóa thuộc cây con trái nút đó đều nhỏ hơn khóa ứng với nút đó

c)

Mọi khóa thuộc cây con trái nút đó đều lớn hơn khóa cây con phải nút đó

d)

Mọi khóa thuộc cây con trái nút đó đều bằng khóa cây con phải nút đó

107.

Ngôn ngữ lập trình nào dưới đây là ngôn ngữ lập trình có cấu trúc?

a)

Ngôn ngữ Cobol.

b)

Pascal

c)

Ngôn ngữ C

d)

Ngôn ngữ Assembler.

108.

Giả sử có câu lệnh ch[]= "A". ch chứa bao nhiêu bytes

a)

1

b)

2

c)

3

d)

4

109.

Mảng là

a)

Một nhóm phần tử có cùng kiểu và chung tên gọi.

b)

Một nhóm phần tử có thể có kiểu riêng và tên gọi riêng cho mỗi phần tử.

c)

Là một kiểu dữ liệu cơ sở đã định sẵn của ngôn ngữ lập trình C.

d)

Một nhóm phần tử có thể có kiểu riêng và chung tên gọi.

110.

Với Stack được cài đặt bằng mảng, thủ tục sau để làm gì?

void MNullStack (Stack s) {

S.Top =Maxlenght + 1;

}

a)

Thủ tục chèn một giá trị vào stack

b)

Thủ tục khởi tạo Stack rỗng

c)

Thủ tục cập nhật giá trị vào stack

d)

Thủ tụcTạo mới một StacK

111.

Danh sách tuyến tính là

a)

Danh sách mà quan hệ lân cận giữa các phần tử được xác định.

b)

Danh sách tuyến tính là một danh sách rỗng.

c)

Danh sách tuyến tính là một danh sách có dạng (a1, a2, ..., an).

d)

Danh sách dạng được lưu dưới dạng mảng.

112.

Để thêm một đối tượng x bất kỳ vào Stack, thao tác thường dùng là:

a)

EMPTY(x).

b)

POP(x).

c)

PUSH(x).

d)

TOP(x).

113.

Cây 5 phân có nghĩa là gì?

a)

Nút có cấp lớn nhất là 5

b)

Cây đó có 5 nút

c)

Mức có nhiều nút nhất là 5

d)

Cây có chiều cao là 5

114.

Kiểu dữ liệu float có thể xử lí dữ liệu trong phạm vi nào

a)

-128 đến 127

b)

0…65535.

c)

3.4*10-38 đến 3.4*1038

d)

-32768 đến 32767

115.

Queue (hàng đợi) là kiểu danh sách tuyến tính mà phép loại bỏ thực hiện ở 1 đầu gọi là lối

a)

front

b)

real

c)

infor

d)

node

116.

Không gian nhớ dùng để lưu trữ các node của danh sách liên kết kép:

a)

Lưu trữ theo kiểu phân đoạn

b)

Lưu trữ rởi rác trong bộ nhớ.

c)

Lưu trữ theo kiểu phân trang.

d)

Luôn lưu trữ liên tục trong bộ nhớ.

117.

Danh sách liên kết đôi là gì?

1. Là một biến thể của Danh sách liên kết (Linked List), trong đó hoạt động duyệt qua các nút có thể được thực hiện theo hai chiều: về trước và về sau một cách dễ dàng khi so sánh với Danh sách liên kết đơn.

2. Là một biến thể của danh sách liên kết đơn, nhưng do 2 danh sách đơn cộng lại, Không có đáp án nào đúng

a)

1 sai, 2 sai

b)

1 đúng, 2 đúng

c)

1 sai, 2 đúng

d)

1 đúng, 2 sai

118.

Trường hợp cơ sở của giải thuật đệ quy là

a)

Trường hợp bài toán Pn, có quy mô đủ nhỏ để ta có thể giải trực tiếp.

b)

Cả hai đáp án trên đều đúng

c)

Trường hợp bài toán Pn, có quy mô rất lớn để ta có thể giải trực tiếp.

d)

Cả hai đáp án trên đều sai

119.

Danh sách khai báo bằng con trỏ. Hàm sau có chức năng gì?

Boolean EList( ListvHeader )

{

Elist = (Header.Next = Nil);

}

a)

Đưa con trỏ về cuối danh sách.

b)

Khởi tạo danh sách rỗng

c)

Tạo mới một danh sách

d)

Kiểm tra danh sách rỗng

120.

Cho cây nhị phân T có 70 nút cấp 2 ( có 2 con).Cây đó có bao nhiêu nút lá( không có con):

a)

149

b)

71

c)

83

d)

124

121.

Danh sách khai báo bằng con trỏ. Thủ tục sau có chức năng gì?"

void MnullList ( List Header)

{

New (Header);

Header.Next : = Nil;

}

a)

Thủ tục khởi tạo danh sách rỗng

b)

Thủ tục tạo mới danh sách

c)

Thủ tục đưa con trỏ vào biến Nil

d)

Kiểm tra danh sách rỗng

122.

Cho dãy số {6 1 3 0 5 7 9 2 8 4}. áp dụng phương pháp sắp xếp lựa chọn (Select sort) sau lần lặp đầu tiên của giải thuật ta có kết quả: {0 1 3 6 5 7 9 2 8 4}. Dãy số thu được sau lần lặp thứ bảy là:

a)

{0 1 2 3 4 5 6 7 8 9}

b)

{0 1 2 3 4 5 9 6 8 7}

c)

{0 1 2 3 4 5 9 6 8 7}

d)

{0 1 2 3 4 5 6 9 8 7}

123.

Cho dãy số {4 0 2 8 5 9 6 1 3 7}. áp dụng phương pháp sắp xếp chèn (Insert sort) sau lần lặp đầu tiên của giải thuật ta có kết quả:{0 4 2 8 5 9 6 1 3 7}. Dãy số thu được sau lần lặp thứ ba là:

a)

{0 2 3 8 5 9 6 1 4 7}

b)

{0 2 4 8 5 9 6 1 3 7}

c)

{0 2 4 5 8 9 6 1 3 7}

d)

{0 1 2 8 5 9 6 4 3 7}

124.

Cho cây nhị phân T. Phép duyệt thứ tự trước cho kết quả là

a)

ADBCEFG

b)

AEDBCFG

c)

ABDECFG

d)

AEBDCGF

125.

Cho dãy số {4 7 0 9 2 5 3 1 8 6}. áp dụng phương pháp sắp xếp nổi bọt (Bubble sort) sau lần lặp đầu tiên của giải thuật ta có kết quả:{0 4 7 1 9 2 5 3 6 8}. Dãy số thu được sau lần lặp thứ ba là:

a)

{0 1 2 3 4 7 5 9 6 8}

b)

{0 4 7 1 9 2 5 3 6 8}

c)

{0 1 2 4 7 3 9 5 6 8}

d)

{0 1 4 7 2 9 3 5 6 8}