Giải Tin học 11 trang 103 Kết nối tri thức
Với Giải Tin học 11 trang 103 trong Bài 21: Các thuật toán sắp xếp đơn giản Tin học lớp 11 Kết nối tri thức hay nhất, ngắn gọn sẽ giúp học sinh dễ dàng trả lời các câu hỏi & làm bài tập Tin 11 trang 103.
Giải Tin học 11 trang 103 Kết nối tri thức
Câu hỏi 1 trang 103 Tin học 11: Mô tả các bước thuật toán sắp xếp nổi bọt của dãy A = [4, 3, 1, 2]
Lời giải:
Vòng lặp 1 | |||||
Chỉ số của dãy |
0 |
1 |
2 |
3 |
|
Trước vòng lặp |
4 |
3 |
2 |
1 |
|
Bước lặp 1, j=0 |
4 |
3 |
2 |
1 |
So sánh phần tử thứ nhất và phần tử thứ 2 |
Bước lặp ,2 j=1 |
3 |
4 |
2 |
1 |
So sánh phần tử thứ 2 và phần tử thứ 3 |
Bước lặp 3, j=2 |
3 |
2 |
4 |
1 |
So sánh phần tử thứ 3 và phần tử thứ 4 |
Kết thúc vòng 1 |
3 |
2 |
1 |
4 |
|
Vòng lặp 2 | |||||
Chỉ số của dãy |
0 |
1 |
2 |
3 |
|
Trước vòng lặp |
3 |
2 |
1 |
4 |
|
Bước lặp 1, j=0 |
3 |
2 |
1 |
4 |
So sánh phần tử thứ nhất và phần tử thứ 2 |
Bước lặp ,2 j=1 |
2 |
3 |
1 |
4 |
So sánh phần tử thứ 2 và phần tử thứ 3 |
Bước lặp 3, j=2 |
2 |
1 |
3 |
4 |
So sánh phần tử thứ 3 và phần tử thứ 4 |
Kết thúc vòng 2 |
2 |
1 |
3 |
4 |
|
Vòng lặp 3 | |||||
Chỉ số của dãy |
0 |
1 |
2 |
3 |
|
Trước vòng lặp |
2 |
1 |
3 |
4 |
|
Bước lặp 1, j=0 |
1 |
2 |
3 |
4 |
So sánh phần tử thứ nhất và phần tử thứ 2 |
Bước lặp ,2 j=1 |
1 |
2 |
3 |
4 |
So sánh phần tử thứ 2 và phần tử thứ 3 |
Bước lặp 3, j=2 |
1 |
2 |
3 |
4 |
So sánh phần tử thứ 3 và phần tử thứ 4 |
Kết thúc vòng 3 |
1 |
2 |
3 |
4 |
|
Kết thúc lặp |
1 |
2 |
3 |
4 |
Câu hỏi 2 trang 103 Tin học 11: Khi nào thì các mũi tên ở tất cả các bước trong sơ đồ mô phỏng thuật toán sắp xếp nổi bọt đều có màu đỏ?
Lời giải:
Thuật toán sắp xếp nổi bọt hoạt động bằng cách so sánh các phần tử kế tiếp trong danh sách và hoán đổi chúng nếu chúng không được sắp xếp theo thứ tự. Quá trình lặp sẽ tiếp tục cho đến khi tất cả các phần tử đều được sắp xếp. Vì vậy khi màu của tất cả các mũi tên đều đỏ trong sơ đồ mô phỏng thì có nghĩa là không còn phần tử nào được sắp xếp theo thứ tự tăng dần hoặc giảm dần và không cần thực hiện bất kỳ hoán đổi nào nữa.
Luyện tập 1 trang 103 Tin học 11: Cho dãy A= [5, 8, 1, 0, 10, 4, 3]. Viết các chương trình sắp xếp dãy A theo thứ tự tăng dần theo các thuật toán sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt.
Lời giải:
1.Thuật toán sắp xếp chèn (Insertion Sort):
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
A = [5, 8, 1, 0, 10, 4, 3]
sorted_A = insertion_sort(A)
print("Dãy A sau khi sắp xếp chèn:", sorted_A)
2. Thuật toán sắp xếp chọn (Selection Sort):
def selection_sort(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i + 1, len(arr)):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
A = [5, 8, 1, 0, 10, 4, 3]
sorted_A = selection_sort(A)
print("Dãy A sau khi sắp xếp chọn:", sorted_A)
3.Thuật toán sắp xếp nổi bọt (Bubble Sort):
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - 1 - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
A = [5, 8, 1, 0, 10, 4, 3]
sorted_A = bubble_sort(A)
print("Dãy A sau khi sắp xếp nổi bọt:", sorted_A)
Luyện tập 2 trang 103 Tin học 11: Viết chương trình nhập một dãy số từ bàn phím, các số cách nhau bởi dấu cách, thực hiện sắp xếp dãy đã nhập theo một trong các thuật toán sắp xếp rồi in kết quả ra màn hình.
Lời giải:
Sử dụng thuật toán săp xếp nổi bọt:
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# Nhập dãy số từ bàn phím
input_str = input("Nhập dãy số cách nhau bởi dấu cách: ")
arr = list(map(int, input_str.split()))
# In dãy số trước khi sắp xếp
print("Dãy số trước khi sắp xếp: ", arr)
# Sắp xếp dãy số
bubble_sort(arr)
# In dãy số sau khi sắp xếp
print("Dãy số sau khi sắp xếp: ", arr)
Vận dụng 1 trang 103 Tin học 11: Viết lại các thuật toán sắp xếp trong bài theo thứ tự giảm dần.
Lời giải:
1.Thuật toán sắp xếp chèn:
def insertion_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] < key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
2. Thuật toán sắp xếp chọn :
def selection_sort(arr):
n = len(arr)
for i in range(n - 1):
max_idx = i
for j in range(i + 1, n):
if arr[j] > arr[max_idx]:
max_idx = j
arr[i], arr[max_idx] = arr[max_idx], arr[i]
return arr
3.Thuật toán sắp xếp nổi bọt:
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] < arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
Vận dụng 2 trang 103 Tin học 11: Nêu ý nghĩa thực tế của các thuật toán sắp xếp đã học, chẳng hạn sắp xếp các học Sinh trong lớp theo chiều cao tăng dần.
Lời giải:
Các thuật toán sắp xếp như sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt có ý nghĩa thực tế quan trọng trong nhiều tình huống khác nhau, bao gồm việc sắp xếp học sinh trong lớp theo chiều cao tăng dần. Dưới đây là một số ý nghĩa thực tế của các thuật toán sắp xếp:
-Tối ưu hóa thời gian thực thi: Các thuật toán sắp xếp giúp tối ưu hóa thời gian thực thi của các quy trình liên quan đến sắp xếp, giúp giảm bớt thời gian chờ đợi và tăng hiệu quả hoạt động của hệ thống. Ví dụ, khi sắp xếp các học sinh trong lớp theo chiều cao tăng dần, sử dụng thuật toán sắp xếp hiệu quả giúp đảm bảo quá trình sắp xếp nhanh chóng và đáp ứng được thời gian chờ đợi của học sinh và giáo viên.
-Tạo độ thứ tự: Các thuật toán sắp xếp giúp tạo ra độ thứ tự trong các tập dữ liệu, từ đó giúp dễ dàng tìm kiếm, tra cứu, phân tích hoặc xử lý dữ liệu sau này. Ví dụ, trong việc sắp xếp các học sinh trong lớp theo chiều cao tăng dần, độ thứ tự giúp giáo viên dễ dàng định vị vị trí của từng học sinh trong lớp học.
-Áp dụng trong nhiều lĩnh vực: Các thuật toán sắp xếp không chỉ được áp dụng trong lĩnh vực giáo dục, mà còn được sử dụng trong nhiều lĩnh vực khác như khoa học máy tính, công nghệ thông tin, tài chính, thương mại điện tử, kho dữ liệu, v.v. Ví dụ, trong công nghệ thông tin, sắp xếp dữ liệu giúp cải thiện hiệu suất của các thuật toán khác, chẳng hạn trong tìm kiếm dữ liệu, xử lý hình ảnh, xử lý âm thanh, v.v.
-Nền tảng cho các thuật toán phức tạp hơn: Các thuật toán sắp xếp đóng vai trò là nền tảng cho nhiều thuật toán phức tạp.
Lời giải bài tập Tin học 11 Bài 21: Các thuật toán sắp xếp đơn giản hay khác:
Xem thêm lời giải bài tập Tin học lớp 11 Kết nối tri thức hay nhất, ngắn gọn khác:
Tin học 11 Bài 24: Đánh giá độ phức tạp thời gian thuật toán
Tin học 11 Bài 25: Thực hành xác định độ phức tạp thời gian thuật toán
Tin học 11 Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình
Xem thêm các tài liệu học tốt lớp 11 hay khác:
- Giải sgk Tin học 11 Kết nối tri thức
- Giải Chuyên đề Tin học 11 Kết nối tri thức
- Giải SBT Tin học 11 Kết nối tri thức
- Giải lớp 11 Kết nối tri thức (các môn học)
- Giải lớp 11 Chân trời sáng tạo (các môn học)
- Giải lớp 11 Cánh diều (các môn học)
Tủ sách VIETJACK shopee lớp 10-11 cho học sinh và giáo viên (cả 3 bộ sách):
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.
- Soạn văn 11 (hay nhất) - KNTT
- Soạn văn 11 (ngắn nhất) - KNTT
- Giải sgk Toán 11 - KNTT
- Giải Tiếng Anh 11 Global Success
- Giải sgk Tiếng Anh 11 Smart World
- Giải sgk Tiếng Anh 11 Friends Global
- Giải sgk Vật Lí 11 - KNTT
- Giải sgk Hóa học 11 - KNTT
- Giải sgk Sinh học 11 - KNTT
- Giải sgk Lịch Sử 11 - KNTT
- Giải sgk Địa Lí 11 - KNTT
- Giải sgk Giáo dục KTPL 11 - KNTT
- Giải sgk Tin học 11 - KNTT
- Giải sgk Công nghệ 11 - KNTT
- Giải sgk Hoạt động trải nghiệm 11 - KNTT
- Giải sgk Giáo dục quốc phòng 11 - KNTT
- Giải sgk Âm nhạc 11 - KNTT