5 phút giải Khoa học máy tính 11 Kết nối tri thức trang 115

5 phút giải Khoa học máy tính 11 Kết nối tri thức trang 115. Giúp học sinh nhanh chóng, mất ít thời gian để giải bài. Tiêu chí bài giải: nhanh, ngắn, súc tích, đủ ý. Nhằm tạo ra bài giải tốt nhất. 5 phút giải bài, bằng ngày dài học tập.


Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

BÀI 25. THỰC HÀNH XÁC ĐỊNH ĐỘ PHỨC TẠP THỜI GIAN THUẬT TOÁN

PHẦN I. HỆ THỐNG CÂU HỎI, BÀI TẬP TRONG SGK

KHỞI ĐỘNG

Biết cách phân tích, đánh giá độ phức tạp thuật toán là kĩ năng quan trọng của người thiết kế thuật toán và chương trình. Các quy tắc đơn giản tính độ phức tạp thời gian mang lại cho em điều gì khi đánh giá thuật toán?

LUYỆN TẬP

Luyện tập 1: Xác định độ phức tạp của thuật toán sắp xếp nỗi bọt sau:

def BubbleSort(A):

n = len(A}

for i in range(n-1):

 for" j in range(n-1-i):

for A[j] > A[j+1]:

A[j],A{fj+1] = A[3+1]1,A[3]

Luyện tập 2: Cho biết hàm sau sẽ trả về giá trị là bao nhiêu? Xác định độ phức tạp thời gian O- lớn của chương trình.

BÀI 25. THỰC HÀNH XÁC ĐỊNH ĐỘ PHỨC TẠP THỜI GIAN THUẬT TOÁN

VẬN DỤNG

Vận dụng 1: Giả sử rằng mỗi phép tính đơn được thực hiện trong micro giây (1 us = một phần triệu giây). Hãy xác định giá trị lớn nhất của n trong các thuật toán tìm kiếm tuần tự, sắp xếp chèn và sắp xếp chọn nếu thời gian thực thi các thuật toán là 1 giây, 1 phút và 1 giờ?

Vận dụng 2: Hãy cho biết hàm sau thực hiện công việc gì? Xác định độ phức tạp thời gian của thuật toán.

BÀI 25. THỰC HÀNH XÁC ĐỊNH ĐỘ PHỨC TẠP THỜI GIAN THUẬT TOÁN

PHẦN II. 5 PHÚT TRẢ LỜI CÂU HỎI, BÀI TẬP SGK

KHỞI ĐỘNG

Đáp án KD:

Đánh giá được mức đơn giản của thuật toán.

LUYỆN TẬP

Đáp án LT1

O(n2). T=O(n)+O(n2)=O(n2)

Đáp án LT2

Hàm "Mystery(n)" sẽ trả về giá trị là r. Độ phức tạp thời gian của chương trình này là O(n3)

VẬN DỤNG

Đáp án VD1:

1. Thuật toán tìm kiếm tuần tự:

  • Độ phức tạp là O(n)
  • nmax với thời gian thực thi là 1 giây: n = 1 giây * (106 us / phép tính) = 106
  • nmax với thời gian thực thi là 1 phút: n = 1 phút * (60 giây / phút) * (106us / phép tính) = 6 * 107
  • nmax với thời gian thực thi là 1 giờ: n = 1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính) = 3.6 * 109

2. Thuật toán sắp xếp chèn:

  • Độ phức tạp là O(102
  • nmax với thời gian thực thi là 1 giây: n = sqrt(1 giây * (106us / phép tính)) =103
  • nmax với thời gian thực thi là 1 phút: n = sqrt(1 phút * (60 giây / phút) * (106us / phép tính)) = 6 * 104
  • nmax với thời gian thực thi là 1 giờ: n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính)) = 3.6 * 106

3. Thuật toán sắp xếp chọn:

  • Độ phức tạp là O(n2)
  • Giá trị lớn nhất của n = sqrt(1 giây * (106us / phép tính)) = 1000.
  • Thời gian thực thi là 1 phút: Giá trị lớn nhất của n = sqrt(1 phút * (60 giây / phút) * (106us / phép tính)) = 60000.
  • Thời gian thực thi là 1 giờ: Giá trị lớn nhất của n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính)) = 3.6 * 106

Đáp án VD2:

Công việc của hàm là thực hiện sắp xếp. Độ phức tạp của thuật toán là O(n2)


Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

Nội dung quan tâm khác

Thêm kiến thức môn học

Từ khóa tìm kiếm:

giải 5 phút Khoa học máy tính 11 Kết nối tri thức, giải Khoa học máy tính 11 Kết nối tri thức trang 115, giải Khoa học máy tính 11 KNTT trang 115

Bình luận

Giải bài tập những môn khác