Câu hỏi:
22/07/2024 144
Áp dụng thuật toán sắp xếp chọn cho dãy số sau:
A [4, 6, 1, 3, 10, 7]
Thứ tự các phần tử trong dãy như thế nào sau vòng lặp đầu tiên?
A. 3, 1, 4, 6, 10, 7.
C. 1, 3, 4, 6, 7, 10.
B. 1, 4, 6, 3, 10, 7.
D. 1, 6, 4, 3, 10, 7.
Áp dụng thuật toán sắp xếp chọn cho dãy số sau:
A [4, 6, 1, 3, 10, 7]
Thứ tự các phần tử trong dãy như thế nào sau vòng lặp đầu tiên?
A. 3, 1, 4, 6, 10, 7.
C. 1, 3, 4, 6, 7, 10.
B. 1, 4, 6, 3, 10, 7.
D. 1, 6, 4, 3, 10, 7.
Trả lời:
Đán án đúng là: D. Trong thuật toán sắp xếp chọn, ở mỗi vòng lặp chúng ta sẽ chọn ra số nhỏ nhất để đưa lên đầu phần dãy chưa sắp xếp. Ở vòng lặp đầu tiên, số nhỏ nhất trong dãy là số “1”, ta đổi chỗ số “1” với phần tử đầu tiên là số “4”. Do đó, sau vòng lặp đầu tiên, thứ tự các phần tử trong dãy số là 1, 6, 4, 3, 10, 7.
Đán án đúng là: D. Trong thuật toán sắp xếp chọn, ở mỗi vòng lặp chúng ta sẽ chọn ra số nhỏ nhất để đưa lên đầu phần dãy chưa sắp xếp. Ở vòng lặp đầu tiên, số nhỏ nhất trong dãy là số “1”, ta đổi chỗ số “1” với phần tử đầu tiên là số “4”. Do đó, sau vòng lặp đầu tiên, thứ tự các phần tử trong dãy số là 1, 6, 4, 3, 10, 7.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của thuật toán sắp xếp được mô tả như sau:
5, 7, 4, 6, 9, 20, 8
4, 5, 7, 6, 9, 20, 8
4, 5, 6, 7, 9, 20, 8
Thuật toán sắp xếp được sử dụng là:
A. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
B. Thuật toán sắp xếp chèn.
Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của thuật toán sắp xếp được mô tả như sau:
5, 7, 4, 6, 9, 20, 8
4, 5, 7, 6, 9, 20, 8
4, 5, 6, 7, 9, 20, 8
Thuật toán sắp xếp được sử dụng là:
A. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
B. Thuật toán sắp xếp chèn.
Câu 2:
Viết chương trình cho phép người dùng nhập các số nguyên từ bàn phím, sắp xếp các số đã được nhập theo thứ tự tăng dần và in ra màn hình dãy số đã được sắp xếp, nhập vào từ khoá 'end' để kết thúc chương trình. Yêu cầu ngay khi nhập xong dữ liệu thì dãy số cũng sắp xếp xong (chúng ta có thể thực hiện bằng cách mỗi khi nhập một phần tử mới, sắp xếp vào đúng vị trí của nó trong dãy số).
Viết chương trình cho phép người dùng nhập các số nguyên từ bàn phím, sắp xếp các số đã được nhập theo thứ tự tăng dần và in ra màn hình dãy số đã được sắp xếp, nhập vào từ khoá 'end' để kết thúc chương trình. Yêu cầu ngay khi nhập xong dữ liệu thì dãy số cũng sắp xếp xong (chúng ta có thể thực hiện bằng cách mỗi khi nhập một phần tử mới, sắp xếp vào đúng vị trí của nó trong dãy số).
Câu 3:
Mô tả “Ở mỗi bước thuật toán lấy một phần tử ở phần chưa được sắp xếp và đưa vào đúng vị trí của nó trong phần dãy số đã được duyệt” là đúng nhất với thuật toán sắp xếp nào sau đây?
A. Thuật toán sắp xếp chèn. B. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
D. Các thuật toán ở phương án A, B, C đều không phù hợp.
Mô tả “Ở mỗi bước thuật toán lấy một phần tử ở phần chưa được sắp xếp và đưa vào đúng vị trí của nó trong phần dãy số đã được duyệt” là đúng nhất với thuật toán sắp xếp nào sau đây?
A. Thuật toán sắp xếp chèn. B. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
D. Các thuật toán ở phương án A, B, C đều không phù hợp.
Câu 4:
Mô tả “Ở mỗi bước lặp, thuật toán tìm kiếm phần tử lớn nhất/ nhỏ nhất trong dãy để đưa về đúng vị trí của nó” là đúng nhất với thuật toán sắp xếp nào sau đây?
A. Thuật toán sắp xếp chèn.
B. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
D. Các thuật toán ở phương án A, B, C đều không phù hợp.
Mô tả “Ở mỗi bước lặp, thuật toán tìm kiếm phần tử lớn nhất/ nhỏ nhất trong dãy để đưa về đúng vị trí của nó” là đúng nhất với thuật toán sắp xếp nào sau đây?
A. Thuật toán sắp xếp chèn.
B. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
D. Các thuật toán ở phương án A, B, C đều không phù hợp.
Câu 5:
Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của thuật toán sắp xếp được mô tả như sau:
5, 8, 1, 4, 7, 10
5, 1, 8, 4, 7, 10
5, 1, 4, 8, 7, 10
Thuật toán sắp xếp được sử dụng là:
A. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
B. Thuật toán sắp xếp chèn.
Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của thuật toán sắp xếp được mô tả như sau:
5, 8, 1, 4, 7, 10
5, 1, 8, 4, 7, 10
5, 1, 4, 8, 7, 10
Thuật toán sắp xếp được sử dụng là:
A. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
B. Thuật toán sắp xếp chèn.
Câu 6:
Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của một thuật toán sắp xếp được mô tả như sau:
1, 4, 10, 9, 3, 7, 12, 20
1, 3, 10, 9, 4, 7, 12, 20
1, 3, 4, 9, 10, 7, 12, 20
Thuật toán sắp xếp được sử dụng là:
A. Thuật toán sắp xếp chọn.
B. Thuật toán sắp xếp chèn.
C. Thuật toán sắp xếp nổi bọt.
Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của một thuật toán sắp xếp được mô tả như sau:
1, 4, 10, 9, 3, 7, 12, 20
1, 3, 10, 9, 4, 7, 12, 20
1, 3, 4, 9, 10, 7, 12, 20
Thuật toán sắp xếp được sử dụng là:
A. Thuật toán sắp xếp chọn.
B. Thuật toán sắp xếp chèn.
C. Thuật toán sắp xếp nổi bọt.
Câu 7:
Chúng ta thường thấy danh sách lớp thường được sắp xếp theo thứ tự bảng chữ cái. Cho trước một danh sách lớp chưa được sắp xếp như sau: Nam, An Cường, Sơn, Trung, Bình.
Hãy cho biết kết quả sau mỗi bước lặp với mỗi thuật toán sắp xếp nổi bọt, sắp xếp chèn và sắp xếp chọn cho đến khi danh sách được sắp xếp xong.
Chúng ta thường thấy danh sách lớp thường được sắp xếp theo thứ tự bảng chữ cái. Cho trước một danh sách lớp chưa được sắp xếp như sau: Nam, An Cường, Sơn, Trung, Bình.
Hãy cho biết kết quả sau mỗi bước lặp với mỗi thuật toán sắp xếp nổi bọt, sắp xếp chèn và sắp xếp chọn cho đến khi danh sách được sắp xếp xong.
Câu 8:
Mô tả “Thuật toán lần lượt duyệt từng cặp phần tử trong danh sách, đổi chỗ các cặp phần tử chưa đúng thứ tự” là đúng nhất với thuật toán sắp xếp nào sau đây?
A. Thuật toán sắp xếp chèn.
B. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
D. Các thuật toán ở phương án A, B, C đều không phù hợp.
Mô tả “Thuật toán lần lượt duyệt từng cặp phần tử trong danh sách, đổi chỗ các cặp phần tử chưa đúng thứ tự” là đúng nhất với thuật toán sắp xếp nào sau đây?
A. Thuật toán sắp xếp chèn.
B. Thuật toán sắp xếp chọn.
C. Thuật toán sắp xếp nổi bọt.
D. Các thuật toán ở phương án A, B, C đều không phù hợp.
Câu 9:
Trong một số ứng dụng, chúng ta phải sắp xếp dữ liệu ngay khi chúng được thêm vào một dãy số. Ví dụ, giả sử đã có một danh sách dữ liệu đã sắp xếp và thường xuyên phải bổ sung thêm các dữ liệu mới vào danh sách. Theo em, thuật toán sắp xếp nào là phù hợp nhất với ứng dụng ở trên?
A. Sắp xếp chọn.
B. Sắp xếp chèn.
C. Sắp xếp nổi bọt.
D. Các thuật toán ở phương án A, B, C đều không phù hợp.
Trong một số ứng dụng, chúng ta phải sắp xếp dữ liệu ngay khi chúng được thêm vào một dãy số. Ví dụ, giả sử đã có một danh sách dữ liệu đã sắp xếp và thường xuyên phải bổ sung thêm các dữ liệu mới vào danh sách. Theo em, thuật toán sắp xếp nào là phù hợp nhất với ứng dụng ở trên?
A. Sắp xếp chọn.
B. Sắp xếp chèn.
C. Sắp xếp nổi bọt.
D. Các thuật toán ở phương án A, B, C đều không phù hợp.
Câu 10:
Khi sử dụng dịch vụ tìm kiếm phòng nghỉ của một số trang cung cấp dịch vụ đặt phòng trực tuyến (Agoda/Booking,...). Các hệ thống đó thường cho phép sắp xếp theo giá tăng dần hoặc giá giảm dần để người dùng tiện lựa chọn. Để thực hiện theo yêu cầu của người dùng, chương trình có thể tiến hành theo một trong các cách sau:
Cách 1: Nếu chọn “tăng dần” thì thực hiện đoạn chương trình sắp xếp tăng dần; nếu chọn “giảm dần” thì thực hiện chương trình sắp xếp giảm dần.
Cách 2: Sử dụng kết hợp câu lệnh IF trước khi thực hiện so sánh “lớn hơn" hay “nhỏ hơn” trong vòng lặp sắp xếp.
Cách 3: Nếu chọn sắp xếp “giảm dần" thì lấy toàn bộ các phần tử của dây nhân với −1, sau đó vẫn áp dụng thuật toán sắp xếp tăng dần.
Em hãy cho biết ưu, nhược điểm của các cách trên.