Tải bài giảng điện tử powerpoint Khoa học máy tính 11 KNTT tri thức Bài 25: Thực hành xác định độ phức tạp thời gian thuật toán. Bài học được thiết kể đẹp mắt, nội dung giảng dạy hay nhiều trò chơi và video phong phú thu hút học sinh tập trung nắm bắt kiến thức quan trong. Tải Tải giáo án Powerpoint Powerpoint tải về chỉnh sửa được. Kéo xuống để xem chi tiết
Rõ nét về file powerpoint trình chiếu. => Xem thêm
NHIỆT LIỆT CHÀO MỪNG CẢ LỚP ĐẾN VỚI TIẾT HỌC MỚI!
KHỞI ĐỘNG
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?
Đánh giá được mức đơn giản của thuật toán, từ đó tìm ra cách giải nhanh nhất.
BÀI 25: THỰC HÀNH XÁC ĐỊNH ĐỘ PHỨC TẠP THỜI GIAN CỦA THUẬT TOÁN
NỘI DUNG THỰC HÀNH
Nhiệm vụ 1
Xác định độ phức tạp thời gian tính toán của thuật toán tìm kiếm tuần tự được thể hiện bằng chương trình sau:
Hướng dẫn:
Bước 1. Phân tích thời gian tính toán của thuật toán.
Bước 2. Xác định độ phức tạp O-lớn của thuật toán:
T(n) = n + 1 = O(n + 1) = O(max(n, 1)) = O(n)
Vậy thuật toán tìm kiếm tuần tự có độ phức tạp tuyến tính.
Nhiệm vụ 2
Xác định độ phức tạp của thuật toán sắp xếp chọn được thể hiện bằng chương trình sau:
Hướng dẫn:
Bước 1. Phân tích thời gian tính toán của thuật toán.
Gọi n là kích thước của mảng A, T(n) là thời gian chạy của thuật toán. Thời gian chạy của thuật toán được phân tích như sau:
→ Mỗi bước lặp tại dòng 5 sẽ tốn tối đa 2 đơn vị thời gian.
Tổng hợp lại, ta thấy thời gian chạy chương trình trên là:
Bước 2. Xác định độ phức tạp O-lớn của thuật toán:
T(n) = O(max(n2, 3n, –3)) = O(n2)
Vậy thuật toán sắp xếp chọn có độ phức tạp thời gian bình phương.
LUYỆN TẬP
Bài 1 (SGK - tr.117): 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):
if A[j] > A[j+1]:
A[j],A[j+1] = A[j+1],A[j]
Hướng dẫn:
Bước 1. Phân tích thời gian tính toán của thuật toán.
Gọi n là kích thước của mảng, T(n) là thời gian thực hiện của thuật toán. Thời gian chạy của thuật toán được phân tích như sau:
Tổng hợp lại, chương trình của thuật toán sắp xếp nổi bọt đưa ra có thời gian chạy là:
Bước 2. Xác định độ phức tạp O của thuật toán:
T(n) = 2n2 – 2n + 1 = O(n2)
Bài 2 (SGK - tr.117). Viết lại thuật toán cần tính độ phức tạp thời gian:
def Mystery(n):
r = 0
for i in range(n-1):
for j in range(i+1,n):
for k in range(1,j):
r = r+1
return r
Hàm đã cho trả về kết quả là:
Vậy tổng thời gian thực hiện câu lệnh tại dòng từ 3 đến 6 là:
.....
=> Còn nữa.... Files tải về, sẽ có đầy đủ nội dung bài học
Nâng cấp lên tài khoản VIP để tải tài liệu và dùng thêm được nhiều tiện ích khác
Bài giảng điện tử Khoa học máy tính 11 KNTT, Tải giáo án Powerpoint Khoa học máy tính 11 KNTT Bài 25: Thực hành xác định độ phức, Tải giáo án Powerpoint Khoa học máy tính 11 KNTT tri thức Bài 25: Thực hành xác định độ phức