Quảng cáo
3 câu trả lời 216
a. Sắp xếp dãy số theo thứ tự tăng dần:
Dãy số ban đầu là: 9, 7, 11, 2, 5, 4
Bước 1: Sắp xếp dãy số này theo thứ tự tăng dần.
Dãy số sắp xếp theo thứ tự tăng dần là: 2, 4, 5, 7, 9, 11
b. Liệt kê các bước tìm số 9 trong dãy số đã sắp xếp trên bằng thuật toán nhị phân:
Thuật toán nhị phân hoạt động trên dãy số đã được sắp xếp. Dưới đây là các bước để tìm số 9 trong dãy số 2, 4, 5, 7, 9, 11 bằng thuật toán nhị phân:
Bước 1: Xác định chỉ số của dãy số:
Mảng: [2, 4, 5, 7, 9, 11]
Chỉ số bắt đầu: left = 0
Chỉ số kết thúc: right = 5 (vì mảng có 6 phần tử, chỉ số cuối là 5)
Bước 2: Tính chỉ số trung bình (mid):
mid = (left + right) / 2
mid = (0 + 5) / 2 = 2 (Chỉ số trung bình là 2)
Bước 3: So sánh giá trị tại chỉ số trung bình với giá trị cần tìm:
Giá trị tại mid = 5
Số cần tìm là 9, và 9 > 5, nên ta cần tìm ở nửa phải của dãy (từ chỉ số mid + 1 đến right).
Cập nhật chỉ số trái (left = mid + 1): left = 3.
Bước 4: Lặp lại bước 2 với dãy con [7, 9, 11]:
mid = (3 + 5) / 2 = 4 (Chỉ số trung bình là 4)
Giá trị tại mid = 9
Số cần tìm là 9, và 9 == 9, ta đã tìm thấy số 9 tại chỉ số mid = 4.
Kết quả: Ta đã tìm thấy số 9 tại chỉ số 4 trong dãy số đã sắp xếp.
Tóm tắt các bước:
Tính chỉ số trung bình (mid).
So sánh giá trị tại mid với số cần tìm.
Nếu số cần tìm lớn hơn giá trị tại mid, tìm trong nửa phải (cập nhật left).
Nếu số cần tìm nhỏ hơn giá trị tại mid, tìm trong nửa trái (cập nhật right).
Tiếp tục cho đến khi tìm thấy số cần tìm hoặc xác định rằng không có số cần tìm trong mảng.
Như vậy, số 9 được tìm thấy ở chỉ số 4 sau hai lần so sánh.
a) Sắp xếp dãy số theo thứ tự tăng dần:
Dãy số ban đầu: 9, 7, 11, 2, 5, 4
Để sắp xếp dãy số này theo thứ tự tăng dần, ta thực hiện các bước sắp xếp:
Dãy ban đầu: 9, 7, 11, 2, 5, 4
So sánh và sắp xếp theo thứ tự tăng dần: 2, 4, 5, 7, 9, 11
Dãy số sau khi sắp xếp tăng dần: 2, 4, 5, 7, 9, 11
b) Liệt kê các bước tìm số 9 trong dãy số đã sắp xếp bằng thuật toán nhị phân:
Thuật toán tìm kiếm nhị phân yêu cầu dãy số phải được sắp xếp trước. Sau khi sắp xếp dãy số tăng dần như ở trên, ta có: 2, 4, 5, 7, 9, 11.
Thuật toán nhị phân hoạt động bằng cách chia đôi dãy số liên tục cho đến khi tìm thấy số cần tìm. Dưới đây là các bước cụ thể:
Bước 1:
Dãy số: 2, 4, 5, 7, 9, 11
Vị trí giữa (middle) = (0 + 5) / 2 = 2 (lấy chỉ số phần tử giữa, làm tròn nếu cần).
Phần tử tại vị trí này là 5.
Số cần tìm là 9, lớn hơn 5 nên ta sẽ tìm trong nửa sau của dãy.
Bước 2:
Dãy con mới: 7, 9, 11
Vị trí giữa (middle) = (3 + 5) / 2 = 4.
Phần tử tại vị trí này là 9.
Số cần tìm là 9, nên ta đã tìm thấy số 9 tại vị trí 4.
Kết quả:
Số 9 đã được tìm thấy tại vị trí 4 trong dãy số đã sắp xếp.
a) Dãy số tăng dần:
- Thuật toán nổi bọt:
Vòng lặp 1:
Bước 1. So sánh số 9 và 6 (9 > 6). Nên đổi chỗ vị trí số 9 và số 6, dãy số sau khi đổi vị trí: 6, 9, 11, 3, 7.
Bước 2. So sánh số 9 và 11 (11 > 9). Nên giữ nguyên.
Bước 3. So sánh số 11 và 3 (11 > 3). Nên đổi chỗ vị trí số 11 và số 3, dãy số sau khi đổi vị trí: 6, 9, 3, 11, 7.
Bước 4. So sánh số 11 và 7 (11 > 7). Nên đổi chỗ vị trí số 11 và số 7, dãy số sau khi đổi vị trí: 6, 9, 3, 7, 11.
Vòng lặp 2:
Bước 5. So sánh số 6 và 9 (9 > 6). Giữ nguyên vị trí, dãy số hiện có 6, 9, 3, 7, 11.
Bước 6. So sánh số 9 và 3 (9 > 3). Nên đổi chỗ vị trí số 9 và số 3, dãy số sau khi đổi vị trí: 6, 3, 9, 7, 11.
Bước 7. So sánh số 9 và 7 (9 > 7). Nên đổi chỗ vị trí số 9 và số 7, dãy số sau khi đổi vị trí: 6, 3, 7, 9, 11.
Bước 8. So sánh số 9 và 11 (11 > 9). Giữ nguyên vị trí, dãy số hiện có 6, 3, 7, 9, 11.
Vòng lặp 3:
Bước 9. So sánh số 6 và 3 (6 > 3). Nên đổi chỗ vị trí số 6 và số 3, dãy số sau khi đổi vị trí: 3, 6, 7, 9, 11. Ta thấy dãy số đã được sắp xếp đúng theo thứ tự tăng dần, nên kết thúc thuật toán.
⇒ Có 3 vòng lặp được thực hiện khi sắp xếp.
- Thuật toán sắp xếp chọn:
Bước 1. Chọn số 9 so sánh với những số trong dãy, thấy số 3 là số nhỏ nhất nên đổi chỗ số 9 và số 3. Dãy số sau khi đổi vị trí: 3, 6, 11, 9, 7.
Bước 2. Chọn số 6 so sánh với những số trong dãy, thấy số 6 là số nhỏ nhất và sắp xếp đúng vị trí nên ta giữ nguyên. Dãy số ta được: 3, 6, 11, 9, 7.
Bước 3. Chọn số 11 so sánh với những số trong dãy, thấy số 7 là số nhỏ nhất nên đổi chỗ số 11 và số 7. Dãy số sau khi đổi vị trí: 3, 6, 7, 9, 11.
Bước 4. Chọn số 9 so sánh với những số trong dãy, thấy số 9 là số nhỏ nhất và sắp xếp đúng vị trí nên ta giữ nguyên. Dãy số ta được: 3, 6, 7, 9, 11. Ta kiểm tra thấy dãy số đã được sắp xếp theo thứ tự tăng dần. Kết thúc thuật toán.
Thực hiện 4 vòng lặp là có thể sắp xếp số theo đúng vị trí.
b) Dãy chữ cái: H, D, A, B, Y.
- Sắp xếp nổi bọt: (Theo bảng chữ cái).
Vòng lặp 1:
Bước 1. So sánh chữ H và D (H > D). Nên đổi chỗ vị trí chữ H và chữ D, dãy chữ cái sau khi đổi vị trí: D, H, A, B, Y.
Bước 2. So sánh chữ H và A (H > A). Nên đổi chỗ vị trí chữ H và chữ A, dãy chữ cái sau khi đổi vị trí: D, A, H, B, Y.
Bước 3. So sánh chữ H và B ( H > B). Nên đổi chỗ vị trí chữ H và chữ B, dãy chữ cái sau khi đổi vị trí: D, A, B, H, Y.
Bước 4. So sánh chữ H và Y ( Y > H). Nên giữ nguyên vị trí, dãy chữ cái: D, A, B, H, Y.
Vòng lặp 2:
Bước 5. So sánh chữ D và A (D > A). Nên đổi chỗ vị trí chữ D và chữ B, dãy chữ cái sau khi đổi vị trí: A, D, B, H, Y.
Bước 6. So sánh chữ D và B (D > B). Nên đổi chỗ vị trí chữ D và chữ B, dãy chữ cái sau khi đổi vị trí: A, B, D, H, Y.
Bước 7. So sánh chữ D và H (H > D). Nên giữ nguyên vị trí, dãy chữ cái sắp xếp: A, B, D, H, Y.
Bước 8. So sánh chữ H và Y (H < Y). Nên giữ nguyên vị trí, dãy chữ cái sắp xếp: A, B, D, H, Y. Ta thấy dãy chữ cái đã được sắp xếp theo thứ tự. Kết thúc thuật toán.
Sử dụng 2 vòng lặp khi thực hiện bài toán tìm kiếm nổi bọt.
- Sắp xếp chọn:
Bước 1. Chọn chữ H so sánh với những chữ khác trong dãy, thấy chữ A là chữ nhỏ nhất nên đổi chỗ chữ H và chữ A. Dãy chữ sau khi đổi vị trí: A, D, H, B, Y.
Bước 2. Chọn chữ D so sánh với những chữ khác trong dãy, thấy chữ B là chữ nhỏ nhất nên đổi chỗ chữ D và chữ B. Dãy chữ sau khi đổi vị trí: A, B, H, D, Y.
Bước 3. Chọn chữ H so sánh với những chữ khác trong dãy, thấy chữ D là chữ nhỏ nhất nên đổi chỗ chữ H và chữ D. Dãy chữ sau khi đổi vị trí: A, B, D, H, Y. Khi đó ta thấy dãy chữ cái đã được sắp xếp theo đúng thứ tự. Kết thúc thuật toán.
⇒ Sau 3 vòng lặp thực hiện xong bài toán tìm kiếm sắp xếp chọn.
Quảng cáo
Câu hỏi hot cùng chủ đề
-
32708
-
Hỏi từ APP VIETJACK24964