Luyện tập về Độ phức tạp của thuật toán

Câu 1

Phương pháp nào sau đây dùng để đánh giá độ phức tạp của chương trình?

Đếm số câu lệnh trong chương trình.
Tính toán độ phức tạp của thuật toán.
Kiểm tra lượng dữ liệu đã tiêu hao.
Chạy chương trình với các bộ dữ liệu.
Câu 2

Cho chương trình Python sau:

for i in range(n/2):

for j in range(i):

print(j/2, end = " " )

print()

Phương án nào sau đây nêu đúng độ phức tạp của chương trình?

O(n0,5)O\left(n^{0,5}\right).
O(n2)O\left(n^2\right).
O(n3)O\left(n^3\right).
O(0,5n)O\left(0,5n\right).
Câu 3

Độ phức tạp nào sau đây dùng để đánh giá thuật toán?

Độ phức tạp không gian.
Độ phức tạp lưu trữ.
Độ phức tạp máy tính.
Độ phức tạp thời gian.
Câu 4

Kí hiệu O(nk)O\left(n^k\right) là hàm chuẩn nào sau đây?

Lũy thừa.
Hằng số.
Tuyến tính.
Đa thức.
Câu 5

Kí hiệu nào sau đây là hàm thời gian tuyến tính?

O(n)O\left(n\right)
O(nk)O\left(n^k\right).
O(n2)O\left(n^2\right).
O(1)O\left(1\right).
Câu 6

Một thuật toán được coi là hiệu quả khi đạt được điều nào sau đây?

Lượng dữ liệu cần lưu trữ ở mức cao.
Số lần thực hiện các câu lệnh là tối ưu.
Trả ra kết quả đúng với mọi dữ liệu vào.
Thuật toán đơn giản, dễ cài đặt lên máy tính.
Câu 7

Phương án nào sau đây là độ phức tạp của hàm thời gian T(n)=n2+2n3+n+2T\left(n\right)=n^2+2n^3+n+2?

O(n3)O\left(n^3\right).
O(2)O\left(2\right).
O(n)O\left(n\right).
O(n2)O\left(n^2\right).
Câu 8

Hàm thời gian nào sau đây có độ phức tạp thời gian là bình phương?

T(n)=2n+10T\left(n\right)=2n+10.
T(n)=n+2n2T\left(n\right)=n+2n^2.
T(n)=n+2T\left(n\right)=n+2.
T(n)=2n2+n3T\left(n\right)=2n^2+n^3.
Câu 9

Thời gian thực hiện thuật toán phụ thuộc vào yếu tố nào sau đây?

Số lượng câu lệnh có trong chương trình.
Khối lượng dữ liệu trong quá trình tính toán.
Loại máy tính được sử dụng để tính toán.
Tốc độ xử lí dữ liệu của bộ xử lí trong máy.
Câu 10

Câu lệnh nào sau đây có số lần thực hiện nhiều hơn một?

Câu lệnh gán.
Câu lệnh lặp.
Câu lệnh nhập.
Câu lệnh xuất.