Professional Documents
Culture Documents
cấu trúc dữ liệu và giải thuật
cấu trúc dữ liệu và giải thuật
2
8
Câu 6: Hàm đệ qui cho kết quả thế nào?
Function Factorial(n)
Begin
Factorial := n*Factorial(n-1);
End;
*Lặp vô hạn vì không có điều kiện dừng
Tính giai thừa n
Tính số cặp thỏ sau n tháng.
Chương trình báo lỗi
Câu 7: Dãy số Fibonacci bắt nguồn từ bài toán cổ về việc sinh sản của các cặp thỏ. Bài toán
được đặt ra như sau:
Các con thỏ không bao giờ chết.
Hai tháng sau khi ra đời một cặp thỏ mới sẽ sinh ra một cặp thỏ con.
Khi đã sinh con rồi thì cứ mỗi tháng tiếp theo chúng lại sinh được một cặp con mới.
Giả sử bắt đầu từ một cặp thỏ mới ra đời thì đến tháng thứ 5 sẽ có bao nhiêu cặp?
9 cặp
*5 cặp
12 cặp
10 cặp
Câu 8: Cho giải thuật đệ quy sau:
Function F(n)
Begin
if n<=2 then F:=1
else F := F(n-1) + F(n-2);
End;
Dòng lệnh “if n<=2 then F:=1” đóng vai trò:
*Điều kiện dừng đệ quy
Lặp 1 lần
Điều kiện không thực hiện đệ quy
Lặp vô hạn
Câu 9: Cho giải thuật đệ quy sau:
Function F(n:integer):integer;
Begin
if n<=2 then F:=1
else F := F(n-2) + F(n-1)
End;
Khi n=4 kết quả của bài toán trên là:
*3
8
11
10
Câu 10: Đặc điểm của giải thuật đệ quy:
*Tất cả đều đúng
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ó 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
Trong thủ tục đệ quy có lời gọi đến chính thủ tục đó
Câu 11: giải thuật đệ quy của bài toán "Tháp Hà Nội" như sau:
Procedure Chuyen(n, A, B, C)
Begin
if n=1 then chuyển đĩa từ A sang C
else begin
call Chuyen(n-1, a, C, B);
call Chuyen(1, A, B, C);
call Chuyen(n-1, B, A, C) ;
end;
End;
Khi n=3 có bao nhiêu bước chuyển?
8 bước
14 bước
*15 bước
16 bước
Câu 12: Danh sách tuyến tính là:
Danh sách tuyến tính là một danh sách có dạng (a1, a2, ..., an).
*Danh sách mà quan hệ lân cận giữa các phần tử được xác định.
Danh sách dạng được lưu dưới dạng mảng.
Danh sách tuyến tính là một danh sách rỗng.
Câu 13: ưu điểm của việc cài đặt danh sách bằng mảng:
*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.
Có thể bổ sung hoặc xóa một phần tử bất kỳ trong mảng.
Tất cả các ý trên đều đúng.
Câu 14: Danh sách tuyến tính dạng ngăn xếp là:
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.
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.
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.
*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âu 15: Danh sách tuyến tính dạng ngăn xếp làm việc theo nguyên tắc:
FIFO( first in first out)
LILO(last in last out)
FOLO( fisrt out last out)
*LIFO(last in first out)
Câu 16: 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:
Mảng (array)
Hàng đợi(Queue)
*Ngăn xếp (stack)
POP
*PUSH
Câu 30: Trong lưu trữ dữ liệu kiểu Stack, giải thuật sau thực hiện công việc gì?
Function P
Begin
T:=T-1;
P:=S[t+1];
End;
Bổ sung một phần tử ra khỏi Stack
Kiểm tra Stack có cạn không
*Loại bỏ một phần tử vào Stack
Kiểm tra Stack có tràn không
Câu 31: Trong lưu trữ dữ liệu kiểu Stack, giải thuật P chính là:
Function P
Begin
T:=T-1;
P:=S[t+1];
End;
NULL
PUSH
TOP
*POP
Câu 32: Với đoạn mã sau, nếu n=13, trong Stack sẽ là:
While n<>0 do
begin
R:=n mod 2;
Push(R);
n:=n div 2;
end;
13
6
*1101
1011
Câu 33: Với đoạn mã sau, nếu n=13, trong các phần tử được bổ sung vào Stack theo thứ tự:
While n<>0 do
begin
R:=n mod 2;
Push(R);
n:=n div 2;
end;
1,3,6
1,1,0,1
*1 , 0 , 1 , 1
6,3,1
Câu 34: Với đoạn mã sau, nếu các phần tử được đưa vào Stack theo thứ tự " 1 1 0 1" thì các
phần tử được loại khỏi Stack theo thứ tự nào?
While T>0 do
begin
R:=POP(S[T]);
write(R);
end;
1011
1101
*1, 0 , 1 , 1
1, 1 , 0 , 1
Câu 35: 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à:
*Queue rỗng
Kiểm tra chỉ số trước và chỉ số sau của Queue có bằng nhau không.
Queue tràn
Đặt phần tử đầu và phần tử cuối của Queue bằng 0
Câu 36: 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?
F=F+1, R không thay đổi
*F không thay đổi, R=R+1
F=F-1, R không thay đổi
F không thay đổi, R=R-1
Câu 37: 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?
F=F-1, R không thay đổi
F không thay đổi, R=R+1
F không thay đổi, R=R-1
*F=F+1, R không thay đổi
Câu 38: Giải thuật sau thực hiện việc gì?
Procedure Q(x)
Begin
if R=n then R:=1 else R:=R+1;
if F=R then begin write(‘full’)
return
end ;
Q[R]:=X;
if F=0 then F:=1;
End;
Kiểm tra Queue có rỗng không
Loại bỏ một phần tử vào Queue
*Bổ sung một phần tử vào Queue
Kiểm tra Queue có tràn không
Câu 39: Giải thuật sau thực hiện việc gì?
Function Q:kiểu dữ liệu;
Begin
if F=0 then begin write(‘NULL’)
return
end;
Y:=Q[F];
if F=R then begin
F:=R:=0;
return
end;
if F=n then F:=1
else F:=F+1;
Q:=Y;
End;
Bổ sung một phần tử vào Queue
Kiểm tra Queue có tràn không
*Loại bỏ một phần tử vào Queue
Kiểm tra Queue có rỗng không
Câu 40: Giải thuật sau thực hiện việc gì?
Function P(l:ds): boolean;
Begin
P:= (l.last =0);
End;
*Kiểm tra danh sách có rỗng không
Cho phần tử cuối cùng trong danh sách bằng 0
Làm rỗng danh sách
Không có đáp án nào đúng.
Câu 41: Giải thuật sau thực hiện việc gì?
Procedure P( l:ds);
Begin
l.last := 0;
End;
Cho phần tử cuối cùng trong danh sách bằng 0
Kiểm tra danh sách có rỗng không
*Làm rỗng danh sách”
Không có đáp án nào đúng.
Câu 42: Giải thuật sau thực hiện việc gì?
Procedure F(x,P: integer);
Begin
for i:= (l.last+1) downto (P+1) do
l.s[i]:=l.s[i-1];
l.s[P]:=x;
l.last:=l.last + 1;
End;
*Chèn phần tử x vào vị trí P trong danh sách
Bổ sung phần tử x vào đầu danh sách
Bổ sung phần tử x vào cuối danh sách
Không đáp án nào đúng
Câu 43: Giải thuật sau thực hiện việc gì?
Procedure F(P: integer);
Begin
for i:= P to (l.last-1) do
l.s[i]:=l.s[i+1];
l.last:=l.last -1;
End;
Không đáp án nào đúng
2
Câu 53: Duyệt cây nhị phân theo thứ tự trước được thực hiện theo thứ tự:
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.
*Thăm 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.
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.
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 54: Duyệt cây nhị phân theo thứ tự giữa được thực hiện theo thứ tự:
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.
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.
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.
*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.
Câu 55: Duyệt cây nhị phân theo thứ tự sau được thực hiện theo thứ tự:
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.
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.
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.
*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.
Phần 2:
Câu 1: ý tưởng phương pháp sắp xếp chọn tăng dần (select sort)
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.
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.
*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...
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.
Câu 2: ý tưởng phương pháp sắp xếp nổi bọt (bubble sort) là:
*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.
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.
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.
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 3: ý tưởng phương pháp sắp xếp chèn (insertion sort) là:
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.
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...
*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.
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 4: ý tưởng phương pháp sắp xếp nhanh (Quick sort) là:
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...
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.
*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á).
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 5: Phương pháp sắp xếp nhanh (Quick sort) chính là phương pháp:
*Phân đoạn
Chèn
Trộn
Vun đống
Câu 6: ý tưởng phương pháp sắp xếp Trộn (Merge sort) là:
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.
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á).
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...
*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 7: ý tưởng phương pháp sắp xếp vun đống (Heap sort) là:
*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.
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.
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á).
Tạo đống cho cây nhị phân (cây nhị phân đã được sắp xếp giảm dần).
Câu 8: Cơ chế heap trong sắp xếp vun đống là:
*Cây nhị phân đầy đủ với tính chất giá trị của nút cha luôn lớn hơn giá trị hai nút con.
Cây nhị phân đầy đủ với tính chất giá trị của nút cha lớn luôn lớn hơn giá trị các nút
trong cây con trái và nhỏ hơn giá trị các nút trong cây con phải.
Cây nhị phân hoàn chỉnh với tính chất giá trị của nút cha lớn luôn lớn hơn giá trị các
nút trong cây con trái và nhỏ hơn giá trị các nút trong cây con phải.
Cây nhị phân hoàn chỉnh với tính chất giá trị của nút cha luôn lớn hơn giá trị hai nút
con.
Câu 9: Trong giải thuật sắp xếp vun đống, ta có 4 thủ tục con (Insert - thêm 1 phần tử vào
cây;Downheap - vun đống lại sau khi loại một phần tử khỏi Heap, Upheap- vun đống sau khi
thêm một phần tử vào cây; Remove - loại 1 phần tử khỏi cây nhị phân). Để sắp xếp các phần
tử trong dãy theo phương pháp vun đống, ta thực hiện 4 thủ tục trên theo thứ tự như thế nào?
*Insert – Upheap – Remove – Downheap
Remove – Downheap – Insert – Upheap
Insert – Upheap – Downheap – Remove
Câu 25: 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) tăng dần, 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ám là:
*{0 1 2 3 4 5 6 7 8 9}
{0 1 2 3 4 5 6 9 8 7}
{0 1 2 3 4 5 9 6 8 7}
Câu 26: 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ứ hai là:
{0 1 2 3 4 7 5 9 6 8}
{0 1 2 4 7 3 9 5 6 8}
{0 4 7 1 9 2 5 3 6 8}
*{0 1 4 7 2 9 3 5 6 8}
Câu 27: 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à:
*{0 1 2 4 7 3 9 5 6 8}
{0 1 4 7 2 9 3 5 6 8}
{0 4 7 1 9 2 5 3 6 8}
{0 1 2 3 4 7 5 9 6 8}
Câu 28: 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à:
{0 1 2 3 4 7 9 5 6 8}
{0 1 2 4 7 3 9 5 6 8}
{0 1 4 7 2 9 3 5 6 8}
*{0 1 2 3 4 7 5 9 6 8}
Câu 29: 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ứ năm là:
{0 1 4 7 2 9 3 5 6 8}
{0 1 2 4 7 3 9 5 6 8}
*{0 1 2 3 4 5 7 6 9 8}
{0 1 2 3 4 7 9 5 6 8}
Câu 30: 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ứ hai là:
*{0 2 4 8 5 9 6 1 3 7}
{0 1 4 8 5 9 6 1 3 7}
{0 1 2 8 5 9 6 4 3 7}
{0 4 2 8 5 9 6 1 3 7}
Câu 31: 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à:
{0 1 2 8 5 9 6 4 3 7}
*{0 2 4 8 5 9 6 1 3 7}
{0 2 3 8 5 9 6 1 4 7}
{0 2 4 5 8 9 6 1 3 7}
Câu 32: 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ốn là:
*{0 2 4 5 8 9 6 1 3 7}
{0 1 2 3 5 9 6 4 8 7}
{0 1 2 8 5 9 6 4 3 7}
{0 4 2 8 5 9 6 1 3 7}
Câu 33: 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ứ năm là:
{0 1 2 3 5 9 6 4 8 7}
{0 1 2 8 5 9 6 4 3 7}
*{0 2 4 5 8 9 6 1 3 7}
{0 1 2 4 5 8 9 6 3 7}
Câu 34: 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ứ sáu là:
*{0 2 4 5 6 8 9 1 3 7}
{0 1 2 3 5 9 6 4 8 7}
{0 2 4 5 8 9 6 1 3 7}
{0 1 2 4 5 8 9 6 3 7}
Câu 35: 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à:
{0 1 2 3 5 9 6 4 8 7}
{0 2 4 5 8 9 6 1 3 7}
*{0 1 2 4 5 6 8 9 3 7}
{0 1 2 4 5 8 9 6 3 7}
Câu 36: 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à:
{0 1 2 4 5 6 8 9 3 7}
{0 1 2 3 4 5 6 7 8 9}
*{0 1 2 3 4 5 6 8 9 7}
{0 1 2 3 4 5 8 9 6 7}
Câu 37: 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ứ chín là:
{0 1 2 4 5 6 8 9 3 7}
{0 1 2 3 4 5 8 9 6 7}
*{0 1 2 3 4 5 6 7 8 9}
{0 1 2 3 4 5 6 8 9 7}
Câu 38: 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)
sau lần lặp đầu tiên của giải thuật ta có kết quả: {(0 1 2) 3 (5 4 8 6 9 7)}. Dãy số thu được sau
lần lặp thứ hai là:
*{0 (1 2) 3 (5 4 8 6 9 7)}
{(0 1 2 3) 4 (5 6 7 8 9)}
{(0 1 2) 3 (5 4 8 6 9 7)}
{(3 1 6 0) 5 (4 8 2 9 7)}
Câu 39: 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)
sau lần lặp đầu tiên của giải thuật ta có kết quả: {(0 1 2) 3 (5 4 8 6 9 7)}. Dãy số thu được sau
lần lặp thứ ba là:
{(0) 1 (2 3) 4 (5 6) 7 (8 9)}
{(3) 1 (6 0) 5 (4 8) 2 (9 7)}
*{0 1 (2) 3 (5 4 8 6 9 7)}
{0 1 (2) 3 (5 4) 8 (6 9 7)}
Câu 40: 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)
sau lần lặp đầu tiên của giải thuật ta có kết quả: {(0 1 2) 3 (5 4 8 6 9 7)}. Dãy số thu được sau
lần lặp thứ bốn là:
{(0) 1 (2 3) 4 (5 6) 7 (8 9)}
{0 1 (2) 3 (5 4) 8 (6 9 7)}
{(3) 1 (6 0) 5 (4 8) 2 (9 7)}
*{0 1 2 3 (5 4 8 6 9 7)}
Câu 41: 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?
Quick sort
Insert sort
Bubble sort
*Select sort
Câu 42: Cho dãy số: "4 7 0 9 2 5 3 1 8 6" và các bước sắp xếp sau:
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?
*Bubble sort
Select sort
Quick sort
Insert sort
Câu 43: 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?
Quick sort
Select sort
Bubble sort
*Insert sort
Câu 44: 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: (0 1 2) 3 (5 4 8 6 9 7)
Bước 2: 0 (1 2) 3 (5 4 8 6 9 7)
Bước 3: 0 1 (2) 3 (5 4 8 6 9 7)
Bước 4: 0 1 2 3 (5 4 8 6 9 7)
Bước 5: 0 1 2 3 (4) 5 (8 6 9 7)
Bước 6: 0 1 2 3 4 5 (8 6 9 7)
Bước 7: 0 1 2 3 4 5 (7 6) 8 (9)
Bước 8: 0 1 2 3 4 5 (6) 7 8 (9)
Bước 9: 0 1 2 3 4 5 6 7 8 (9)
Bước 10: 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?
Merge sort
*Quick sort
Select sort
Insert sort
Câu 45: 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?
Quick sort
*Merge sort
Select sort
Insert sort
Câu 46: 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 0 6 4 5 2 8 7 9
Bước 2: 0 1 3 6 2 4 5 8 7 9
Bước 3: 0 1 2 3 4 5 6 8 7 9
Bước 4: 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?
Quick sort
Select sort
Merge sort
*Merge sort hai đường trực tiếp
Câu 47: Giải thuật sau thực hiện việc gì trong phương pháp sắp xếp vun đống?
Procedure F(v: integer)
Begin
n:=n+1;
a[n]:=v;
upheap(n);
end;
*Bổ sung một phần tử vào cây
Loại bỏ một phần tử ra khỏi cây
Vun đống lại cho cây sau khi loại bỏ một phần tử
Vun đống cho cây sau khi bổ sung một phần tử
Câu 48: Giải thuật sau thực hiện việc gì trong phương pháp sắp xếp vun đống?
Procedure Upheap(k:integer);
Begin
V:=a[k]; a[0]:=maxint;
while a[k div 2] <= v do
begin a[k]:= a[k div 2]; k:=k div 2; end;
a[k]:=v;
End;
Vun đống cho cây sau khi loại bỏ phần tử
Bổ sung một phần tử vào cây
*Vun đống cho cây sau khi thêm một phần tử
Loại bỏ một phần tử ra khỏi cây
Câu 49: Giải thuật sau thực hiện việc gì trong phương pháp sắp xếp vun đống?
Procedure Downheap(k:integer)
Label 0;
Begin
v:=a[k];
While k<= n div 2 do
begin j:=k*2;
if a[j]if v>=a[j] then goto 0;
a[k]:=a[j]; k:=j;
end;
0: a[k]:=v;
End;
Bổ sung một phần tử vào cây
Loại bỏ một phần tử ra khỏi cây
Vun đống cho cây sau khi bổ sung phần tử
*Vun đống lại cho cây sau khi loại bỏ một phần tử
Câu 50: Giải thuật sau thực hiện việc gì trong phương pháp sắp xếp vun đống?
Function P: integer;
Begin
P:=a[1];
a[1]:=a[n];
n: =n-1;
Downheap(1);
End;
Vun đống cho cây sau khi bổ sung phần tử
Vun đống lại cho cây sau khi loại bỏ một phần tử
Bổ sung một phần tử vào cây
*Loại bỏ một phần tử ra khỏi cây
Phần 3:
Câu 1: 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?
15 40 25 30 75 65 55 85 90 95
*15 25 75 40 65 55 90 30 95 85
40 25 75 15 30 65 55 90 85 95
15 25 40 75 30 55 65 90 85 95
Câu 2: 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?
15 40 25 30 75 65 55 85 90 95
*15 25 75 40 65 55 90 30 95 85
15 40 25 75 30 55 65 90 85 95
15 25 75 30 40 65 55 90 85 95
Câu 3: 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?
15 25 75 30 40 65 55 90 85 95
15 40 25 30 75 65 55 85 90 95
*15 25 30 40 65 55 90 75 95 85
15 40 25 30 75 55 65 90 85 95
Câu 4: 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 4 dãy sẽ được sắp xếp lại như thế nào?
15 40 25 75 30 55 65 90 85 95
15 25 75 30 40 65 55 90 85 95
*15 25 30 40 65 55 90 75 95 85
15 40 25 30 75 65 55 85 90 95
Câu 5: 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 nổi
bọt, sau lượt 1 dãy sẽ được sắp xếp lại như thế nào?
*15 40 25 75 30 65 55 90 85 95
15 25 40 75 30 55 65 90 85 95
40 25 75 15 30 65 55 90 85 95
25 40 15 30 75 65 55 85 90 95
Câu 6: Cho dãy số sau: 40 25 75 15 65 55 9 0 30 95 85. Áp dụng phương pháp sắp xếp nổi
bọt, sau lượt 2 dãy sẽ được sắp xếp lại lại như thế nào?
*15 25 40 30 75 55 65 85 90 95
25 15 40 30 75 55 65 85 90 95
40 25 15 75 30 65 55 95 85 90
15 25 40 75 30 55 65 90 85 95
Câu 7: 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 nổi
bọt, sau lượt 3 dãy sẽ được sắp xếp lại như thế nào?
40 25 55 15 30 65 75 90 85 95
*15 25 30 40 55 75 65 85 90 95
25 40 30 15 55 65 75 85 90 95
15 25 40 75 30 55 65 90 85 95
Câu 8: 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 nổi
bọt, sau lượt 4 dãy sẽ được sắp xếp lại như thế nào?
40 25 55 15 30 65 75 90 85 95
*15 25 30 40 55 65 75 85 90 95
15 25 40 75 30 55 65 90 85 95
15 40 30 25 55 65 75 85 90 95
Câu 9: 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 1 dãy sẽ được sắp xếp lại như thế nào?
15 25 40 75 30 55 65 90 85 95
15 40 30 25 55 65 75 85 90 95
40 25 55 15 30 65 75 90 85 95
* (15 25 30) 40 (65 55 90 75 95 85)
Câu 10: 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 2 dãy sẽ được sắp xếp lại như thế nào?
15 40 30 25 55 65 75 85 90 95
*1 5 (25 30) 40 (65 55 90 75 95 85)
40 25 55 15 30 65 75 90 85 95
15 25 40 75 30 55 65 90 85 95
Câu 11: 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 3 dãy sẽ được sắp xếp lại như thế nào?
15 40 30 25 55 65 75 85 90 95
15 25 40 75 30 55 65 90 85 95
40 25 55 15 30 65 75 90 85 95
*15 25 (30) 40 (65 55 90 75 95 85)
Câu 12: 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 4 dãy sẽ được sắp xếp lại như thế nào?
40 25 55 15 30 65 75 90 85 95
15 40 30 25 55 65 75 85 90 95
*15 25 30 40 (65 55 90 75 95 85)
15 25 40 75 30 55 65 90 85 95
Câu 13: 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 5 dãy sẽ được sắp xếp lại như thế nào?
*1 5 25 30 40 (55) 65 (90 75 95 85)
15 25 40 75 30 55 65 90 85 95
15 40 30 25 55 65 75 85 90 95
40 25 55 15 30 65 75 90 85 95
Câu 14: 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?
15 25 40 75 30 55 65 90 85 95
*1 5 25 30 40 55 65 (90 75 95 85)
40 25 55 15 30 65 75 90 85 95
15 40 30 25 55 65 75 85 90 95
Câu 15: 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 7 dãy sẽ được sắp xếp lại như thế nào?
40 25 55 15 30 65 75 90 85 95
*1 5 25 30 40 55 65 (85 75) 90 (95)
15 40 30 25 55 65 75 85 90 95
15 25 40 75 30 55 65 90 85 95
Câu 16: 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 8 dãy sẽ được sắp xếp lại như thế nào?
15 25 40 75 30 55 65 90 85 95
*1 5 25 30 40 55 65 (75) 85 90 (95)
40 25 55 15 30 65 75 90 85 95
15 40 30 25 55 65 75 85 90 95
Câu 17: 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 9 dãy sẽ được sắp xếp lại như thế nào?
40 25 55 15 30 65 75 90 85 95
*1 5 25 30 40 55 65 7 5 85 90 (95)
15 25 40 75 30 55 65 90 85 95
15 40 30 25 55 65 75 85 90 95
Câu 18: 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 hòa
nhập (Merge_Sort) trực tiếp, sau lượt 1 dãy sẽ được sắp xếp lại như thế nào?
[15 40] [30 25] [55 65] [75 85] [90 95]
[40 25] [55 15] [30 65] [75 90] [85 95]
[15 25] [40 75] [30 55] [65 90] [85 95]
* [25 40] [15 75] [55 65] [30 90] [85 95]
Câu 19: 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 hòa
nhập (Merge_Sort), sau lượt 2 dãy sẽ được sắp xếp lại như thế nào?
* [15 25 40 75] [30 55 65 90] [85 95]
[15 40 30 25] [55 65 75 85] [90 95]
[40 25 55 15] [30 65 75 90] [85 95]
[15 25 75 40] [30 65 55 90] [85 95]
Câu 20: 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 hòa
nhập (Merge_Sort), sau lượt 3 dãy sẽ được sắp xếp lại như thế nào?
[15 25 75 40] [30 65 55 90 85 95]
[40 25 55 15] [30 65 75 85 90 95]
* [15 25 30 40 55 65 75 90] [85 95]
[15 40 30 25 55 65 75 85] [90 95]
Câu 21: 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 hòa
nhập (Merge_Sort), sau lượt 4 dãy sẽ được sắp xếp lại như thế nào?
[15 40 30 25 55 65 75 85 90 95]
* [15 25 30 40 55 65 75 85 90 95]
[15 25 75 40 30 65 55 90 85 95]
[40 25 55 15 30 65 75 85 90 95]
Câu 22: Cho dãy số sau: 14 32 10 43 57 87 55 36 97 11. Áp dụng phương pháp tìm kiếm tuần
tự, sau bao nhiều lần thực hiện phép so sánh ta sẽ tìm thấy số 43?
2 lần
5 lần
3 lần
*4 lần
Câu 23: 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?
4 lần
2 lần
*3 lần
5 lần
Câu 24: 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, để tìm kiếm số 10, lần phân đoạn thứ nhất của dãy sẽ là:
[14 32 10 43 57]
[87 55 36 97 11]
[55 36 97 11]
* [10 11 14 32 36]
Câu 25: 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, để tìm kiếm số 97, lần phân đoạn thứ hai của dãy sẽ là:
[36 97 11]
[36 11]
[36 97]
* [87 97]
Câu 26: Tính chất nào sau đây là tính chất của cây nhị phân tìm kiếm:
Đáp án A và 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 đó
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 đó
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 đó
Câu 27: Tính chất nào sau đây là tính chất của cây nhị phân tìm kiếm?
Mọi khoá thuộc cây con phải nút đó đều nhỏ hơn khoá ứng với nút đó
Đáp án A và C
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 đó
*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 đó
Câu 28: Giải thuật sau là phương pháp tìm kiếm nào?
Function F(x)
Begin
i:=1; a[n+1]:=x;
while a[i] <> x do i:=i+1;
if i=n+1 then return(0)
else return(i);
End;
Không là phương pháp tìm kiếm nào
*Tìm kiếm tuần tự
Tìm kiếm nhị phân
Tìm kiếm trên cây nhị phân tìm kiếm
Câu 29: Giải thuật sau là phương pháp tìm kiếm nào?
Function Binary_search(l,r,x)
Begin
If l>r then k:=0
Else m:= (l+r) div 2
If x< a[m] then K:=binary_search(l, m, x)
Else If x>a[m] then K:=binary_search(m+1,r,x)
Else k:=m;
Return(m);
End;
Tìm kiếm tuần tự
Tìm kiếm trên cây nhị phân tìm kiếm
Không là phương pháp tìm kiếm nào
*Tìm kiếm nhị phân
Phần 4:
Câu 1: Các thuộc tính của một kiểu dữ liệu
Tên kiểu dữ liệu
Kích thước lưu trữ
Câu 18: Thời gian thực hiện các lệnh đơn : gán, đọc, viết là
Chú ý: (log2n) = Log cơ số 2 của n; n^2 = n mũ 2
O(2)
O(log2(n))
*O(1)
O(n
Câu 19: thời gian thực hiện lệnh hợp thành(Begin.. end) được xác định bởi
Chú ý: (log2n) = Log cơ số 2 của n; n^2 = n mũ 2
O(log2(n)
Quy tắc nhân
*quy tắc tổng
Hằng số
Câu 20: Nếu S1 và S2 là các câu lệnh và E là biểu thức logic thì
If E Then S1 Else S2
Giả sử thời gian thực hiện các lệnh S1, S2 là O(f(n)) và O(g(n)) tương ứng. Khi đó thời gian
thực hiện lệnh if là
O(Min (f()n), g(n)))
*O(max (f()n), g(n)))
O(or( (f()n), g(n)))
O(And (f()n), g(n)))
Câu 21:
O(n)
O(1)
2log2n + 1
*O(log2n)
Câu 23:
O(2)
O(n)
*O(1)
O(m)
Câu 24:
O(2)
O(m)
*O(1)
O(n)
Câu 25:
O(n)
O(m)
*O(1)
O(n^2)
Câu 26:
O(log2n + 1)
O(n)
O(n^2)
*O(log2n)
Câu 27:
*O(n^2)
O(n!)
O(n)
O(log2(n)
Câu 28:
O(n^2)
O(1)
*O(N)
O(n^3)
Câu 29:
O(n^2)
O(1)
*O(N)
O(log2(n))
Câu 30:
O(n^2)
*O(n^3)
O(n)
O(nlog2(n)
Câu 31: GiảI thuật đệ quy la:
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
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
*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
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 32:
Tăng lên 1
N=1
*Giảm đI 1
N=0
Câu 36:
Factorial(n: 0
*Factorial(0) = 1
Factorial(n-1)
Factorial(n-1) =1
Câu 37:
*6
8
9
2
Câu 38 :
9 cặp
*5 cặp
12 cặp
10 cặp
Câu 39:
F(1) = 1 và F(2) = 1
F(1) = 0 và F(2) = 1
F(2) = 1
*F(1) = 1
Câu 40:
8
*3
11
10
Câu 41: Đặc điểm của giảI thuật đệ quy
*Tất cả đều đúng
Trong thủ tục đệ quy có lời gọi đến chính thủ tụ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.
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âu 42:
14 bước
8 bước
*15 bước
16 bứơc
Câu 43:
N=0
N=3
*N=1
N=2
Câu 44: Một giá trị kiểu char chiếm bao nhiêu bộ nhớ
*1byte
4byte
3byte
2byte
Câu 45: Danh sách tuyến tính là:
danh sách tuyến tính là một danh sách có dạng (a1, a2, ..., an)
*danh sách mà quan hệ lân cận giữa các phần tử được hiển thị ra thì được là danh
sách tuyến tính.
danh sách tuyến tính là một danh sách rỗng
Câu 46: ưu đIểm của việc càI đặt danh sách bằng mảng
*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ử.
Khi khai báo một mảng ta phải xác định số lượng phần tử của mảng,nên khống chế số
luợng của đối tuợng mà danh sách lưu trữ.
Dòng 6
Dòng 5
Dòng 1
*Dòng 4, dòng 5
Câu 51:
0
*True
1
False
Câu 56:
dòng 3
dòng 1
*dòng 4
dòng 2
Câu 61:
40
*43
41
42
Câu 73: ý tưởng phương pháp sắp xếp nổi bọt (bubble sort) là:
Chọn phần tử bé nhất xếp vào vị trí thứ nhất,tương tự đối với phần tử nhỏ thứ hai,ba...
Lần lượt lấy phần tử của danh sách chèn vị trí thích hợp của danh sách đã sắp
Dựa vào tư tưởng "chia để trị
*so sánh hai phần tử kề nhau nếu chưa đúng thì đổi chỗ
Câu 74: ý tưởng phương pháp sắp xếp chèn(insertion sort)
*Lần lượt lấy phần tử của danh sách chèn vị trí thích hợp của danh sách đã sắp
so sánh hai phần tử kề nhau nếu chưa đúng thì đổi chỗ
Dựa vào tư tưởng "chia để trị
Chọn phần tử bé nhất xếp vào vị trí thứ nhất,tương tự đối với phần tử nhỏ thứ hai,ba...
Câu 75: ý tưởng phương pháp sắp xếp chọn (select sort)
Lần lượt lấy phần tử của danh sách chèn vị trí thích hợp của danh sách đã sắp
*Chọn phần tử bé nhất xếp vào vị trí thứ nhất,tương tự đối với phần tử nhỏ thứ
hai,ba...
so sánh hai phần tử kề nhau nếu chưa đúng thì đổi chỗ
O(n mũ 2)
O(n-1)
O(n)
*Là hằng
Câu 54:
O(n-i)
*O(1)
O(n)
O(n^2)
Câu 57:
*O(1)
O(n)
O(n mũ 2)
O(n-i)
Câu 58:
*O(n mũ 2)
O(n)
O(n-1)
O(1)
Câu 59: Giả sử cần Sắp xếp mảng gồm 10 mẩu tin có khóa là các số nguyên: 5, 6, 2, 2, 10,
12, 9, 10, 9 và 3 các bước trong bảng sau cho ta biết đang sử dụng phương pháp sắp xếp nào
một phương pháp khác
Phương pháp nổi bọt
Phương pháp sắp xếp chèn
*Phương pháp sắp xếp lựa chọn
Câu 60: Giả sử cần Sắp xếp mảng gồm 10 mẩu tin có khóa là các số nguyên: 5, 6, 2, 2, 10,
12, 9, 10, 9 và 3 các bước trong bảng sau cho ta biết đang sử dụng phương pháp sắp xếp nào
Phương pháp sắp xếp lựa chọn
Phương pháp nổi bọt
một phương pháp khác
*Phương pháp sắp xếp chèn
Câu 61: Giả sử cần Sắp xếp mảng gồm 10 mẩu tin có khóa là các số nguyên: 5, 6, 2, 2, 10,
12, 9, 10, 9 và 3 các bước trong bảng sau cho ta biết đang sử dụng phương pháp sắp xếp nào
một phương pháp khác
Phương pháp sắp xếp lựa chọn
Phương pháp sắp xếp chèn
O(3)
O(1)
*O(n)
O(nlogn)
Phần 6
Câu 1: Cho lệnh gán X := F với F = 5X + 7Y , X=6, Y =X + 2. Sau lệnh này X có giá trị:
53
71
72
*86
Câu 2: Cho lệnh gán X := F với F = arctg(x) , x = Pi / 4 . Sau lệnh gán này X có giá trị
3
Pi
1
*2
Câu 3: Cho điều kiện if B then ( y = 7x + 3 ) else ( y = x^2 + 1 ), B là điều kiện x> 7. Khi x=7
thì y có giá trị là :
47
*50
52
51
Câu 4: Cho lệnh lặp: for i:=1 to 4 do y=3i + 6 . Hãy xác định các kết quả thu được:
7,10,13,16
5,8,11,14
4,11,18,25,32,39,46
Không được gì cả
4,11,18,25,32,39,46,53,60,67
*4,11,18,25,32
Câu 4: Để đổ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:
a7:=a9 ; a9:=a7 ; X:= a7
X:=a9 ; a7:=X ; a9:=a7
*X:=a7 ; a7:=a9 ; a9=X
X:=a7 ; a9:=X ; a7:=a9
Câu 5: Trong giải thuật con mã đi tuần, nếu đầu tiên con mã ở ô (2,7) ( số đầu tiên là dòng, số
thứ 2 là cột) thì quân mã có thể đi đến các ô:
(1,5),(2,7),(4,6),(5,8)
(1,6),(2,7),(3,8),(4,6)
*(1,5),(3,5),(4,6),(4,8)
(3,7),(4,6),(4,8),(1,5)
Câu 6: Trong giải thuật xếp 8 con hậu, nếu đã có con hậu ở ô (5,3) thì không con hậu nào
được nằm ở ô :
(8,1)
(4,5)
*(7,5)
(2,4)
Câu 10: Trong giải thuật xếp 8 con hậu, nếu có con hậu ở ô (4,5) thì không con hậu nào được
ở ô:
(2,3)
(6,4)
(3,7)
*(1,8)
Câu 11: Trên 1 bàn cờ, những ô nằm trên cùng một đường chéo từ dưói lên với ô (i,j) có hệ
thức :
*(hàng + cột)=i+j
(hàng + cột)=i-j
(hàng - cột)=i+j
(hàng - côt)=i-j
Câu 12: Trên 1 bàn cờ, những ô nằm trên cùng 1 đường chéo từ trên xuống với ô (i,j) có hệ
thức
Ưu tiên cột
*Ưu tiên hàng
Trong mọi trường hợp
Câu 20:
17
10
*18
8
Câu 26:
*b(17)
b(18)
b(20)
b(21)
Câu 27: Cho cây nhị phân T. Phép duyệt thứ tự trước cho kết quả là
ADBCEFG
AEBDCGF
AEDBCFG
*ABDECFG
Câu 28: Cho cây nhị phân T. Phép duyệt thứ tự giữa cho ta kết quả là:
*DBEAFCG
BEDACFG
DEBAGFC
DBEACFG
Câu 29: Cho cây nhị phân T. Phép duyệt thứ tự sau cho ta biết kết quả là:
EBFCGAD
*DEBFGCA
DEBGCFA
DBEFAGC
Câu 30: Cho cây nhị phân T. Phép duyệt cây theo thứ tự trước cho kết quả ABDEHCFIGJ.
Nếu duyệt theo thứ tự giữa ta có kết quả: DBHEAFICGJ. Hãy cho biết các nút của cây con
trái: