Giải sách bài tập Tin học 11 Khoa học máy tính Kết nối chủ đề 6 Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Hướng dẫn giải Bài 24: Đánh giá độ phức tạp thời gian thuật toán SBT Tin học 11 Khoa học máy tính Kết nối. Đây là sách bài tập nằm trong bộ sách "kết nối tri thức" được biên soạn theo chương trình đổi mới của Bộ giáo dục. Hi vọng, với cách hướng dẫn cụ thể và giải chi tiết học sinh sẽ nắm bài học tốt hơn.

24.1 Giả sử một chương trình P mô tả một thuật toán nào đó. Người ta đo được các thông tin thời gian sau:

T1 = thời gian chương trình nhập dữ liệu input và đưa vào bộ nhớ

T2 = thời gian chạy chương trình từ khi nhập xong dữ liệu input và tính xong dữ liệu output

T3 = thời gian đưa dữ liệu output ra thiết bị ngoài chuẩn.

Khi đó thời gian chạy chương trình T(n) dùng để tính độ phức tạp thời gian của thuật toán là phương án nào trong các phương án sau?

A. T1 + T2

B. T2

C. T2 + T3

D. T1 + T2 +T3

Hướng dẫn trả lời:

Đáp án đúng:

B. T2

24.2. Đánh giá thời gian chạy của chương trình sau:

Hướng dẫn trả lời:

Hướng dẫn trả lời:

T(n) = n + 2

24.3. Đánh giá thời gian chạy của chương trình sau:

 Hướng dẫn trả lời:

Hướng dẫn trả lời:

T(n) = n +2

24.4. Đánh giá thời gian chạy của chương trình sau, trong đó A là ma trận vuông bậc n.

 Hướng dẫn trả lời:

Hướng dẫn trả lời:

T(n) = n2 + 2

24.5. Đánh giá thời gian chạy của chương trình sau tính theo đơn vị thời gian, A là một dãy số cho trước có n phần tử.

 Hướng dẫn trả lời:

Hướng dẫn trả lời:

T(n) = 32n2+ 52n+1 trong trường hợp xấu nhất

24.6 Đánh giá thời gian chạy của thuật toán sắp xếp chèn đã học trong sách giáo khoa.

Hướng dẫn trả lời:

T(n) = 2n2- 3n+2 trong trường hợp xấu nhất

24.7. Đánh giá thời gian chạy của thuật toán sắp xếp nổi bọt đã học trong sách giáo khoa.

Hướng dẫn trả lời:

T(n) =2n2-2n+1 trong trường hợp xấu nhất

24.8. Tính độ phức tạp của các hàm sau theo kí hiệu O-lớn.

a) n+2n.n+10.

b) 2n2+ 3n3n+n3/2

c) 2n+ 3n+ 5n

Hướng dẫn trả lời:

a) n)

b) n)

c)O(5n)

24.9. a) Chứng minh n = O(n2)

b) Chứng minh n2 O(n)

Hướng dẫn trả lời:

a) Vì hiển nhiên n < n2 với n > 1 nên suy ra n = O(n2)

b) Nếu như n2 = O(n) thì ta phải có n2 < C.n với n đủ lớn, nhưng từ bất đẳng thức này suy ra n < C. Mâu thuẫn. Vậy suy ra n2 O(n)

24.10*. Chứng minh rằng nếu f(n) = O(g(n)) và g(n) = O(h(n)) thì ta có: f(n) = O(h(n)) 

Hướng dẫn trả lời:

Theo giả thiết f(n) = O(g(n)), vậy tồn tại n0 và C0 sao cho với mọi n > n0 ta có: f(n) < C0.g(n) (1)

Theo giả thiết g(n) = O(h(n)), vậy tồn tại n1 và C1 sao cho với mọi n > n1 ta có: f(n) < C1.g(n) (2)

Từ (1) và (2) suy ra với mọi n > max(n0, n1) và đặt C = C0.C1 ta sẽ có:

f(n) < C0.g(n) < C0.C1.h(n) = C.h(n)

Từ đó theo định nghĩa ta có:  f(n) = O(h(n))

Tìm kiếm google: Giải sách bài tập Tin học 11 Khoa học máy tính Kết nối , Giải SBT Tin học 11 Khoa học máy tính Kết nối , Giải sách bài tập Tin học 11 Khoa học máy tính Kết nối bài 24: Đánh giá độ phức tạp thời gian thuật toán

Xem thêm các môn học

Giải SBT tin học 11 định hướng Khoa học máy tính kết nối tri thức


Đia chỉ: Tòa nhà TH Office, 90 Khuất Duy Tiến, Thanh Xuân, Hà Nội
Điện thoại hỗ trợ: Fidutech - click vào đây
Chúng tôi trên Yotube
Cùng hệ thống: baivan.net - Kenhgiaovien.com - tech12h.com