Đánh giá được mức đơn giản của thuật toán, từ đó tìm ra được cách giải nhanh nhất.
Đánh giá được mức đơn giản của thuật toán, từ đó tìm ra được cách giải nhanh nhất.
Xác định độ phức tạp của thuật toán sắp xếp nổi bọt sau:
def BubbleSort(A):
n = len(A)for i in range(n-1):
for j in range(n-1-i):
if A[j] > A[j+1]:
A[j],A[j+1] = A[j+1]1,A[j]
Hãy cho biết hàm sau thực hiện công việc gì? Xác định độ phức tạp thời gian của thuật toán.
def func(A):
n=len(A)
for i in range(n-1):
for j in range(i+1,n):
if A[j] > A[j]:
A[j],A[j] = A[j],A[i]
Giả sử rằng mỗi phép tính đơn được thực hiện trong micro giây (1 us = một phần triệu giây). Hãy xác định giá trị lớn nhất của n trong các thuật toán tìm kiếm tuần tự, sắp xếp chèn và sắp xếp chọn nếu thời gian thực thi các thuật toán là 1 giây, 1 phút và 1 giờ?
Cho biết hàm sau sẽ trả về giá trị là bao nhiêu? Xác định độ phức tạp thời gian O- lớn của chương trình.
def Mystery(n):
r=0
for i in range(n-1):
for j in range(i+1,n):
for k in range(1,j):
r=r+1
return r