Đề Trắc Nghiệm Tin Học 11 (Kết Nối Tri Thức) Bài 24: Đánh Giá Độ Phức Tạp Thời Gian Thuật Toán

Đề Trắc Nghiệm Tin Học 11 (Kết Nối Tri Thức) Bài 24: Đánh Giá Độ Phức Tạp Thời Gian Thuật Toán tổng hợp câu hỏi trắc nghiệm chứa đựng nhiều dạng bài tập, bài thi, cũng như các câu hỏi trắc nghiệm và bài kiểm tra, trong bộ Trắc Nghiệm Tin Học 11 – Kết Nối Tri Thức. Nội dung trắc nghiệm nhấn mạnh phần kiến thức nền tảng và chuyên môn sâu của học phần này. Mọi bộ đề trắc nghiệm đều cung cấp câu hỏi, đáp án cùng hướng dẫn giải cặn kẽ. Mời bạn thử sức làm bài nhằm ôn luyện và làm vững chắc kiến thức cũng như đánh giá năng lực bản thân!

Đề 01

Đề 02

Đề 03

Đề 04

Đề 05

Đề 06

Đề 07

Đề 08

Đề 09

Đề 10

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 01

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 1: Khi phân tích độ phức tạp thời gian của một thuật toán, ký hiệu O lớn (Big O) biểu thị điều gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 2: Giả sử một chương trình thực hiện các bước sau theo trình tự: một khối lệnh tốn O(n^2) thời gian, sau đó là một khối lệnh tốn O(n) thời gian, và cuối cùng là một khối lệnh tốn O(1) thời gian. Sử dụng quy tắc cộng, độ phức tạp thời gian tổng thể của chương trình này là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 3: Một thuật toán tìm kiếm nhị phân trên một mảng đã sắp xếp có độ phức tạp thời gian là O(log n). Điều này có ý nghĩa gì khi kích thước mảng (n) tăng lên?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 4: Xem xét đoạn mã giả sau:
```
for i = 1 to n:
for j = 1 to n:
// Thực hiện một phép toán cơ bản (O(1))
```
Độ phức tạp thời gian của đoạn mã này là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 5: Tại sao các hằng số và các số hạng bậc thấp thường bị bỏ qua khi đánh giá độ phức tạp thời gian bằng ký hiệu Big O?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 6: Thuật toán nào sau đây (nếu được triển khai một cách điển hình) có độ phức tạp thời gian O(n) trong trường hợp xấu nhất?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 7: Một thuật toán được mô tả có thời gian chạy là T(n) = 5n^2 + 2n + 10. Độ phức tạp thời gian của thuật toán này theo ký hiệu Big O là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 8: Xem xét đoạn mã giả sau:
```
a = 10
b = 20
if a > b:
print(a)
else:
print(b)
```
Độ phức tạp thời gian của đoạn mã này là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 9: Khi so sánh hiệu suất của hai thuật toán có độ phức tạp O(n log n) và O(n^2) với cùng một kích thước đầu vào n rất lớn, thuật toán nào thường được ưu tiên hơn?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 10: Quy tắc nhân trong tính độ phức tạp thời gian của thuật toán được áp dụng trong trường hợp nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 11: Xem xét đoạn mã giả sau:
```
for i = 1 to n:
// Thực hiện một phép toán cơ bản (O(1))
for j = 1 to n*n:
// Thực hiện một phép toán cơ bản (O(1))
```
Độ phức tạp thời gian của đoạn mã này là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 12: Độ phức tạp O(1) nghĩa là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 13: Thuật toán sắp xếp nào sau đây thường có độ phức tạp thời gian O(n log n) trong trường hợp trung bình và xấu nhất?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 14: Tại sao việc đánh giá độ phức tạp thời gian lại quan trọng trong việc phát triển phần mềm, đặc biệt là khi xử lý dữ liệu lớn?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 15: Xem xét đoạn mã giả sau:
```
for i = 1 to n:
for j = 1 to 10:
// Thực hiện một phép toán cơ bản (O(1))
```
Độ phức tạp thời gian của đoạn mã này là gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 16: Hàm nào sau đây tăng trưởng nhanh nhất khi n tiến tới vô cùng?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 17: Giả sử bạn có hai thuật toán để giải cùng một bài toán. Thuật toán A có độ phức tạp O(n log n), thuật toán B có độ phức tạp O(n^1.5). Với n đủ lớn, thuật toán nào có khả năng chạy nhanh hơn?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 18: Khi phân tích độ phức tạp thời gian của một thuật toán chứa câu lệnh điều kiện (if-else), ta thường xét trường hợp nào để đánh giá bằng Big O?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 19: Xem xét đoạn mã giả sau:
```
i = 1
while i < n: // Thực hiện một phép toán cơ bản (O(1)) i = i * 2 ``` Độ phức tạp thời gian của đoạn mã này là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 20: Độ phức tạp thời gian của việc truy cập một phần tử theo chỉ số trong một mảng (ví dụ: `arr[i]`) là bao nhiêu?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 21: Mục đích chính của việc đánh giá độ phức tạp thời gian của thuật toán là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 22: Cho hai thuật toán, một có độ phức tạp O(n) và một có độ phức tạp O(n log n). Khi n rất nhỏ (ví dụ n = 10), thuật toán nào có thể nhanh hơn?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 23: Xem xét đoạn mã giả sau:
```
for i = 1 to n:
// O(1) operation
for j = 1 to n:
for k = 1 to n:
// O(1) operation
```
Độ phức tạp thời gian của đoạn mã này là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 24: Độ phức tạp thời gian của việc thêm một phần tử vào cuối danh sách liên kết (linked list) đơn là bao nhiêu (giả sử bạn đã có con trỏ tới nút cuối cùng)?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 25: Thuật toán nào sau đây có độ phức tạp thời gian O(n log n)?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 26: Độ phức tạp thời gian O(n!) (n giai thừa) thuộc loại nào trong các loại độ phức tạp cơ bản?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 27: Khi phân tích độ phức tạp của một thuật toán đệ quy, phương pháp nào thường được sử dụng?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 28: Cho một thuật toán có thời gian chạy T(n) = 2n + log n + 100. Độ phức tạp thời gian của thuật toán này theo ký hiệu Big O là gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 29: Tại sao trong phân tích độ phức tạp Big O, chúng ta quan tâm đến hành vi khi n tiến tới vô cùng (asymptotic behavior)?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 01

Câu 30: Khi so sánh các độ phức tạp thời gian O(1), O(log n), O(n), O(n log n), O(n^2), sắp xếp theo thứ tự từ nhanh nhất đến chậm nhất (với n đủ lớn) là gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 02

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 1: Khi phân tích độ phức tạp thời gian của một thuật toán, tại sao chúng ta thường chỉ quan tâm đến số lượng các phép toán cơ bản (như gán, so sánh, cộng, trừ) thay vì thời gian thực thi chính xác trên một máy tính cụ thể?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 2: Độ phức tạp thời gian O(n) mô tả mối quan hệ giữa thời gian thực thi và kích thước đầu vào n như thế nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 3: Cho đoạn mã giả sau:

```
function process(arr, n):
sum = 0
for i from 0 to n-1:
sum = sum + arr[i]
return sum
```

Độ phức tạp thời gian của đoạn mã này là bao nhiêu, với n là kích thước của mảng `arr`?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 4: Cho đoạn mã giả sau:

```
function find_max(arr, n):
max_val = arr[0]
for i from 1 to n-1:
if arr[i] > max_val:
max_val = arr[i]
return max_val
```

Độ phức tạp thời gian của đoạn mã này trong trường hợp xấu nhất (worst-case) là bao nhiêu, với n là kích thước của mảng `arr`?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 5: Thuật toán tìm kiếm nhị phân trên một mảng đã được sắp xếp có độ phức tạp thời gian là O(log n). Điều này có nghĩa là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 6: Cho đoạn mã giả sau:

```
function print_pairs(arr, n):
for i from 0 to n-1:
for j from 0 to n-1:
print(arr[i], arr[j])
```

Độ phức tạp thời gian của đoạn mã này là bao nhiêu, với n là kích thước của mảng `arr`?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 7: Khi so sánh hai thuật toán A có độ phức tạp O(n) và thuật toán B có độ phức tạp O(n^2) để giải cùng một bài toán với kích thước đầu vào n rất lớn, thuật toán nào thường được ưu tiên hơn và vì sao?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 8: Quy tắc cộng trong phân tích độ phức tạp thời gian được áp dụng khi nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 9: Quy tắc nhân trong phân tích độ phức tạp thời gian được áp dụng khi nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 10: Cho đoạn mã giả sau:

```
function example(n):
for i from 1 to 100:
print(i)
for j from 1 to n:
print(j)
```

Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 11: Thuật toán nào sau đây thường có độ phức tạp thời gian tốt nhất (hiệu quả nhất) khi kích thước đầu vào n rất lớn?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 12: Độ phức tạp thời gian O(n^2) thường xuất hiện trong các thuật toán có cấu trúc như thế nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 13: Tại sao các hằng số và các thành phần bậc thấp thường bị bỏ qua trong ký hiệu Big O?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 14: Cho đoạn mã giả sau:

```
function example(arr, n):
if n <= 1: return // Chia mảng làm đôi mid = n / 2 left_half = arr[0...mid-1] right_half = arr[mid...n-1] // Gọi đệ quy trên hai nửa example(left_half, mid) example(right_half, n - mid) // Các thao tác kết hợp (ví dụ: trộn mảng đã sắp xếp) // ... (thực hiện trong thời gian O(n)) ``` Đây là cấu trúc của một thuật toán 'chia để trị' điển hình (ví dụ: Merge Sort). Độ phức tạp thời gian của các thuật toán dạng này thường là bao nhiêu?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 15: Tại sao việc đánh giá độ phức tạp thời gian (và không gian) của thuật toán lại quan trọng trong việc phát triển phần mềm?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 16: Cho đoạn mã giả:

```
function example(n):
i = 1
while i < n: print(i) i = i * 2 ``` Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 17: Thuật toán nào dưới đây, khi triển khai một cách cơ bản, thường có độ phức tạp thời gian là O(n^2)?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 18: Giả sử một thuật toán có độ phức tạp thời gian là T(n) = 5n^2 + 3n + 10. Khi sử dụng ký hiệu Big O để biểu diễn độ phức tạp, kết quả đúng là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 19: Trường hợp tốt nhất (best-case) của một thuật toán là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 20: Trường hợp xấu nhất (worst-case) của một thuật toán là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 21: Cho đoạn mã giả:

```
function example(n):
sum = 0
for i from 1 to n:
sum = sum + i
j = 1
while j < n: print(j) j = j * 3 ``` Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 22: Thuật toán tìm kiếm tuyến tính (Linear Search) trên một mảng có n phần tử có độ phức tạp thời gian trong trường hợp xấu nhất là bao nhiêu?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 23: Độ phức tạp thời gian O(1) có nghĩa là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 24: Cho đoạn mã giả:

```
function example(n):
for i from 1 to n:
for j from 1 to i:
print(i, j)
```

Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 25: Khi phân tích độ phức tạp thời gian của thuật toán, 'kích thước đầu vào' (input size) n thường được định nghĩa là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 26: Giả sử bạn có hai thuật toán để giải quyết một bài toán: Thuật toán X có độ phức tạp O(n log n) và Thuật toán Y có độ phức tạp O(n^2). Với n = 1000, thuật toán nào có khả năng chạy nhanh hơn và tại sao?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 27: Thuật toán sắp xếp nào dưới đây, khi triển khai hiệu quả, có độ phức tạp thời gian trung bình là O(n log n)?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 28: Nếu một thuật toán có độ phức tạp thời gian là O(2^n), điều gì sẽ xảy ra với thời gian thực thi khi kích thước đầu vào n tăng lên một lượng nhỏ (ví dụ: tăng thêm 1 hoặc 2)?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 29: Cho đoạn mã giả:

```
function example(arr, n):
if n <= 0: return 0 if n == 1: return arr[0] // Giả sử hàm sum_array_recursive(arr, n) tính tổng n phần tử // bằng cách gọi đệ quy trên n-1 phần tử và cộng thêm phần tử cuối. // Độ phức tạp của hàm này là O(n). return sum_array_recursive(arr, n) ``` Độ phức tạp thời gian của hàm `example` gọi `sum_array_recursive` như mô tả là bao nhiêu?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 02

Câu 30: Khi so sánh hiệu quả của hai thuật toán A (O(n log n)) và B (O(n^2)) cho một bài toán, có trường hợp nào mà thuật toán B có thể chạy nhanh hơn thuật toán A không?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 03

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 1: Khái niệm 'độ phức tạp thời gian' của một thuật toán chủ yếu đo lường điều gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 2: Tại sao khi đánh giá độ phức tạp thời gian bằng ký hiệu Big O (O), chúng ta thường chỉ quan tâm đến hạng tử có bậc cao nhất và bỏ qua các hệ số hằng?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 3: Xét đoạn mã giả sau:
```
a = 10
b = 20
if n > 0:
for i from 1 to n:
c = a + b
```
Với `n` là kích thước đầu vào, độ phức tạp thời gian của đoạn mã này là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 4: Xét đoạn mã giả sau:
```
sum = 0
for i from 1 to n:
for j from 1 to n:
sum = sum + 1
```
Với `n` là kích thước đầu vào, độ phức tạp thời gian của đoạn mã này là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 5: Cho hai thuật toán A và B lần lượt có độ phức tạp thời gian là O(n log n) và O(n^2). Khi kích thước đầu vào `n` tăng lên rất lớn, thuật toán nào sẽ có hiệu suất (thời gian chạy) tốt hơn?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 6: Quy tắc cộng trong phân tích độ phức tạp thời gian được áp dụng khi nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 7: Quy tắc nhân trong phân tích độ phức tạp thời gian được áp dụng khi nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 8: Độ phức tạp thời gian O(1) có ý nghĩa gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 9: Thuật toán tìm kiếm nhị phân (Binary Search) trên một mảng đã sắp xếp có độ phức tạp thời gian trong trường hợp xấu nhất là bao nhiêu?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 10: Xét đoạn mã giả sau:
```
result = 0
for i from 1 to 100:
result = result + i
```
Độ phức tạp thời gian của đoạn mã này là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 11: Khi phân tích độ phức tạp thời gian của một thuật toán, 'trường hợp xấu nhất' (worst-case) thường được quan tâm nhất vì lý do gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 12: Một thuật toán có độ phức tạp thời gian O(n log n). Điều này có nghĩa là gì về mối quan hệ giữa thời gian chạy và kích thước đầu vào n?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 13: Xét đoạn mã giả sau:
```
for i from 1 to n:
j = 1
while j < n: print(i, j) j = j * 2 ``` Với `n` là kích thước đầu vào, độ phức tạp thời gian của đoạn mã này là gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 14: Thuật toán sắp xếp chọn (Selection Sort) có độ phức tạp thời gian trong trường hợp xấu nhất là bao nhiêu?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 15: Cho một thuật toán có hàm thời gian T(n) = 5n³ + 20n² + 100. Độ phức tạp thời gian của thuật toán này theo ký hiệu Big O là gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 16: Một thuật toán có độ phức tạp O(2^n). Điều này có ý nghĩa gì đối với việc sử dụng thuật toán này với kích thước đầu vào `n` lớn?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 17: Khi phân tích độ phức tạp của một cấu trúc điều kiện (if-else), độ phức tạp tổng thể thường được tính bằng cách nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 18: Xét đoạn mã giả sau:
```
func process_array(arr, n):
# Đoạn 1: Tìm phần tử nhỏ nhất (O(n))
min_val = arr[0]
for i from 1 to n-1:
if arr[i] < min_val: min_val = arr[i] # Đoạn 2: In ra 10 lần giá trị min_val (O(1)) for k from 1 to 10: print(min_val) ``` Độ phức tạp thời gian tổng thể của hàm `process_array` là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 19: Thứ tự tăng trưởng từ chậm nhất đến nhanh nhất của các độ phức tạp phổ biến là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 20: Giả sử một thuật toán có độ phức tạp thời gian là O(n^2). Nếu kích thước đầu vào `n` tăng gấp đôi, thì thời gian chạy của thuật toán sẽ tăng lên khoảng bao nhiêu lần (đối với n đủ lớn)?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 21: Giả sử một thuật toán có độ phức tạp thời gian là O(log n). Nếu kích thước đầu vào `n` tăng gấp đôi, thì thời gian chạy của thuật toán sẽ tăng lên khoảng bao nhiêu (đối với n đủ lớn)?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 22: Ký hiệu O lớn (Big O) dùng để chỉ điều gì khi phân tích độ phức tạp thời gian?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 23: Một chương trình thực hiện ba phần tuần tự: Phần 1 có độ phức tạp O(n), Phần 2 có độ phức tạp O(n²), và Phần 3 có độ phức tạp O(log n). Độ phức tạp thời gian tổng thể của chương trình là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 24: Xét đoạn mã giả sau:
```
func process(n):
if n <= 1: return for i from 1 to 10: print(i) process(n/2) process(n/2) ``` Đoạn mã này mô tả cấu trúc gì và độ phức tạp thời gian của phần đệ quy (không xét vòng lặp cố định) thường rơi vào loại nào?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 25: Việc phân tích độ phức tạp thời gian của thuật toán giúp ích gì cho lập trình viên?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 26: Xét đoạn mã giả sau:
```
func example(arr, n):
for i from 0 to n-1:
if arr[i] == target_value:
return True
return False
```
Đây là thuật toán tìm kiếm tuyến tính (Linear Search). Độ phức tạp thời gian trong trường hợp xấu nhất của nó là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 27: Cho một thuật toán có độ phức tạp O(n^3). Nếu một máy tính có thể chạy thuật toán này với n=100 trong 1 giây, ước tính thời gian cần thiết để chạy thuật toán với n=200 trên cùng máy tính đó là bao nhiêu?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 28: Khi so sánh hai thuật toán có độ phức tạp O(n) và O(n log n), điều gì đúng khi n rất lớn?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 29: Xét đoạn mã giả sau:
```
func weird_loop(n):
count = 0
for i from 1 to n:
for j from i to n:
count = count + 1
```
Độ phức tạp thời gian của đoạn mã này là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 03

Câu 30: Mục tiêu chính của việc đánh giá độ phức tạp thời gian thuật toán là gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 04

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 1: Tại sao việc đánh giá độ phức tạp thời gian của thuật toán lại quan trọng trong khoa học máy tính?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 2: Khi phân tích độ phức tạp thời gian, chúng ta thường quan tâm đến trường hợp nào của dữ liệu đầu vào và tại sao?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 3: Ký hiệu Big O (O) được sử dụng để làm gì trong đánh giá độ phức tạp thời gian?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 4: Một thuật toán có độ phức tạp thời gian O(1) nghĩa là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 5: Cho đoạn mã Python sau:
```python
result = 0
for i in range(n):
result += i
```
Độ phức tạp thời gian của đoạn mã này là gì theo ký hiệu Big O, với n là kích thước đầu vào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 6: Cho đoạn mã Python sau:
```python
result = 0
for i in range(n):
for j in range(n):
result += i * j
```
Độ phức tạp thời gian của đoạn mã này là gì theo ký hiệu Big O, với n là kích thước đầu vào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 7: Cho hai đoạn mã A và B. Đoạn A có độ phức tạp O(n), đoạn B có độ phức tạp O(n^2). Nếu thực hiện đoạn mã A rồi đến đoạn mã B, độ phức tạp thời gian tổng thể là gì theo ký hiệu Big O?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 8: Một thuật toán tìm kiếm trên một mảng đã được sắp xếp bằng phương pháp chia đôi (tìm kiếm nhị phân) có độ phức tạp thời gian là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 9: Sắp xếp các độ phức tạp thời gian sau theo thứ tự từ tốt nhất (nhanh nhất) đến tệ nhất (chậm nhất) khi n rất lớn: O(n^2), O(n), O(1), O(n log n).

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 10: Một thuật toán xử lý tất cả các cặp phần tử trong một tập hợp n phần tử. Ví dụ: so sánh mọi cặp phần tử với nhau. Độ phức tạp thời gian phổ biến nhất cho hoạt động này là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 11: Cho đoạn mã Python sau:
```python
def process_data(data):
n = len(data)
for i in range(n // 2):
print(data[i])
```
Độ phức tạp thời gian của hàm `process_data` là gì theo ký hiệu Big O, với n là kích thước danh sách `data`?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 12: Cho đoạn mã Python sau:
```python
def find_element(data, target):
for item in data:
if item == target:
return True
return False
```
Trong trường hợp xấu nhất, độ phức tạp thời gian của hàm `find_element` (tìm kiếm tuyến tính) là gì theo ký hiệu Big O, với n là kích thước danh sách `data`?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 13: Giả sử một thuật toán có thời gian chạy được mô tả bởi hàm T(n) = 5n^3 + 2n^2 + 100. Độ phức tạp thời gian của thuật toán này theo ký hiệu Big O là gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 14: Khi so sánh thuật toán A có độ phức tạp O(n log n) và thuật toán B có độ phức tạp O(n^2), thuật toán nào hiệu quả hơn (chạy nhanh hơn) khi kích thước đầu vào n rất lớn?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 15: Cho đoạn mã Python sau:
```python
def example(n):
for i in range(100):
print(i)
for j in range(n):
print(j)
```
Độ phức tạp thời gian của hàm `example` là gì theo ký hiệu Big O, với n là kích thước đầu vào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 16: Cho đoạn mã Python sau:
```python
def another_example(n):
i = 1
while i < n: print(i) i *= 2 ``` Độ phức tạp thời gian của hàm `another_example` là gì theo ký hiệu Big O, với n là kích thước đầu vào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 17: Khi phân tích độ phức tạp thời gian, tại sao chúng ta thường bỏ qua các hằng số và các số hạng bậc thấp trong hàm thời gian T(n)?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 18: Thuật toán sắp xếp nổi bọt (Bubble Sort) đơn giản có độ phức tạp thời gian trong trường hợp xấu nhất là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 19: Một bài toán yêu cầu duyệt qua tất cả các tập con có thể có của một tập hợp n phần tử. Độ phức tạp thời gian của thuật toán giải quyết bài toán này có khả năng là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 20: Cho đoạn mã Python sau:
```python
def process_matrix(matrix, n):
for i in range(n):
for j in range(n):
# Thao tác O(1) trên matrix[i][j]
pass
for k in range(n):
# Thao tác O(1)
pass
```
Độ phức tạp thời gian của hàm `process_matrix` là gì theo ký hiệu Big O, với n là kích thước (số hàng/cột) của ma trận vuông?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 21: Độ phức tạp thời gian O(n log n) thường xuất hiện trong các thuật toán nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 22: Nếu một thuật toán có độ phức tạp O(n) và chạy mất 1 giây cho n=1000, ước tính thời gian chạy cho n=2000 là bao nhiêu?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 23: Nếu một thuật toán có độ phức tạp O(n^2) và chạy mất 1 giây cho n=1000, ước tính thời gian chạy cho n=2000 là bao nhiêu?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 24: Cho đoạn mã Python sau:
```python
def process_pairs(data):
n = len(data)
for i in range(n):
for j in range(i, n):
# Thao tác O(1) với data[i] và data[j]
pass
```
Độ phức tạp thời gian của hàm `process_pairs` là gì theo ký hiệu Big O, với n là kích thước danh sách `data`?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 25: Trong phân tích độ phức tạp, 'kích thước đầu vào' (input size) của một thuật toán là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 26: Độ phức tạp thời gian O(n!) (n giai thừa) thuộc loại độ phức tạp nào và nó thường xuất hiện trong các bài toán gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 27: Khi nào thì độ phức tạp thời gian của một thuật toán được coi là chấp nhận được trong thực tế?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 28: Cho đoạn mã Python sau:
```python
def strange_loop(n):
count = 0
for i in range(n):
for j in range(i):
count += 1
```
Độ phức tạp thời gian của hàm `strange_loop` là gì theo ký hiệu Big O, với n là kích thước đầu vào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 29: Tại sao việc phân tích độ phức tạp thời gian thường tập trung vào trường hợp xấu nhất?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 04

Câu 30: Cho một thuật toán thực hiện hai bước độc lập. Bước 1 có độ phức tạp O(log n), Bước 2 có độ phức tạp O(n). Độ phức tạp tổng thể của thuật toán là gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 05

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 1: Khi đánh giá độ phức tạp thời gian của một thuật toán, chúng ta thường quan tâm đến yếu tố nào của đầu vào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 2: Độ phức tạp thời gian O(1) biểu thị điều gì về thời gian thực hiện của một thuật toán?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 3: Cho đoạn mã Python sau:
```python
def process_array(arr):
total = 0
for x in arr:
total += x
return total
```
Với `n` là kích thước của mảng `arr`, độ phức tạp thời gian của hàm `process_array` là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 4: Cho đoạn mã Python sau:
```python
def find_pair(arr):
n = len(arr)
for i in range(n):
for j in range(n):
if arr[i] + arr[j] == 0:
return True
return False
```
Với `n` là kích thước của mảng `arr`, độ phức tạp thời gian của hàm `find_pair` là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 5: Khi phân tích độ phức tạp thời gian bằng ký hiệu Big O, chúng ta thường bỏ qua các yếu tố nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 6: Một thuật toán có thời gian thực hiện được mô tả bởi hàm T(n) = 3n^2 + 5n + 100. Độ phức tạp thời gian theo ký hiệu Big O của thuật toán này là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 7: Quy tắc cộng trong đánh giá độ phức tạp thời gian được áp dụng khi nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 8: Quy tắc nhân trong đánh giá độ phức tạp thời gian được áp dụng khi nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 9: Cho đoạn mã Python sau:
```python
def example_func(n):
if n <= 1: return 1 else: print('Hello') return example_func(n-1) + example_func(n-2) ``` Độ phức tạp thời gian của hàm đệ quy này (ví dụ tính số Fibonacci cơ bản) là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 10: Thuật toán Tìm kiếm nhị phân (Binary Search) trên một mảng đã sắp xếp có độ phức tạp thời gian trung bình là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 11: Độ phức tạp thời gian O(n log n) thường xuất hiện trong các loại thuật toán nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 12: Giả sử thuật toán A có độ phức tạp O(n) và thuật toán B có độ phức tạp O(n^2). Khi kích thước đầu vào n rất lớn, thuật toán nào sẽ có thời gian thực hiện tốt hơn?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 13: Tại sao việc đánh giá độ phức tạp thời gian lại quan trọng trong lập trình, đặc biệt khi xử lý dữ liệu lớn?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 14: Cho đoạn mã Python:
```python
def simple_ops(a, b):
c = a + b
d = c * 2
return d / 3
```
Độ phức tạp thời gian của hàm `simple_ops` là gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 15: Khi nói về độ phức tạp thời gian của thuật toán, trường hợp 'xấu nhất' (worst-case) có ý nghĩa gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 16: Cho đoạn mã Python sau:
```python
def process_data(arr):
n = len(arr)
# Block 1
for i in range(n):
print(arr[i])
# Block 2
for i in range(n):
for j in range(n):
print(arr[i], arr[j])
```
Với `n` là kích thước mảng `arr`, độ phức tạp thời gian của hàm `process_data` là gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 17: Một thuật toán có độ phức tạp O(log n) có nghĩa là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 18: Sắp xếp các độ phức tạp thời gian sau từ hiệu quả nhất đến kém hiệu quả nhất khi n rất lớn: O(n^2), O(log n), O(n), O(n log n).

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 19: Nếu một thuật toán có độ phức tạp O(n) mất 5 giây để xử lý đầu vào có kích thước n = 1000, thì ước tính nó sẽ mất bao lâu để xử lý đầu vào có kích thước n = 2000?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 20: Nếu một thuật toán có độ phức tạp O(n^2) mất 2 giây để xử lý đầu vào có kích thước n = 100, thì ước tính nó sẽ mất bao lâu để xử lý đầu vào có kích thước n = 300?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 21: Cho đoạn mã Python sau:
```python
def mystery(n):
count = 0
i = 1
while i < n: count += 1 i *= 2 return count ``` Với `n` là số nguyên dương, độ phức tạp thời gian của hàm `mystery` là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 22: Trong phân tích độ phức tạp thời gian, ký hiệu Ω (Omega lớn) biểu thị điều gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 23: Một thuật toán duyệt qua tất cả các cặp phần tử có thể có trong một danh sách n phần tử. Độ phức tạp thời gian điển hình của thuật toán này là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 24: Tại sao các hằng số và các số hạng bậc thấp lại bị bỏ qua trong ký hiệu Big O khi n đủ lớn?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 25: Thuật toán sắp xếp nổi bọt (Bubble Sort) có độ phức tạp thời gian trong trường hợp xấu nhất là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 26: Cho đoạn mã Python sau:
```python
def another_func(n):
total = 0
for i in range(100): # Vòng lặp chạy 100 lần cố định
total += i
for j in range(n):
total += j
return total
```
Với `n` là kích thước đầu vào, độ phức tạp thời gian của hàm `another_func` là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 27: Khi so sánh hai thuật toán A (O(n log n)) và B (O(n^2)), thuật toán nào sẽ trở nên vượt trội hơn khi kích thước dữ liệu n tăng lên đáng kể?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 28: Trường hợp 'tốt nhất' (best-case) của độ phức tạp thời gian của một thuật toán biểu thị điều gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 29: Cho đoạn mã Python sau:
```python
def process_matrix(matrix):
rows = len(matrix)
cols = len(matrix[0]) # Giả sử ma trận không rỗng
for i in range(rows):
for j in range(cols):
print(matrix[i][j])
```
Với ma trận có kích thước `m` hàng và `n` cột, độ phức tạp thời gian của hàm `process_matrix` là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 05

Câu 30: Mục đích chính của việc sử dụng ký hiệu Big O là để làm gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 06

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 1: Khi đánh giá độ phức tạp thời gian của một thuật toán, yếu tố nào sau đây được xem là quan trọng nhất khi kích thước đầu vào (n) trở nên rất lớn?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 2: Một đoạn chương trình có cấu trúc như sau: `for i in range(n): # Thực hiện một phép toán cơ bản ở đây`. Độ phức tạp thời gian của đoạn chương trình này theo ký hiệu Big O là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 3: Cho đoạn chương trình có cấu trúc: `for i in range(n): for j in range(n): # Thực hiện một phép toán cơ bản ở đây`. Độ phức tạp thời gian của đoạn chương trình này theo ký hiệu Big O là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 4: Một thuật toán thực hiện hai công việc nối tiếp nhau. Công việc thứ nhất có độ phức tạp O(n), công việc thứ hai có độ phức tạp O(n^2). Độ phức tạp thời gian tổng thể của thuật toán này là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 5: Một thuật toán sử dụng vòng lặp `while` trong đó biến điều khiển được nhân đôi (hoặc chia đôi) sau mỗi lần lặp cho đến khi đạt đến kích thước đầu vào n. Độ phức tạp thời gian của loại vòng lặp này thường là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 6: Tại sao trong ký hiệu Big O, các hằng số nhân (ví dụ: 2 trong 2n) và các số hạng bậc thấp (ví dụ: n trong n^2 + n) thường bị bỏ qua khi n rất lớn?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 7: Cho hai thuật toán A có độ phức tạp O(n log n) và thuật toán B có độ phức tạp O(n^1.5). Khi kích thước đầu vào n rất lớn, thuật toán nào có hiệu quả hơn (chạy nhanh hơn)?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 8: Độ phức tạp thời gian O(1) biểu thị điều gì về thời gian chạy của thuật toán?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 9: Thuật toán tìm kiếm nào trong một mảng đã sắp xếp có thể đạt được độ phức tạp thời gian O(log n) trong trường hợp xấu nhất?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 10: Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian O(n^2) trong trường hợp xấu nhất?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 11: Cho hàm T(n) = 5n^3 + 200n + 10000. Độ phức tạp thời gian của hàm này theo ký hiệu Big O là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 12: Một đoạn mã thực hiện các bước sau: 1) Duyệt qua toàn bộ mảng kích thước n (O(n)), sau đó 2) Thực hiện một số phép tính cố định (O(1)). Độ phức tạp thời gian tổng thể của đoạn mã này là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 13: Một đoạn mã gọi một hàm khác bên trong một vòng lặp. Vòng lặp chạy n lần, và hàm được gọi có độ phức tạp O(log n). Độ phức tạp thời gian tổng thể của đoạn mã này là gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 14: Trường hợp nào sau đây thường dẫn đến độ phức tạp thời gian O(2^n) hoặc cao hơn (như O(n!))?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 15: Tại sao việc phân tích độ phức tạp thời gian trường hợp xấu nhất (worst-case) lại quan trọng trong đánh giá thuật toán?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 16: Cho đoạn mã sau: `def process(data): n = len(data); for i in range(n // 2): print(data[i])`. Độ phức tạp thời gian của hàm `process` là gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 17: Cho đoạn mã sau: `def example(data): n = len(data); for i in range(n): pass; for j in range(n): pass`. Độ phức tạp thời gian của hàm `example` là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 18: Độ phức tạp O(n log n) thường xuất hiện trong các thuật toán nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 19: Nếu một bài toán có thể giải quyết được bằng thuật toán O(n^2) và một thuật toán khác là O(n), khi n đủ lớn, sự khác biệt về thời gian chạy giữa hai thuật toán sẽ như thế nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 20: Truy cập một phần tử bất kỳ trong mảng bằng chỉ số (ví dụ: `arr[i]`) trong hầu hết các ngôn ngữ lập trình có độ phức tạp thời gian là bao nhiêu?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 21: Ký hiệu O lớn (Big O) mô tả giới hạn nào của thời gian chạy thuật toán?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 22: Nếu một thuật toán có độ phức tạp O(log n), điều này có nghĩa là gì khi kích thước đầu vào tăng gấp đôi?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 23: Cho đoạn mã: `def analyze(data): n = len(data); if n > 1000: for i in range(n): print(data[i]) else: print('Data too small')`. Độ phức tạp thời gian trường hợp xấu nhất của hàm `analyze` là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 24: Điều gì xảy ra với độ phức tạp thời gian Big O của một thuật toán nếu bạn tăng gấp đôi tốc độ của bộ xử lý máy tính?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 25: Tại sao việc phân tích độ phức tạp thời gian lại quan trọng đối với lập trình viên, đặc biệt khi làm việc với dữ liệu lớn?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 26: Cho hàm T(n) = log₂(n) + 5. Độ phức tạp thời gian của hàm này theo ký hiệu Big O là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 27: So với O(n^2), độ phức tạp O(n log n) được coi là hiệu quả hơn đáng kể cho các bài toán sắp xếp trên tập dữ liệu lớn. Điều này là do:

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 28: Một thuật toán có độ phức tạp O(n!). Đối với kích thước đầu vào n = 20, thuật toán này có khả năng:

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 29: Trong phân tích độ phức tạp thời gian, 'phép toán cơ bản' (basic operation) là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 06

Câu 30: Nếu một thuật toán có độ phức tạp thời gian O(n), điều này có nghĩa là khi kích thước đầu vào tăng gấp 3 lần, thời gian chạy (xấp xỉ) sẽ:

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 07

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 1: Tại sao việc đánh giá độ phức tạp thời gian của thuật toán lại quan trọng trong lập trình?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 2: Khi phân tích độ phức tạp thời gian, chúng ta thường quan tâm đến trường hợp nào của dữ liệu đầu vào để đánh giá 'tồi nhất' về hiệu suất?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 3: Ký hiệu O lớn (Big O notation) được sử dụng để làm gì trong đánh giá độ phức tạp thời gian?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 4: Một thuật toán có độ phức tạp thời gian được biểu diễn bởi hàm T(n) = 5n² + 3n + 10. Độ phức tạp thời gian theo ký hiệu O lớn của thuật toán này là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 5: Xét đoạn mã giả sau:

`tong = 0`
`cho i tu 1 den n:`
`tong = tong + i`

Độ phức tạp thời gian của đoạn mã này theo ký hiệu O lớn là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 6: Xét đoạn mã giả sau:

`cho i tu 1 den n:`
`cho j tu 1 den n:`
`in ra i * j`

Độ phức tạp thời gian của đoạn mã này theo ký hiệu O lớn là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 7: Một thuật toán tìm kiếm trên một danh sách đã sắp xếp hoạt động bằng cách liên tục chia đôi danh sách tìm kiếm. Nếu danh sách có kích thước n, độ phức tạp thời gian của thuật toán này (trong trường hợp xấu nhất) là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 8: Quy tắc cộng trong đánh giá độ phức tạp thời gian được áp dụng khi nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 9: Giả sử chương trình P bao gồm hai phần: Phần A có độ phức tạp O(n²) và Phần B có độ phức tạp O(n log n). Nếu Phần A chạy xong rồi đến Phần B chạy, độ phức tạp tổng thể của chương trình P là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 10: Quy tắc nhân trong đánh giá độ phức tạp thời gian được áp dụng khi nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 11: Xét đoạn mã giả sau:

`cho i tu 1 den 100:`
`cho j tu 1 den n:`
`thuc hien phep tinh`

Độ phức tạp thời gian của đoạn mã này theo ký hiệu O lớn là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 12: Thuật toán nào sau đây có độ phức tạp thời gian điển hình là O(1)?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 13: So sánh hai thuật toán: Thuật toán A có độ phức tạp O(n log n) và Thuật toán B có độ phức tạp O(n²). Với kích thước đầu vào n rất lớn, thuật toán nào thường có hiệu suất tốt hơn (chạy nhanh hơn)?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 14: Xét đoạn mã giả sau:

`i = 1`
`while i < n:` `thuc hien phep tinh` `i = i * 2` Độ phức tạp thời gian của đoạn mã này theo ký hiệu O lớn là gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 15: Tại sao khi phân tích độ phức tạp thời gian bằng ký hiệu O lớn, chúng ta thường bỏ qua các hằng số và các số hạng bậc thấp?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 16: Một thuật toán xử lý từng phần tử trong một mảng n phần tử một lần duy nhất. Độ phức tạp thời gian của thuật toán này có khả năng là gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 17: Xét đoạn mã giả sau:

`nua_n = n / 2`
`cho i tu 1 den nua_n:`
`thuc hien phep tinh`

Độ phức tạp thời gian của đoạn mã này theo ký hiệu O lớn là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 18: Đâu là thứ tự tăng dần về tốc độ tăng trưởng của độ phức tạp thời gian khi n rất lớn?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 19: Một thuật toán có độ phức tạp thời gian O(2^n). Điều này có ý nghĩa gì đối với hiệu suất của thuật toán khi n tăng lên?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 20: Xét hai chương trình A và B. Chương trình A gồm một vòng lặp chạy n lần, mỗi lần lặp mất O(1) thời gian. Chương trình B gồm hai vòng lặp lồng nhau, vòng ngoài chạy n lần, vòng trong chạy log n lần. Độ phức tạp của chương trình A và B lần lượt là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 21: Khi phân tích một thuật toán, nếu thời gian thực hiện không phụ thuộc vào kích thước dữ liệu đầu vào n (ví dụ: luôn thực hiện một số phép toán cố định), thì độ phức tạp thời gian của thuật toán đó là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 22: Cho một đoạn mã giả có cấu trúc như sau:

`// Đoạn 1`
`cho i tu 1 den n:`
`thuc hien phep tinh O(1)`

`// Đoạn 2`
`cho j tu 1 den 1000:`
`thuc hien phep tinh O(1)`

Độ phức tạp thời gian tổng thể của đoạn mã này là gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 23: Thuật toán sắp xếp nổi bọt (Bubble Sort) để sắp xếp một danh sách n phần tử có độ phức tạp thời gian trong trường hợp xấu nhất là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 24: Xét đoạn mã giả sau:

`sum = 0`
`i = 1`
`while i <= n:` `sum = sum + i` `i = i + 1` Đoạn mã này thực hiện một vòng lặp đơn giản. Độ phức tạp thời gian của nó là gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 25: Một thuật toán xử lý dữ liệu theo kiểu 'chia để trị', chia bài toán thành các bài toán con có kích thước bằng một nửa và kết hợp kết quả. Nếu việc chia và kết hợp mất thời gian tuyến tính O(k) trên bài toán con kích thước k, độ phức tạp điển hình của thuật toán này có thể là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 26: Khi so sánh hai thuật toán A (O(n log n)) và B (O(n²)), có thể tồn tại một ngưỡng giá trị n₀ sao cho với mọi n < n₀, thuật toán B chạy nhanh hơn thuật toán A. Điều này có ý nghĩa gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 27: Xét đoạn mã giả sau:

`cho i tu 1 den n:`
`cho j tu i den n:`
`thuc hien phep tinh`

Độ phức tạp thời gian của đoạn mã này theo ký hiệu O lớn là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 28: Nếu một thuật toán có độ phức tạp O(n!), nó thường được coi là không khả thi (intractable) đối với các giá trị n tương đối nhỏ. Tại sao?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 29: Khi phân tích độ phức tạp thời gian, thuật ngữ 'phép toán cơ bản' (basic operation) thường được hiểu là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 07

Câu 30: Một thuật toán tìm kiếm tuyến tính (Linear Search) trên một danh sách n phần tử có độ phức tạp thời gian trong trường hợp xấu nhất là gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 08

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 1: Khi đánh giá độ phức tạp thời gian của một thuật toán, chúng ta thường quan tâm đến đại lượng nào để thể hiện kích thước của bài toán?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 2: Ký hiệu O lớn (Big O notation) được sử dụng để làm gì trong phân tích độ phức tạp thời gian thuật toán?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 3: Xét đoạn mã giả sau:
```
a = b + 5
print(a)
```
Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 4: Xét đoạn mã giả sau, với n là kích thước dữ liệu đầu vào:
```
for i from 1 to n:
print(i)
```
Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 5: Xét đoạn mã giả sau, với n là kích thước dữ liệu đầu vào:
```
for i from 1 to n:
for j from 1 to n:
print(i * j)
```
Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 6: Một thuật toán tìm kiếm trên một mảng đã sắp xếp bằng cách liên tục chia đôi phạm vi tìm kiếm. Độ phức tạp thời gian điển hình của thuật toán này (tìm kiếm nhị phân) là bao nhiêu trong trường hợp xấu nhất?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 7: Quy tắc cộng trong phân tích độ phức tạp thời gian được áp dụng khi nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 8: Quy tắc nhân trong phân tích độ phức tạp thời gian được áp dụng khi nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 9: Cho hàm thời gian thực hiện của một thuật toán là T(n) = 5n^3 + 2n^2 + 100. Độ phức tạp thời gian của thuật toán này theo ký hiệu O lớn là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 10: Tại sao khi sử dụng ký hiệu O lớn, chúng ta bỏ qua các hệ số hằng số và các số hạng bậc thấp?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 11: Sắp xếp các độ phức tạp thời gian sau theo thứ tự từ tốt nhất (nhanh nhất) đến tệ nhất (chậm nhất) khi n rất lớn: O(n^2), O(n), O(log n), O(1), O(n log n).

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 12: Một thuật toán có độ phức tạp thời gian O(n log n). Điều này có nghĩa là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 13: Xét đoạn mã giả sau, với n là kích thước dữ liệu đầu vào:
```
sum = 0
for i from 1 to 100:
sum = sum + i
```
Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 14: Tại sao việc đánh giá độ phức tạp thời gian (thường là trường hợp xấu nhất) lại quan trọng đối với lập trình viên?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 15: Một thuật toán có độ phức tạp thời gian O(2^n). Kiểu độ phức tạp này thường xuất hiện trong các bài toán nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 16: Xét đoạn mã giả sau:
```
for i from 1 to n:
# Lệnh đơn
for j from 1 to n*n:
# Lệnh đơn
```
Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 17: Xét đoạn mã giả sau:
```
i = 1
while i < n: print(i) i = i * 2 ``` Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 18: Tại sao O(n) lại được xem là hiệu quả hơn O(n^2) khi n rất lớn?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 19: Cho một thuật toán có thời gian thực hiện được mô tả bằng hàm T(n) = 3n + 5. Độ phức tạp thời gian của thuật toán này là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 20: Xét một hàm đệ quy đơn giản gọi chính nó một lần với đầu vào giảm đi 1, ví dụ `f(n) = f(n-1) + 1` với điều kiện dừng khi n=0. Độ phức tạp thời gian của hàm này (nếu mỗi bước tính toán là O(1)) là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 21: Khi so sánh hai thuật toán A (độ phức tạp O(n log n)) và B (độ phức tạp O(n^2)) trên dữ liệu có kích thước n rất lớn, thuật toán nào thường được ưu tiên?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 22: Xét đoạn mã giả sau, với n là kích thước dữ liệu đầu vào:
```
for i from 1 to n:
for j from i to n:
print(i, j)
```
Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 23: Thuật toán sắp xếp nổi bọt (Bubble Sort) đơn giản nhất có độ phức tạp thời gian trong trường hợp xấu nhất và trung bình là bao nhiêu?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 24: Độ phức tạp thời gian O(1) có nghĩa là gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 25: Khi phân tích một đoạn mã chứa lời gọi đến một hàm khác, làm thế nào để xác định độ phức tạp thời gian của đoạn mã đó?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 26: Xét đoạn mã giả sau:
```
if condition:
for i from 1 to n:
print(i)
else:
for i from 1 to 100:
print(i)
```
Độ phức tạp thời gian của đoạn mã này trong trường hợp xấu nhất là bao nhiêu?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 27: Tại sao việc ước lượng độ phức tạp thời gian theo trường hợp xấu nhất (worst-case) lại phổ biến trong lý thuyết khoa học máy tính?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 28: Một thuật toán xử lý từng cặp phần tử trong một tập hợp n phần tử (ví dụ: so sánh mọi cặp). Độ phức tạp thời gian của thuật toán này có thể là bao nhiêu?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 29: Xét đoạn mã giả sau:
```
for i from 1 to n:
for j from 1 to 10:
print(i, j)
```
Độ phức tạp thời gian của đoạn mã này là bao nhiêu?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 08

Câu 30: Trong các độ phức tạp sau, độ phức tạp nào cho thấy hiệu suất của thuật toán *kém nhất* khi n rất lớn?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 09

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 1: Tại sao việc đánh giá độ phức tạp thời gian của thuật toán lại quan trọng trong lập trình, đặc biệt khi xử lý dữ liệu lớn?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 2: Ký hiệu Big O (ví dụ: O(n)) trong phân tích độ phức tạp thời gian biểu thị điều gì về thời gian chạy của thuật toán?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 3: Xem xét đoạn mã giả sau: `print('Hello'); a = 5 + 3; b = a * 2;`. Độ phức tạp thời gian của đoạn mã này là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 4: Đoạn mã giả sau tính tổng các phần tử trong một danh sách có kích thước n: `tong = 0; for i from 0 to n-1: tong = tong + danh_sach[i];`. Độ phức tạp thời gian của đoạn mã này là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 5: Đoạn mã giả sau thực hiện sắp xếp nổi bọt (Bubble Sort) trên một danh sách có kích thước n: `for i from 0 to n-2: for j from 0 to n-i-2: if danh_sach[j] > danh_sach[j+1]: swap(danh_sach[j], danh_sach[j+1]);`. Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán này là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 6: Thuật toán tìm kiếm nhị phân (Binary Search) trên một danh sách đã được sắp xếp với n phần tử có độ phức tạp thời gian là O(log n). Điều này có nghĩa là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 7: Các thuật toán sắp xếp hiệu quả như Merge Sort hoặc Quick Sort thường có độ phức tạp thời gian là O(n log n). So với O(n^2), O(n log n) có ưu điểm gì khi n rất lớn?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 8: Nếu một chương trình bao gồm hai phần chạy nối tiếp nhau: Phần A có độ phức tạp O(n) và Phần B có độ phức tạp O(n^2). Độ phức tạp thời gian tổng thể của chương trình này là gì theo quy tắc cộng?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 9: Nếu một vòng lặp chạy n lần và bên trong vòng lặp đó gọi một hàm mất thời gian O(log n) cho mỗi lần gọi. Độ phức tạp thời gian tổng thể của đoạn mã này là gì theo quy tắc nhân?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 10: Khi so sánh các độ phức tạp thời gian O(n) và O(n^2) cho cùng một bài toán, phát biểu nào sau đây là đúng khi kích thước đầu vào n trở nên rất lớn?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 11: Xem xét đoạn mã giả sau: `for i from 0 to n-1: print(i); for j from 0 to n-1: print(j);`. Độ phức tạp thời gian của đoạn mã này là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 12: Xem xét đoạn mã giả sau: `for i from 0 to n-1: for j from 0 to i: print(i, j);`. Độ phức tạp thời gian của đoạn mã này là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 13: Trong phân tích độ phức tạp thời gian, tại sao chúng ta thường chỉ quan tâm đến hạng tử có bậc cao nhất và bỏ qua các hệ số hằng số?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 14: Thuật toán nào sau đây có độ phức tạp thời gian tốt nhất (hiệu quả nhất) khi n rất lớn?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 15: Nếu một thuật toán có độ phức tạp O(n) và mất 5 giây để xử lý dữ liệu có kích thước n = 1000. Ước lượng thời gian cần thiết để xử lý dữ liệu có kích thước n = 2000 là bao nhiêu?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 16: Nếu một thuật toán có độ phức tạp O(n^2) và mất 2 giây để xử lý dữ liệu có kích thước n = 100. Ước lượng thời gian cần thiết để xử lý dữ liệu có kích thước n = 200 là bao nhiêu?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 17: Độ phức tạp thời gian của thuật toán tìm kiếm tuyến tính (Linear Search) trên một danh sách n phần tử (trong trường hợp xấu nhất) là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 18: Xem xét đoạn mã giả sau: `i = n; while i > 1: print(i); i = i / 2;`. Độ phức tạp thời gian của đoạn mã này là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 19: Thuật toán có độ phức tạp thời gian O(2^n) được gọi là thuật toán có độ phức tạp gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 20: Đối với một kích thước đầu vào n đủ lớn, thứ tự hiệu quả từ TỐT NHẤT đến KÉM NHẤT của các độ phức tạp sau là gì: O(n log n), O(n^2), O(n), O(log n)?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 21: Khi phân tích độ phức tạp thời gian, trường hợp nào thường được quan tâm nhất và tại sao?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 22: Xem xét đoạn mã giả sau: `for i from 0 to n-1: print(i); for j from 0 to n*n-1: print(j);`. Độ phức tạp thời gian của đoạn mã này là gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 23: Một thuật toán xử lý mỗi cặp phần tử trong một tập hợp n phần tử. Ví dụ, so sánh mọi phần tử với mọi phần tử khác. Độ phức tạp thời gian điển hình của thuật toán này là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 24: Nếu một thuật toán có độ phức tạp O(log n) và mất 0.1 giây để xử lý dữ liệu có kích thước n = 1024. Ước lượng thời gian cần thiết để xử lý dữ liệu có kích thước n = 4096 là bao nhiêu? (Lưu ý: log₂1024 = 10, log₂4096 = 12)

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 25: Xem xét đoạn mã giả sau: `for i from 0 to n-1: for j from 0 to 10: print(i, j);`. Độ phức tạp thời gian của đoạn mã này là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 26: Thuật toán có độ phức tạp O(n!) là cực kỳ kém hiệu quả. Bài toán điển hình nào có thể dẫn đến độ phức tạp này nếu giải bằng phương pháp vét cạn?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 27: Khi phân tích độ phức tạp thời gian của một thuật toán đệ quy, yếu tố chính nào thường quyết định đến Big O của nó?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 28: Một thuật toán duyệt qua tất cả các tập con có thể có của một tập hợp n phần tử. Độ phức tạp thời gian điển hình của thuật toán này là gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 29: Xem xét đoạn mã giả sau: `tong = 0; for i from 0 to n-1: tong = tong + i; for j from 0 to n-1: for k from 0 to n-1: print(j, k);`. Độ phức tạp thời gian tổng thể của đoạn mã này là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 09

Câu 30: Điều gì xảy ra với hiệu năng của một thuật toán có độ phức tạp O(2^n) khi kích thước đầu vào n tăng chỉ một lượng nhỏ (ví dụ từ n=20 lên n=21)?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán - Đề 10

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 1: Mục đích chính của việc đánh giá độ phức tạp thời gian của một thuật toán là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 2: Ký hiệu O lớn (Big O notation) O(g(n)) trong phân tích độ phức tạp thời gian của thuật toán thường được dùng để biểu thị điều gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 3: Giả sử một chương trình gồm hai phần thực hiện nối tiếp nhau. Phần thứ nhất có độ phức tạp O(n), phần thứ hai có độ phức tạp O(n²). Theo quy tắc cộng, độ phức tạp thời gian tổng thể của chương trình này là bao nhiêu?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 4: Một vòng lặp `for` chạy từ 1 đến n, và mỗi lần lặp thực hiện một số lượng thao tác cố định (không phụ thuộc vào n). Độ phức tạp thời gian của vòng lặp này là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 5: Xét đoạn mã giả sau: `for i from 1 to n: for j from 1 to m: perform_constant_operation()` (với n và m là kích thước đầu vào). Độ phức tạp thời gian của đoạn mã này là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 6: Khi tính độ phức tạp thời gian O lớn, chúng ta thường bỏ qua các hằng số nhân và các số hạng bậc thấp. Ví dụ, nếu thời gian chạy thực tế là T(n) = 3n² + 5n + 10, thì độ phức tạp O lớn là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 7: Thuật toán có độ phức tạp thời gian O(1) nghĩa là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 8: Thuật toán tìm kiếm tuyến tính trên một mảng n phần tử (duyệt qua từng phần tử để tìm) có độ phức tạp thời gian trong trường hợp xấu nhất là bao nhiêu?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 9: Thuật toán sắp xếp chọn (Selection Sort) trên một mảng n phần tử có độ phức tạp thời gian là O(n²). Điều này có ý nghĩa gì khi so sánh với thuật toán có độ phức tạp O(n log n)?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 10: Thuật toán tìm kiếm nhị phân trên một mảng đã sắp xếp n phần tử có độ phức tạp thời gian là bao nhiêu?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 11: So sánh tốc độ tăng trưởng của O(n) và O(n²). Với giá trị n rất lớn, thuật toán có độ phức tạp nào sẽ hiệu quả hơn?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 12: Độ phức tạp thời gian O(n!) (giai thừa) thường xuất hiện trong các bài toán nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 13: Xét đoạn mã giả sau: `sum = 0; for i from 1 to 100: sum = sum + i;`. Kích thước đầu vào n không ảnh hưởng đến số lần lặp của vòng lặp. Độ phức tạp thời gian của đoạn mã này là gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 14: Xét đoạn mã giả sau: `for i from 1 to n: perform_operation_O_of_n();`. Giả sử `perform_operation_O_of_n()` là một hàm có độ phức tạp O(n). Độ phức tạp thời gian tổng thể của đoạn mã này là gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 15: Khi phân tích độ phức tạp thời gian, tại sao chúng ta lại đếm số lượng các 'thao tác cơ bản' thay vì đo thời gian chạy thực tế bằng đồng hồ?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 16: Xét đoạn mã giả sau: `if condition_is_true: block_A() else: block_B()`. Giả sử `block_A()` có độ phức tạp O(n²) và `block_B()` có độ phức tạp O(n). Độ phức tạp thời gian của toàn bộ cấu trúc điều kiện này là gì trong trường hợp xấu nhất?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 17: Độ phức tạp O(log n) thường xuất hiện trong các thuật toán sử dụng kỹ thuật nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 18: Xét đoạn mã giả sau: `i = 1; while i < n: print(i); i = i * 2;`. Độ phức tạp thời gian của vòng lặp này là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 19: Thuật toán có độ phức tạp thời gian nào sau đây được coi là kém hiệu quả nhất khi xử lý dữ liệu có kích thước n rất lớn?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 20: Trong phân tích độ phức tạp O lớn, 'trường hợp xấu nhất' (worst-case) thường được tập trung phân tích vì lý do gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 21: Xét đoạn mã giả sau: `for i from 1 to n: for j from i to n: perform_constant_operation()`. Độ phức tạp thời gian của đoạn mã này là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 22: Thuật toán sắp xếp trộn (Merge Sort) có độ phức tạp thời gian trong trường hợp xấu nhất là bao nhiêu?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 23: Phát biểu nào sau đây là đúng khi so sánh các độ phức tạp thời gian cho giá trị n đủ lớn?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 24: Một thuật toán có độ phức tạp thời gian O(n³). Nếu kích thước đầu vào n tăng gấp đôi, thời gian chạy của thuật toán sẽ tăng lên khoảng bao nhiêu lần?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 25: Độ phức tạp thời gian O(n log n) thường được coi là hiệu quả cho các bài toán sắp xếp trên tập dữ liệu lớn. Ví dụ nào sau đây có độ phức tạp O(n log n)?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 26: Xét một thuật toán thực hiện lần lượt các bước sau: Bước 1: Tìm kiếm nhị phân (O(log n)). Bước 2: Duyệt qua mảng (O(n)). Bước 3: Sắp xếp chèn (O(n²)). Độ phức tạp thời gian tổng thể của thuật toán này là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 27: Xét đoạn mã giả sau: `for i from 1 to n: perform_operation_A(); perform_operation_B();`. Giả sử `perform_operation_A()` có độ phức tạp O(1) và `perform_operation_B()` có độ phức tạp O(n). Độ phức tạp thời gian tổng thể của đoạn mã này là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 28: Đâu là yếu tố chính mà ký hiệu O lớn (Big O) tập trung vào khi đánh giá hiệu suất thuật toán?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 29: Thuật toán nhân hai số nguyên n chữ số bằng phương pháp thông thường có độ phức tạp O(n²). Thuật toán Karatsuba cải tiến có độ phức tạp xấp xỉ O(n^1.585). Điều này cho thấy điều gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Tags: Bộ đề 10

Câu 30: Trong phân tích độ phức tạp, đâu là độ phức tạp thời gian tốt nhất có thể đạt được cho một thuật toán (trừ O(0) không có ý nghĩa)?

Xem kết quả