The following is the main part of insertion sort pseudocode: for i := 1 to n-1 insert a[i] into sorted sublist {a[0],...,a[i-1]} so that the sortedness is still kept. end for Select the most correct solution: Consider the list of ten integers below: 16, 5, 2, 11, 10, 8, 12, 3, 8, 6 What is the list after the FIRST TWO steps of insertion sort? (sorting from smallest to largest).

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "2, 5, 16, 11, 10, 8, 12, 3, 8, 6". Sắp xếp chèn giữ một đoạn đầu đã có thứ tự rồi mỗi bước lấy phần tử kế tiếp chèn vào đúng chỗ trong đoạn đó, các phần tử phía sau không bị động tới. Bước thứ nhất lấy 5 chèn vào đoạn chỉ có 16, cho 5, 16; bước thứ hai lấy 2 chèn vào đoạn 5, 16, cho 2, 5, 16, nên bảy phần tử cuối vẫn y nguyên như lúc đầu. Dãy "2, 3, 16, 11, 10, 8, 12, 5, 8, 6" là trạng thái sau hai lượt sắp xếp chọn, tức đổi chỗ 2 với 16 rồi đổi chỗ 3 với 5, vì thế 5 bị bắn về chỗ của 3. Dãy "2, 3, 5, 11, 10, 8, 12, 16, 8, 6" là sau ba lượt sắp xếp chọn, đã đưa cả 2, 3, 5 về đầu và đẩy 16 vào giữa mảng, đi xa hơn hẳn hai bước được hỏi. Dãy "2, 5, 11, 10, 8, 12, 3, 8, 6, 16" mang 16 ra hẳn cuối mảng, đó là dấu vết của một lượt nổi bọt, còn phép chèn không hề dồn phần tử lớn nhất về cuối chỉ sau hai bước.

Cùng phần 6

Xuất hiện trong 1 bộ đề