TopStudy

Tin học · Lớp 11

15 câu Trắc nghiệm Tin học 11 Cánh diều Định hướng KHMT Bài 5: Đánh giá thuật toán có đáp án

15 câu · 23 phút · Ngân hàng đề TopStudy. Đáp án và lời giải do TopStudy biên soạn, mở ngay dưới từng câu.

Làm bài

Nội dung đề

Phần I. Trắc nghiệm nhiều lựa chọn

Câu 1

1 điểm

PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.

Độ phức tạp thời gian của thuật toán được xác định bởi yếu tố nào?

  1. Đáp án A: Kích thước dữ liệu đầu vào
  2. Đáp án B: Ngôn ngữ lập trình
  3. Đáp án C: Kỹ năng lập trình viên
  4. Đáp án D: Thời gian thực hiện cụ thể của thuật toán
Xem đáp án và lời giải

Lời giải do TopStudy biên soạn

Đáp án: A

Đáp án: A

Giải thích: Độ phức tạp thời gian chủ yếu phụ thuộc vào kích thước dữ liệu đầu vào (n). Các yếu tố khác như ngôn ngữ lập trình hay kỹ năng lập trình viên có thể ảnh hưởng đến hiệu suất thực tế nhưng không phải là yếu tố chính để xác định độ phức tạp.

Câu 2

1 điểm
Độ phức tạp thời gian tuyến tính được ký hiệu là gì?
  1. Đáp án A: O(1)
  2. Đáp án B: O(log n)
  3. Đáp án C: O(n)
  4. Đáp án D: O(n^2)
Xem đáp án và lời giải

Lời giải do TopStudy biên soạn

Đáp án: C

Đáp án: C

Giải thích: Độ phức tạp thời gian tuyến tính được ký hiệu là O(n), có nghĩa là số phép toán cần thực hiện tỷ lệ thuận với kích thước đầu vào n.

Câu 3

1 điểm
Phép toán nào được coi là phép toán sơ cấp?
  1. Đáp án A: Phép cộng hai số
  2. Đáp án B: Phép lặp
  3. Đáp án C: Phép lựa chọn
  4. Đáp án D: Phép khai căn
Xem đáp án và lời giải

Lời giải do TopStudy biên soạn

Đáp án: A

Đáp án: A

Giải thích: Phép cộng hai số là phép toán sơ cấp vì nó thực hiện trong thời gian không phụ thuộc vào kích thước n của dữ liệu đầu vào. Các phép lặp và lựa chọn không được coi là sơ cấp.

Câu 4

1 điểm
Thuật toán nào sau đây có độ phức tạp thời gian hằng số?
  1. Đáp án A: Tìm kiếm một phần tử trong danh sách
  2. Đáp án B: Tính tổng dãy số từ 1 đến n bằng công thức
  3. Đáp án C: Sắp xếp một danh sách số
  4. Đáp án D: Tính giai thừa của n
Xem đáp án và lời giải

Lời giải do TopStudy biên soạn

Đáp án: B

Đáp án: B

Giải thích: Tính tổng dãy số từ 1 đến n bằng công thức S = n(n + 1)/2 có độ phức tạp thời gian hằng số (O(1)) vì số phép toán không phụ thuộc vào n.

Câu 5

1 điểm
Khi ước lượng độ phức tạp thời gian của thuật toán, quy tắc nào được áp dụng?
  1. Đáp án A: Chỉ giữ lại các phép toán có bậc thấp nhất
  2. Đáp án B: Bỏ qua các hằng số nhân
  3. Đáp án C: Chỉ xem xét các phép toán không sơ cấp
  4. Đáp án D: Tính tổng tất cả các phép toán thực hiện
Xem đáp án và lời giải

Lời giải do TopStudy biên soạn

Đáp án: B

Đáp án: B

Giải thích: Khi ước lượng, chúng ta bỏ qua các hằng số nhân và chỉ giữ lại các phần có bậc lớn nhất để đơn giản hóa biểu thức.

Câu 6

1 điểm
Trong trường hợp nào thuật toán có thể có độ phức tạp thời gian tuyến tính?
  1. Đáp án A: Tìm số lớn nhất trong một dãy số không tăng
  2. Đáp án B: Sắp xếp một danh sách số ngẫu nhiên
  3. Đáp án C: Tìm kiếm một phần tử cụ thể trong danh sách
  4. Đáp án D: Tính giai thừa của một số
Xem đáp án và lời giải

Câu 7

1 điểm
Phép toán nào không được coi là sơ cấp?
  1. Đáp án A: Phép nhân hai số
  2. Đáp án B: Phép lặp qua một dãy số
  3. Đáp án C: Phép so sánh hai giá trị
  4. Đáp án D: Phép khai thác giá trị tuyệt đối
Xem đáp án và lời giải

Câu 8

1 điểm
Cách nào được coi là ước lượng làm giả thêm?
  1. Đáp án A: Tính toán độ phức tạp thực tế của một thuật toán
  2. Đáp án B: Tìm số phép toán tối thiểu và tối đa cần thiết cho một thuật toán
  3. Đáp án C: Xác định ước lượng trung bình cho tất cả các trường hợp
  4. Đáp án D: Lựa chọn phương pháp ước lượng đảm bảo không vượt quá giá trị ước tính
Xem đáp án và lời giải

Câu 9

1 điểm
Khi nào độ phức tạp thời gian của thuật toán là O(n^2)?
  1. Đáp án A: Khi thực hiện một lần lặp qua n phần tử
  2. Đáp án B: Khi thực hiện hai lần lặp lồng nhau qua n phần tử
  3. Đáp án C: Khi thực hiện tìm kiếm nhị phân
  4. Đáp án D: Khi thực hiện phép cộng n số
Xem đáp án và lời giải

Câu 10

1 điểm
Đặc điểm nào sau đây không thuộc về độ phức tạp thời gian hằng số?
  1. Đáp án A: T(n) = C với C là một hằng số
  2. Đáp án B: Số phép toán thực hiện không phụ thuộc vào kích thước n
  3. Đáp án C: Được ký hiệu là O(1)
  4. Đáp án D: Số phép toán tăng theo kích thước n
Xem đáp án và lời giải

Phần II. Tự luận

Câu 11

1 điểm

PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai

Thuật toán nào sau đây có độ phức tạp thời gian hằng số?

a) Tính tổng dãy số bằng cách cộng dồn từng số.

b) Tính tổng dãy số bằng công thức tính tổng cấp số cộng S=

c) Tìm kiếm một phần tử trong danh sách đã sắp xếp bằng cách sử dụng thuật toán tìm kiếm nhị phân.

d) Sắp xếp một dãy số bằng thuật toán sắp xếp nổi bọt (bubble sort).

Xem đáp án và lời giải

Câu 12

1 điểm

Cách nào dưới đây có độ phức tạp thời gian tuyến tính?

a) Tìm số lớn nhất trong dãy số bằng cách so sánh từng cặp.

b) Tính giai thừa của một số nguyên n bằng đệ quy.

c) Sắp xếp một dãy số bằng thuật toán Quick Sort.

d) Tìm kiếm một số trong dãy số không sắp xếp bằng cách lặp qua từng phần tử.

Xem đáp án và lời giải

Câu 13

1 điểm

PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3

Tại sao cần phải ước lượng độ phức tạp thời gian của một thuật toán?

Xem đáp án và lời giải

Câu 14

1 điểm
Thế nào là độ phức tạp thời gian hằng số?
Xem đáp án và lời giải

Câu 15

1 điểm
Độ phức tạp thời gian tuyến tính có ý nghĩa gì trong việc đánh giá thuật toán?
Xem đáp án và lời giải

Đề cùng chủ đề

Tất cả đề Chuyên đề F¬cs. Giải quyết vấn đề với sự trợ giúp của máy tính Kỹ thuật lập trình · Các bộ sách Tin học Lớp 11