lOMoARcPSD| 45474828
CÂU HỎI TRÁCH NGHIỆM
Câu 1: Giải thuật đệ quy là:
A) Trong giải thuật của nó có lời gọi tới chính nó nhưng với phạm vi nhỏ hơn.
B) Trong giải thuật của nó có lời gọi tới chính nó nhưng với phạm vi lớn hơn.
C) Trong giải thuật của nó có lời gọi tới một giải thuật khác đã biết kết quả.
D) Trong giải thuật của nó có lời gọi tới chính nó.
Câu 2: Đặ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) 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.
C) 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. D) Tất cả đều
đúng.
Câu 3: 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 dạng được lưu dưới dạng mảng.
C) Danh sách tuyến tính là một danh sách rỗng.
D) Danh sách tuyến tính là một danh sách có dạng (a1, a2, ..., an).
Câu 4: ưu điểm của việc cài đặt danh sách bằng mảng:
A) Có thể bổ sung hoặc xóa một phần tử bất kỳ trong mảng.
B) Việc truy nhập vào phần tử của mảng được thực hiện trực tiếp dựa vào địa chỉ
tính được (chỉ số), nên tốc độ nhanh và đồng đều đối với mọi phần tử. C)
thể thay đổi số lượng phần tử theo ý muốn của người dùng.
D) Tất cả các ý trên đều đúng.
Câu 5: 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 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 .
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.
lOMoARcPSD| 45474828
D) 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âu 6: Danh sách tuyến tính dạng ngăn xếp làm việc theo nguyên tắc:
A) FIFO( first in first out)
B) LILO(last in last out)
C) LIFO(last in first out)
D) FOLO( fisrt out last out) Câu 7: 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) Hàng đợi(Queue)
B) Mảng (array)
C) Bản gCâu Record)
D) Ngăn xếp (stack)
Câu 8: định nghĩa danh sách tuyến tính Hàng đợi (Queue)
A) Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử
được thực hiện ở một đầu, gọi là lối sau (rear) hay lối trước (front). Phép loại
bỏ không thực hiện được.
B) Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung phần tử ở một
đầu, gọi là lối sau (rear) và phép loại bỏ phần tử được thực hiện ở đầu kia, gọi
là lối trước (front).
C) Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử
hay loại bỏ được thực hiện ở một đầu danh sách gọi là đỉnh (Top).
D) Là một danh sách tuyến tính trong đó phép bổ sung một phần tử và phép loại
bỏ một phần tử được thực hiện ở tại một vị trí bất kì trong danh sách.
Câu 9: Hàng đợi còn được gọi là danh sách kiểu:
A) FIFO( first in first out)
B) LILO(last in last out)
C) LIFO(last in first out)
D) FOLO( fisrt out last out)
Câu 10: Để thêm một đối tượng x bất kỳ vào Stack, thao tác thường
dùng là:
lOMoARcPSD| 45474828
A) POP(x).
B) EMPTY(x).
C) TOP(x).
D) PUSH(x).
Câu 11: Để lấy loại bỏ một đối tượng ra khỏi Stack, thao tác thường
dùng là:
A) PUSH(x)
B)
POP(x)
C) EMPTY(x)
D) FULL(x)
Câu 12: Để biểu diễn Stack, ta thường sử dụng kiểu dữ liệu nào sau
đây?
B) Kiểu bản ghi
C) Mảng dữ liệu
D) Danh sách móc nối
Câu 13: 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 phần tử đầu tiên ra khỏi Stack
D) Lấy một phần tử cuối cùng ra khỏi đỉnh Stack
Câu 14: Thao tác Push(x) dùng trong Stack là để:
A) Bổ sung một phần tử vào đầu 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 đỉnh Stack
D) Bổ sung một phần tử bất kì vào Stack Câu 15: 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), POP(20)
B) POP(25), POP(23), POP(20), PUSH(23), PUSH(25)
C) POP(25), POP(23), POP(20), PUSH(25), PUSH(23)
D) POP(25), POP(23), PUSH(20), PUSH(25), PUSH(23)
A)
Danh sách móc nối và mảng dữ liệu
lOMoARcPSD| 45474828
Câu 16: Trong lưu trữ dữ liệu kiểu Queue (Q) dưới dạng mảng nối
vòng, 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. Điều kiện F=R=0 nghĩa là:
A) Queue rỗng
B) Kiểm tra chỉ số trước và chỉ số sau của Queue có bằng nhau không.
C) Queue tràn
D) Đặt phần tử đầu và phần tử cuối của Queue bằng 0 Câu 17: 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=F+1, R không thay đổi
D) F không thay đổi, R=R+1 Câu 18: 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 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
Câu 19: Trong biểu diễn dữ liệu dưới dạng cây, cấp của cây chính
A) Cấp cao nhất của nút lá
B) Cấp cao nhất của một nút trên cây
C) Tổng số nút trên cây
D) Cấp cao nhất của nút gốc
Câu 20: 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)
B) Phần tử cuối cùng trong cây
C) Không có đáp án nào đúng
D) Gốc
Câu 21: Mỗi nút trong cây có thể có tối đa:
lOMoARcPSD| 45474828
Câu 22: 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ị trí của nút con trái là:
A) i-1
B)
2*i
C) i+1
D) 2*i + 1
Câu 23: 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ị trí của nút con phải là:
A) i+1
B) 2*i
C)
2*i + 1
D) i-1
Câu 24: 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à 3 thì vị trí tương ứng của nút con sẽ là:
A) 6
B)
6 và 7
C) 4
D) 7
Câu 25: 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à 3 thì vị trí tương ứng của nút con trái sẽ là:
A) 2
B) 4
C) 7
D) 6
Câu 26: 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à 3 thì vị trí tương ứng của nút con phải sẽ là:
A) 2
B) 4
C) 6
A)
1
nút con
B)
Nhiều nút co
n
C)
3
nút con
D)
2
nút con
lOMoARcPSD| 45474828
D) 7
Câu 27: Duyệt cây nhị phân theo thứ tự trước được thực hiện theo thứ
tự:
A) 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.
B) Duyệt cây con trái theo thứ tự sau, thăm gốc trước, duyệt cây con phải theo
thứ tự sau.
C) Nút gốc, duyệt cây con trái theo thứ tự trước, duyệt cây con phải theo thứ tự
trước.
D) 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âu 28: Duyệt cây nhị phân theo thứ tự giữa đượ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ự trước, thăm gốc giữa, duyệt cây con phải theo
thứ tự sau.
C) 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.
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.
Câu 29: Duyệt cây nhị phân theo thứ tự sau được thực hiện theo thứ
tự:
A) 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.
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) 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 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âu 30: ý tưởng phương pháp sắp xếp chọn tăng dần (select sort)
lOMoARcPSD| 45474828
A) 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...
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) 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.
D) 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.
Câu 31: ý tưởng phương pháp sắp xếp nổi bọt (bubble 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) 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) 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) 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.
Câu 32: ý 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) 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 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.
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ương tự đối với phần tử nhỏ thứ hai,ba... Câu 33:
ý tưởng phương pháp sắp xếp nhanh (Quick 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) 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...
lOMoARcPSD| 45474828
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.
Câu 34: Phương pháp sắp xếp nhanh (Quick sort) chính là phương
pháp:
Câu 35: ý tưởng phương pháp sắp xếp Trộn (Merge 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) 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) 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á).
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...
Câu 36: Ý 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) 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.
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.
Câu 37: Ý tưởng của giải thuật tìm kiếm tuần tự
A) 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.
B) 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.
A)
Phân đoạ
n
B)
Vun đống
C)
Chèn
D)
Trộn
lOMoARcPSD| 45474828
C) 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.
D) 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âu 38: 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) 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) 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.
C) 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.
D) 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âu 39: Cây nhị phân tìm kiếm là:
A) Là cây nhị phân đầy đủ.
B) Cây nhị phân mà mỗi nút trong cây đều thoả tính chất: giá trị của nút cha nhỏ
hơn mọi nút trên cây con trái và lớn hơn mọi nút trên cây con phảI của nó.
C) Cây nhị phân mà mỗi nút trong cây đều thoả tính chất: giá trị của nút cha lớn
hơn giá trị của hai nút con.
D) Cây nhị phân thoả tính chất heap
Câu 40: Trong các giải thuật sắp xếp, giải thuật nào áp dụng phương
pháp "Chia để trị"?
A) Quick sort, Heap sort
B) Quick sort, Bubble sort
C) Qucick sort, Insert sort
D) Quick sort, Merge sort
Câu 41: 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) . 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}
lOMoARcPSD| 45474828
C) {0 1 3 6 5 7 9 2 8 4}
D) {0 1 2 3 4 5 6 7 8 9}
Câu 42: 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) . Dãy số thu được sau lần lặp thứ ba là:
Câu 43: 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) . Dãy số thu được sau lần lặp thứ bốn là:
A) {0 1 2 3 5 9 6 4 8 7}
B) {0 4 2 8 5 9 6 1 3 7}
C) {0 1 2 8 5 9 6 4 3 7}
D) {0 2 4 5 8 9 6 1 3 7}
Câu 44: Cho dãy số {3 1 6 0 5 4 8 2 9 7}. áp dụng phương pháp sắp xếp
nhanh (Quick sort) . Dãy số thu được sau lần lặp thứ bốn là:
A) {0 1 2 3 (5 4 8 6 9 7)}
B) {0 1 (2) 3 (5 4) 8 (6 9 7)}
C) {(3) 1 (6 0) 5 (4 8) 2 (9 7)}
D) {(0) 1 (2 3) 4 (5 6) 7 (8 9)}
Câu 45: Cho dãy số: 12 2 8 5 1 6 4 15 và các bước sắp xếp sau:
Bước 1: 1 2 8 5 12 6 4 15
Bước 2: 1 2 8 5 12 6 4 15
Bước 3: 1 2 4 5 12 6 8 15
Bước 4: 1 2 4 5 12 6 8 15
Bước 5: 1 2 4 5 6 12 8 15
Bước 6: 1 2 4 5 6 8 12 15
Các bước trên dựa theo giải thuật sắp xếp nào?
A) Select sort
B) Quick sort
C) Insert sort
D) Bubble sort
Câu 46: Cho dãy số: "4 7 0 9 2 5 3 1 8 6" và các bước sắp xếp sau:
A)
{0
1 2 4 7 3 9 5 6
8}
B)
{0
1 2 3 4 7 5 9 6
8}
C)
{0
4 7 1 9 2 5 3 6
8}
D)
{0
1 4 7 2 9 3 5 6
8}
lOMoARcPSD| 45474828
Bước 1: 0 4 7 1 9 2 5 3 6 8”
Bước 2: 0 1 4 7 2 9 3 5 6 8
Bước 3: 0 1 2 4 7 3 9 5 6 8
Bước 4: 0 1 2 3 4 7 5 9 6 8
Bước 5: 0 1 2 3 4 5 7 6 9 8
Bước 6: 0 1 2 3 4 5 6 7 8 9
Các bước trên dựa theo giải thuật sắp xếp nào?
A) Bubble sort
B) Select sort
C) Quick sort
D) Insert sort
Câu 47: Cho dãy số: "5 1 4 2 7 3" và các bước sắp xếp sau:
Bước 1: 1 5 4 2 7 3”
Bước 2: 1 4 5 2 7 3
Bước 3: 1 2 4 5 7 3
Bước 4: 1 2 4 5 7 3
Bước 5: 1 2 3 4 5 7
Các bước trên dựa theo giải thuật sắp xếp nào?
A) Select sort
B) Insert sort
C) Quick sort
D) Bubble sort
Câu 48: Cho dãy số : 3 1 6 0 5 4 8 2 9 7 và các bước sắp xếp sau:
Bước 1: 1 3 6 0 5 4 8 2 9 7
Bước 2: 1 3 6 0 5 4 8 2 9 7
Bước 3: 1 3 6 0 5 4 8 2 9 7 Bước
4: 0 1 3 5 6 4 8 2 9 7
Bước 5: 0 1 3 5 6 4 8 2 9 7
Bước 6: 0 1 3 5 6 2 4 8 9 7
Bước 7: 0 1 3 5 6 2 4 8 7 9
Bước 8: 0 1 3 5 6 2 4 7 8 9
Bước 9: 0 1 2 3 4 5 6 7 8 9
Các bước trên dựa theo giải thuật sắp xếp nào?
lOMoARcPSD| 45474828
A) Quick sort
B) Select sort
C) Merge sort
D) Insert sort
Câu 49: Cho dãy ssau: 10 11 14 32 36 43 55 57 87 97 . Áp dụng phương
pháp tìm kiếm nhị phân, sau bao nhiêu lần phân đoạn ta sẽ tìm thấy số 43?
A) 2 lần
B) 4 lần
C)
3 lần
D) 5 lần
Câu 50: 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) Đáp án A và C.
C) Mọi khóa thuộc cây con trái nút đó đều nhỏ hơn khóa ứng với nút đó.
D) 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 đó/
Câu 51: Chọn câu trả lời đúng nhất về thuật toán
A) Thuật toán là một dãy hữu hạn các bước, mỗi bước mô tả chính xác các
phép toán hoặc hành động cần thực hiện để giải quyết vấn đề đặt ra.
B) Thuật toán là một dãy hữu hạn các bước, tất cả các phép toán có mặt trong
các bước của thuật toán phải đủ đơn giản. C) Thuật toán là nòng cốt của
chương trình.
D) Thuật toán cần có một hoặc nhiều dữ liệu ra (output) ,dữ liệu vào (input).
Câu 52: sắp xếp theo thứ tự tăng dần của cấp thời gian thực hiện
chương trình
Chú ý: (log2n) = Log cơ số 2 của n
A) O(nlog2n),O(n),O(log2n),O(1)
B) O(log2n),O(n),O(nlog2n),O(1)
C) O(1),O(nlog2n),O(n),O(log2n) D) O(1),O(log2n),O(n),O(nlog2n)
Câu 53: GiảI thuật đệ quy la:
A) Nếu lời giải của của một bài toán T được giải bằng lời giải của một bài toán
T1 khác T , thì lời giải đó được gọi là lời giải đệ quy.
lOMoARcPSD| 45474828
B) Nếu lời giải của của một bài toán T được giải bằng lời giải của một bài toán
T1, có dạng giống như T, thì lời giải đó được gọi là lời giải đệ quy.
C) Nếu lời giải của của một bài toán T được giải bằng lời giải của một bài toán
T1 mà T1 giảI được thì lời giải đó được gọi là lời giải đệ quy.
D) Nếu lời giải của của một bài toán T được giải bằng lời giải của một bài toán
T1 mà T1 có độ phức tạp khác T , thì lời giải đó được gọi là lời giải đệ quy.
Câu 54: Định nghĩa cấu trúc dữ liệu Stack:
A) Stack là một danh sách đặc biệt mà phép thêm vào được thực hiện ở một đầu
,Và phép loại bỏ được thực hiện ở phần kia của stack.
B) Stack là một danh sách đặc biệt mà phép thêm vào hoặc loại bỏ một phần tử
chỉ thực hiện tại một đầu gọi là đỉnh (Top) của Stack. C) Stack là danh sách
kết nối.
D) Stack là cấu trúc dữ liệu được cài đặt bằng con trỏ.
Câu 55: Để 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âu 56: Hãy cho biết hàm sau dùng để làm gì
Position ham (List L) {
Position P; P=L;
while (P->Next!=NULL)
P=P->Next; return P;
}
A) Xác định phần tử đầu tiên.
B) Xác định phần tử cuối cùng.
C) Xác định phần tử đứng sau P.
D) Xác định phần tử đứng trước P.
Câu 57: Hãy cho biết hàm sau dùng để làm gì?
Position ham2 (ElementType X, List L)
C)
Bằng mảng
D)
Tất cả đều sa
i
lOMoARcPSD| 45474828
{ Position
P; int f=0;
P=L; while (P-
>Next!=NULL&&f==0) if (P-
>Next->Element==X) f=1; else
P=P->Next; return P->Next;
}
A) Xác định vị trí phần tử đứng sau X.
B) Xác định vị trí của phần tử có nội dung là X.
C) Xác định phần tử đứng sau X.
D) Xác định vị trí phần tử đứng trước X.
Câu 58: Hãy cho biết hàm sau dùng để làm gì?
void ham3 (ElementType X, List &L)
{
Position P,Q;
P=L;
while (P->Next!=NULL)
{
if (P->Next->Element==X) Q=P->Next;
P=P->Next;
}
while (L->Next!=Q->Next)
{
cout<<L->Next->Element<<" ";
L=L->Next;
}
}
A) In từ đầu danh sách đến X.
B) In từ đầu danh sách đến X xuất hiện đầu tiên.
C) In từ đầu danh sách đến X xuất hiện cuối cùng. D) In từ đầu
danh sách đến X xuất hiện lần 2.
Câu 59: Hãy cho biết hàm sau dùng để làm gì?
void them (ElementType X, ElementType Y, List &L)
{
Position P,Q; P=L;
while (P->Next!=NULL)
lOMoARcPSD| 45474828
{ if (P->Next->Element==Y) Q=P->Next;
P=P->Next;
}
InsertList(X,Q,L);
A) Thêm X vào sau Y xuất hiện sau cùng.
B) Thêm X vào trước Y xuất hiện sau cùng.
C) Thêm X vào sau Y xuất hiện đầu tiên.
D) Thêm X vào trước Y xuất hiện đầu tiên.
Câu 60: Hãy cho biết hàm sau dùng để làm gì?
void xoa (ElementType X, List &L)
{
Position P;
P=L;
while (P->Next!=NULL)
{
if (P->Next->Element==X) DeleteList(P,L);
else P=P->Next;
}
PrintList(L);
}
A) Xóa phần tử có nội dung là X đầu tiên.
B) Xóa phần tử có nội dung là X cuối cùng.
C) Xóa tất cả phần tử có nội dung là X. D) Xóa phần tử tại vị trí
X

Preview text:

lOMoAR cPSD| 45474828
CÂU HỎI TRÁCH NGHIỆM
Câu 1: Giải thuật đệ quy là:
A) Trong giải thuật của nó có lời gọi tới chính nó nhưng với phạm vi nhỏ hơn.
B) Trong giải thuật của nó có lời gọi tới chính nó nhưng với phạm vi lớn hơn.
C) Trong giải thuật của nó có lời gọi tới một giải thuật khác đã biết kết quả.
D) Trong giải thuật của nó có lời gọi tới chính nó.
Câu 2: Đặ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) 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.
C) 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. D) Tất cả đều đúng.
Câu 3: 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 dạng được lưu dưới dạng mảng.
C) Danh sách tuyến tính là một danh sách rỗng.
D) Danh sách tuyến tính là một danh sách có dạng (a1, a2, ..., an).
Câu 4: ưu điểm của việc cài đặt danh sách bằng mảng:
A) Có thể bổ sung hoặc xóa một phần tử bất kỳ trong mảng.
B) Việc truy nhập vào phần tử của mảng được thực hiện trực tiếp dựa vào địa chỉ
tính được (chỉ số), nên tốc độ nhanh và đồng đều đối với mọi phần tử. C) Có
thể thay đổi số lượng phần tử theo ý muốn của người dùng.
D) Tất cả các ý trên đều đúng.
Câu 5: 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 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 .
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. lOMoAR cPSD| 45474828
D) 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âu 6: Danh sách tuyến tính dạng ngăn xếp làm việc theo nguyên tắc: A) FIFO( first in first out) B) LILO(last in last out) C) LIFO(last in first out)
D) FOLO( fisrt out last out) Câu 7: 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) Hàng đợi(Queue) B) Mảng (array) C) Bản gCâu Record) D) Ngăn xếp (stack)
Câu 8: định nghĩa danh sách tuyến tính Hàng đợi (Queue)
A) Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử
được thực hiện ở một đầu, gọi là lối sau (rear) hay lối trước (front). Phép loại
bỏ không thực hiện được.
B) Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung phần tử ở một
đầu, gọi là lối sau (rear) và phép loại bỏ phần tử được thực hiện ở đầu kia, gọi là lối trước (front).
C) Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử
hay loại bỏ được thực hiện ở một đầu danh sách gọi là đỉnh (Top).
D) Là một danh sách tuyến tính trong đó phép bổ sung một phần tử và phép loại
bỏ một phần tử được thực hiện ở tại một vị trí bất kì trong danh sách.
Câu 9: Hàng đợi còn được gọi là danh sách kiểu: A) FIFO( first in first out) B) LILO(last in last out) C) LIFO(last in first out) D) FOLO( fisrt out last out)
Câu 10: Để thêm một đối tượng x bất kỳ vào Stack, thao tác thường dùng là: lOMoAR cPSD| 45474828 A) POP(x). B) EMPTY(x). C) TOP(x). D) PUSH(x).
Câu 11: Để lấy loại bỏ một đối tượng ra khỏi Stack, thao tác thường dùng là: A) PUSH(x) B) POP(x) C) EMPTY(x) D) FULL(x)
Câu 12: Để biểu diễn Stack, ta thường sử dụng kiểu dữ liệu nào sau đây?
A) Danh sách móc nối và mảng dữ liệu B) Kiểu bản ghi C) Mảng dữ liệu D) Danh sách móc nối
Câu 13: 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 phần tử đầu tiên ra khỏi Stack
D) Lấy một phần tử cuối cùng ra khỏi đỉnh Stack
Câu 14: Thao tác Push(x) dùng trong Stack là để:
A) Bổ sung một phần tử vào đầu 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 đỉnh Stack
D) Bổ sung một phần tử bất kì vào Stack Câu 15: 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), POP(20)
B) POP(25), POP(23), POP(20), PUSH(23), PUSH(25)
C) POP(25), POP(23), POP(20), PUSH(25), PUSH(23)
D) POP(25), POP(23), PUSH(20), PUSH(25), PUSH(23) lOMoAR cPSD| 45474828
Câu 16: Trong lưu trữ dữ liệu kiểu Queue (Q) dưới dạng mảng nối
vòng, 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. Điều kiện F=R=0 nghĩa là:
A) Queue rỗng
B) Kiểm tra chỉ số trước và chỉ số sau của Queue có bằng nhau không. C) Queue tràn
D) Đặt phần tử đầu và phần tử cuối của Queue bằng 0 Câu 17: 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=F+1, R không thay đổi
D) F không thay đổi, R=R+1 Câu 18: 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 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
Câu 19: Trong biểu diễn dữ liệu dưới dạng cây, cấp của cây chính
A) Cấp cao nhất của nút lá
B) Cấp cao nhất của một nút trên cây
C) Tổng số nút trên cây
D) Cấp cao nhất của nút gốc
Câu 20: 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) Lá
B) Phần tử cuối cùng trong cây
C) Không có đáp án nào đúng D) Gốc
Câu 21: Mỗi nút trong cây có thể có tối đa: lOMoAR cPSD| 45474828 A) 1 nút con B) Nhiều nút co n C) 3 nút con D) 2 nút con
Câu 22: 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ị trí của nút con trái là: A) i-1 B) 2*i C) i+1 D) 2*i + 1
Câu 23: 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ị trí của nút con phải là: A) i+1 B) 2*i C) 2*i + 1 D) i-1
Câu 24: 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à 3 thì vị trí tương ứng của nút con sẽ là: A) 6 B) 6 và 7 C) 4 D) 7
Câu 25: 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à 3 thì vị trí tương ứng của nút con trái sẽ là: A) 2 B) 4 C) 7 D) 6
Câu 26: 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à 3 thì vị trí tương ứng của nút con phải sẽ là: A) 2 B) 4 C) 6 lOMoAR cPSD| 45474828 D) 7
Câu 27: Duyệt cây nhị phân theo thứ tự trước được thực hiện theo thứ tự:
A) 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.
B) Duyệt cây con trái theo thứ tự sau, thăm gốc trước, duyệt cây con phải theo thứ tự sau.
C) Nút gốc, duyệt cây con trái theo thứ tự trước, duyệt cây con phải theo thứ tự trước.
D) 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âu 28: Duyệt cây nhị phân theo thứ tự giữa đượ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ự trước, thăm gốc giữa, duyệt cây con phải theo thứ tự sau.
C) 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.
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.
Câu 29: Duyệt cây nhị phân theo thứ tự sau được thực hiện theo thứ tự:
A) 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.
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) 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 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âu 30: ý tưởng phương pháp sắp xếp chọn tăng dần (select sort) lOMoAR cPSD| 45474828
A) 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...
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) 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.
D) 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.
Câu 31: ý tưởng phương pháp sắp xếp nổi bọt (bubble 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) 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) 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) 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.
Câu 32: ý 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) 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 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.
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ương tự đối với phần tử nhỏ thứ hai,ba... Câu 33:
ý tưởng phương pháp sắp xếp nhanh (Quick 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) 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... lOMoAR cPSD| 45474828
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.
Câu 34: Phương pháp sắp xếp nhanh (Quick sort) chính là phương pháp: A) Phân đoạ n B) Vun đống C) Chèn D) Trộn
Câu 35: ý tưởng phương pháp sắp xếp Trộn (Merge 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) 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) 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á).
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...
Câu 36: Ý 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) 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.
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.
Câu 37: Ý tưởng của giải thuật tìm kiếm tuần tự
A) 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.
B) 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. lOMoAR cPSD| 45474828
C) 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.
D) 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âu 38: 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) 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) 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.
C) 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.
D) 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âu 39: Cây nhị phân tìm kiếm là:
A) Là cây nhị phân đầy đủ.
B) Cây nhị phân mà mỗi nút trong cây đều thoả tính chất: giá trị của nút cha nhỏ
hơn mọi nút trên cây con trái và lớn hơn mọi nút trên cây con phảI của nó.
C) Cây nhị phân mà mỗi nút trong cây đều thoả tính chất: giá trị của nút cha lớn
hơn giá trị của hai nút con.
D) Cây nhị phân thoả tính chất heap
Câu 40: Trong các giải thuật sắp xếp, giải thuật nào áp dụng phương
pháp "Chia để trị"? A) Quick sort, Heap sort B) Quick sort, Bubble sort C) Qucick sort, Insert sort D) Quick sort, Merge sort
Câu 41: 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) . 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} lOMoAR cPSD| 45474828 C) {0 1 3 6 5 7 9 2 8 4} D) {0 1 2 3 4 5 6 7 8 9}
Câu 42: 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) . Dãy số thu được sau lần lặp thứ ba là: A) {0 1 2 4 7 3 9 5 6 8} B) {0 1 2 3 4 7 5 9 6 8} C) {0 4 7 1 9 2 5 3 6 8} D) {0 1 4 7 2 9 3 5 6 8}
Câu 43: 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) . Dãy số thu được sau lần lặp thứ bốn là: A) {0 1 2 3 5 9 6 4 8 7} B) {0 4 2 8 5 9 6 1 3 7} C) {0 1 2 8 5 9 6 4 3 7} D) {0 2 4 5 8 9 6 1 3 7}
Câu 44: Cho dãy số {3 1 6 0 5 4 8 2 9 7}. áp dụng phương pháp sắp xếp
nhanh (Quick sort) . Dãy số thu được sau lần lặp thứ bốn là: A) {0 1 2 3 (5 4 8 6 9 7)}
B) {0 1 (2) 3 (5 4) 8 (6 9 7)}
C) {(3) 1 (6 0) 5 (4 8) 2 (9 7)}
D) {(0) 1 (2 3) 4 (5 6) 7 (8 9)}
Câu 45: Cho dãy số: 12 2 8 5 1 6 4 15 và các bước sắp xếp sau:
Bước 1: 1 2 8 5 12 6 4 15
Bước 2: 1 2 8 5 12 6 4 15
Bước 3: 1 2 4 5 12 6 8 15
Bước 4: 1 2 4 5 12 6 8 15
Bước 5: 1 2 4 5 6 12 8 15
Bước 6: 1 2 4 5 6 8 12 15
Các bước trên dựa theo giải thuật sắp xếp nào? A) Select sort B) Quick sort C) Insert sort D) Bubble sort
Câu 46: Cho dãy số: "4 7 0 9 2 5 3 1 8 6" và các bước sắp xếp sau: lOMoAR cPSD| 45474828
Bước 1: 0 4 7 1 9 2 5 3 6 8”
Bước 2: 0 1 4 7 2 9 3 5 6 8
Bước 3: 0 1 2 4 7 3 9 5 6 8
Bước 4: 0 1 2 3 4 7 5 9 6 8
Bước 5: 0 1 2 3 4 5 7 6 9 8
Bước 6: 0 1 2 3 4 5 6 7 8 9
Các bước trên dựa theo giải thuật sắp xếp nào? A) Bubble sort B) Select sort C) Quick sort D) Insert sort
Câu 47: Cho dãy số: "5 1 4 2 7 3" và các bước sắp xếp sau:
Bước 1: 1 5 4 2 7 3”
Bước 2: 1 4 5 2 7 3
Bước 3: 1 2 4 5 7 3
Bước 4: 1 2 4 5 7 3
Bước 5: 1 2 3 4 5 7
Các bước trên dựa theo giải thuật sắp xếp nào? A) Select sort B) Insert sort C) Quick sort D) Bubble sort
Câu 48: Cho dãy số : 3 1 6 0 5 4 8 2 9 7 và các bước sắp xếp sau:
Bước 1: 1 3 6 0 5 4 8 2 9 7
Bước 2: 1 3 6 0 5 4 8 2 9 7
Bước 3: 1 3 6 0 5 4 8 2 9 7 Bước
4: 0 1 3 5 6 4 8 2 9 7
Bước 5: 0 1 3 5 6 4 8 2 9 7
Bước 6: 0 1 3 5 6 2 4 8 9 7
Bước 7: 0 1 3 5 6 2 4 8 7 9
Bước 8: 0 1 3 5 6 2 4 7 8 9
Bước 9: 0 1 2 3 4 5 6 7 8 9
Các bước trên dựa theo giải thuật sắp xếp nào? lOMoAR cPSD| 45474828 A) Quick sort B) Select sort C) Merge sort D) Insert sort
Câu 49: Cho dãy số sau: 10 11 14 32 36 43 55 57 87 97 . Áp dụng phương
pháp tìm kiếm nhị phân, sau bao nhiêu lần phân đoạn ta sẽ tìm thấy số 43? A) 2 lần B) 4 lần C) 3 lần D) 5 lần
Câu 50: 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) Đáp án A và C.
C) Mọi khóa thuộc cây con trái nút đó đều nhỏ hơn khóa ứng với nút đó.
D) 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 đó/
Câu 51: Chọn câu trả lời đúng nhất về thuật toán
A) Thuật toán là một dãy hữu hạn các bước, mỗi bước mô tả chính xác các
phép toán hoặc hành động cần thực hiện để giải quyết vấn đề đặt ra.
B) Thuật toán là một dãy hữu hạn các bước, tất cả các phép toán có mặt trong
các bước của thuật toán phải đủ đơn giản. C) Thuật toán là nòng cốt của chương trình.
D) Thuật toán cần có một hoặc nhiều dữ liệu ra (output) ,dữ liệu vào (input).
Câu 52: sắp xếp theo thứ tự tăng dần của cấp thời gian thực hiện chương trình
Chú ý: (log2n) = Log cơ số 2 của n
A) O(nlog2n),O(n),O(log2n),O(1)
B) O(log2n),O(n),O(nlog2n),O(1)
C) O(1),O(nlog2n),O(n),O(log2n) D) O(1),O(log2n),O(n),O(nlog2n)
Câu 53: GiảI thuật đệ quy la:
A) Nếu lời giải của của một bài toán T được giải bằng lời giải của một bài toán
T1 khác T , thì lời giải đó được gọi là lời giải đệ quy. lOMoAR cPSD| 45474828
B) Nếu lời giải của của một bài toán T được giải bằng lời giải của một bài toán
T1, có dạng giống như T, thì lời giải đó được gọi là lời giải đệ quy.
C) Nếu lời giải của của một bài toán T được giải bằng lời giải của một bài toán
T1 mà T1 giảI được thì lời giải đó được gọi là lời giải đệ quy.
D) Nếu lời giải của của một bài toán T được giải bằng lời giải của một bài toán
T1 mà T1 có độ phức tạp khác T , thì lời giải đó được gọi là lời giải đệ quy.
Câu 54: Định nghĩa cấu trúc dữ liệu Stack:
A) Stack là một danh sách đặc biệt mà phép thêm vào được thực hiện ở một đầu
,Và phép loại bỏ được thực hiện ở phần kia của stack.
B) Stack là một danh sách đặc biệt mà phép thêm vào hoặc loại bỏ một phần tử
chỉ thực hiện tại một đầu gọi là đỉnh (Top) của Stack. C) Stack là danh sách kết nối.
D) Stack là cấu trúc dữ liệu được cài đặt bằng con trỏ.
Câu 55: Để cài đặt Stack ta có thể dùng phương pháp nào sau đây: C) Bằng mảng D) Tất cả đều sa i
A) Bằng con trỏ và bằng mảng B) Bằng con trỏ
Câu 56: Hãy cho biết hàm sau dùng để làm gì Position ham (List L) { Position P; P=L; while (P->Next!=NULL) P=P->Next; return P; }
A) Xác định phần tử đầu tiên.
B) Xác định phần tử cuối cùng.
C) Xác định phần tử đứng sau P.
D) Xác định phần tử đứng trước P.
Câu 57: Hãy cho biết hàm sau dùng để làm gì?
Position ham2 (ElementType X, List L) lOMoAR cPSD| 45474828 { Position P; int f=0; P=L; while (P-
>Next!=NULL&&f==0) if (P-
>Next->Element==X) f=1; else
P=P->Next; return P->Next; }
A) Xác định vị trí phần tử đứng sau X.
B) Xác định vị trí của phần tử có nội dung là X.
C) Xác định phần tử đứng sau X.
D) Xác định vị trí phần tử đứng trước X.
Câu 58: Hãy cho biết hàm sau dùng để làm gì?
void ham3 (ElementType X, List &L) { Position P,Q; P=L; while (P->Next!=NULL) {
if (P->Next->Element==X) Q=P->Next; P=P->Next; }
while (L->Next!=Q->Next) {
cout<Next->Element<<" "; L=L->Next; } }
A) In từ đầu danh sách đến X.
B) In từ đầu danh sách đến X xuất hiện đầu tiên.
C) In từ đầu danh sách đến X xuất hiện cuối cùng. D) In từ đầu
danh sách đến X xuất hiện lần 2.
Câu 59: Hãy cho biết hàm sau dùng để làm gì?
void them (ElementType X, ElementType Y, List &L) { Position P,Q; P=L; while (P->Next!=NULL) lOMoAR cPSD| 45474828
{ if (P->Next->Element==Y) Q=P->Next; P=P->Next; } InsertList(X,Q,L);
A) Thêm X vào sau Y xuất hiện sau cùng.
B) Thêm X vào trước Y xuất hiện sau cùng.
C) Thêm X vào sau Y xuất hiện đầu tiên.
D) Thêm X vào trước Y xuất hiện đầu tiên.
Câu 60: Hãy cho biết hàm sau dùng để làm gì?
void xoa (ElementType X, List &L) { Position P; P=L; while (P->Next!=NULL) {
if (P->Next->Element==X) DeleteList(P,L); else P=P->Next; } PrintList(L); }
A) Xóa phần tử có nội dung là X đầu tiên.
B) Xóa phần tử có nội dung là X cuối cùng.
C) Xóa tất cả phần tử có nội dung là X. D) Xóa phần tử tại vị trí X