JavaScript is required

Hoán vị nào sau đây đứng liền sau hoán vị 1 3 4 2 theo thuật toán sinh

A.

2143

B.

1423

C.

2413

D.
1342
Trả lời:

Đáp án đúng: B


Thuật toán sinh hoán vị hoạt động như sau: 1. Bắt đầu từ hoán vị đầu tiên (ví dụ: 1 2 3 4). 2. Tìm từ phải sang trái phần tử a[i] đầu tiên sao cho a[i] < a[i+1]. Nếu không tồn tại, đây là hoán vị cuối cùng. 3. Tìm từ phải sang trái phần tử a[j] đầu tiên sao cho a[j] > a[i]. 4. Đổi chỗ a[i] và a[j]. 5. Lật ngược đoạn từ a[i+1] đến cuối dãy. Áp dụng vào hoán vị 1 3 4 2: - Bước 2: Tìm từ phải sang trái, ta thấy 3 < 4. - Bước 3: Tìm từ phải sang trái phần tử lớn hơn 3, ta được 4. - Bước 4: Đổi chỗ 3 và 4, ta được 1 4 3 2. - Bước 5: Lật ngược đoạn 3 2, ta được 1 4 2 3. Vậy hoán vị kế tiếp của 1 3 4 2 là 1 4 2 3. Không có đáp án nào đúng trong các lựa chọn đã cho.

Câu hỏi liên quan