Hoạt động 2 trang 113 SGK Tin học 11 Kết nối tri thức
Cùng trao đổi và tìm hiểu cách phân loại thuật toán dựa trên độ phức tạp thời gian thuật toán?
Hướng dẫn giải chi tiết Hoạt động 2
Thuật toán là một chuỗi các bước được thiết kế để giải quyết một vấn đề cụ thể. Một trong những yếu tố quan trọng để đánh giá hiệu suất của một thuật toán là độ phức tạp thời gian, tức là thời gian mà thuật toán mất để thực thi dựa trên kích thước đầu vào của vấn đề. Phân loại thuật toán dựa trên độ phức tạp thời gian là một phương pháp được sử dụng phổ biến để đánh giá và so sánh hiệu suất của các thuật toán khác nhau. Dưới đây là một số phân loại chính dựa trên độ phức tạp thời gian của thuật toán:
- O(1) (độ phức tạp thời gian hằng số): Đây là loại thuật toán có thời gian thực thi không thay đổi theo kích thước đầu vào. Thời gian thực thi của thuật toán này là cố định, vì vậy độ phức tạp thời gian là hằng số.
Ví dụ: Truy cập vào phần tử trong mảng có kích thước cố định.
- O(log n) (độ phức tạp thời gian logarithmic): Đây là loại thuật toán có thời gian thực thi tăng theo logarit của kích thước đầu vào. Thuật toán này thường được sử dụng trong các bài toán tìm kiếm nhị phân, các thuật toán chia để trị, hoặc các thuật toán sắp xếp hiệu quả như QuickSort hoặc MergeSort.
- O(n) (độ phức tạp thời gian tuyến tính): Đây là loại thuật toán có thời gian thực thi tăng tỷ lệ trực tiếp với kích thước đầu vào. Ví dụ: Duyệt qua từng phần tử trong mảng một lần.
- O(n^2) (độ phức tạp thời gian bậc hai): Đây là loại thuật toán có thời gian thực thi tăng theo bình phương của kích thước đầu vào. Ví dụ: Thuật toán sắp xếp Bubble Sort, các thuật toán tìm kiếm không hiệu quả như Linear Search trong một mảng lồng nhau.
- O(n^k) (độ phức tạp thời gian bậc k): Đây là loại thuật toán có thời gian thực thi tăng theo lũy thừa của kích thước đầu.
-- Mod Tin Học 11 HỌC247
Bài tập SGK khác
Câu hỏi 1 trang 113 SGK Tin học 11 Kết nối tri thức - KNTT
Câu hỏi 2 trang 113 SGK Tin học 11 Kết nối tri thức - KNTT
Câu hỏi trang 114 SGK Tin học 11 Kết nối tri thức - KNTT
Luyện tập 1 trang 114 SGK Tin học 11 Kết nối tri thức - KNTT
Luyện tập 2 trang 114 SGK Tin học 11 Kết nối tri thức - KNTT
Vận dụng 1 trang 114 SGK Tin học 11 Kết nối tri thức - KNTT
Vận dụng 2 trang 114 SGK Tin học 11 Kết nối tri thức - KNTT
Chưa có câu hỏi nào. Em hãy trở thành người đầu tiên đặt câu hỏi.