JavaScript is required

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

A.

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

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 (5 4) 8 (6 9 7)}

Trả lời:

Đáp án đúng: B


Sau lần lặp đầu tiên, pivot là 3 và dãy được chia thành (0 1 2) 3 (5 4 8 6 9 7). Lần lặp thứ hai, ta chọn pivot cho (0 1 2) và (5 4 8 6 9 7). Chọn 1 làm pivot cho (0 1 2) và 6 làm pivot cho (5 4 8 6 9 7). Kết quả: (0) 1 (2) 3 (5 4) 6 (8 9 7). Lần lặp thứ ba, chọn pivot cho (5 4), (8 9 7). Chọn 4 làm pivot cho (5 4) và 8 làm pivot cho (8 9 7). Kết quả: (0) 1 (2) 3 (4) 6 (5) 8 (9 7). Lần lặp thứ tư, chọn pivot cho (9 7). Chọn 7 làm pivot cho (9 7). Kết quả: (0) 1 (2) 3 (4) 6 (5) 8 (7) 9. Dựa vào quá trình này, sau lần lặp thứ nhất ta có {(0 1 2) 3 (5 4 8 6 9 7)}. Sau lần lặp thứ hai chúng ta có: (0) 1 (2) 3 (5 4) 6 (8 9 7). Sau lần lặp thứ ba chúng ta có (0) 1 (2) 3 (4) 5 6 (8 9 7). Tuy nhiên, câu hỏi yêu cầu kết quả sau lần lặp thứ tư, và không có đáp án nào phù hợp với kết quả (0) 1 (2) 3 (4) 6 (5) 8 (9 7) hoặc (0) 1 (2) 3 (4) 5 6 (7) 8 (9). Do đó không có đáp án đúng trong các lựa chọn đã cho.

Đề cương ôn thi với 220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật có đáp án được chọn lọc và chia sẻ dưới đây, nhằm giúp bạn sinh viên hệ thống kiến thức chuẩn bị cho kì thi sắp diễn ra.


50 câu hỏi 60 phút

Câu hỏi liên quan