Chọn một trong hai ngôn ngữ Python hoặc C++ đề tìm hiểu một hàm cho dưới đây
28/30
Chọn một trong hai ngôn ngữ Python hoặc C++ đề tìm hiểu một hàm cho dưới đây
Hàm viết bằng ngôn ngữ Python | Hàm viết bằng ngôn ngữ C++ |
def cal(a, x): n = len(a) s = 0 for i in range(n): for j in range(n): if a[i]+a[j]==x: s += 1 return s | int cal(int a[], int n, int x) { int s = 0; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) if(a[i] + a[j] == x) s++; return s; } |
Một số bạn học sinh nhận xét về hàm trên như sau:
Hàm có độ phức tạp thuật toán là O(n2).
Hàm trả về số lượng cặp số hạng (a[i], a[j]), 0≤ i ≤j <n và a[i] + a[j] = x.
Với bộ dữ liệu a= [1, 3, 2, 2, 5], x= 4, kết quả trả về của hàm là 4.
Thuật toán trên không phải là thuật toán tìm kiếm nhị phân.
4 (CS) | a | Đ |
b | S | |
c | Đ | |
d | Đ |