Chọn một trong hai ngôn ngữ Python hoặc C++ để tìm hiểu một hàm tìm kiếm dưới đây:
Hàm viết bằng ngôn ngữ Python: | Hàm viết bằng ngôn ngữ C++: |
def search(x, a, n): found = False i = 0 while i < n and not found: if a[i] == x: found = True i += 1 return found | bool search(int x, int a[], int n) { bool found = false; int i = 0; while (i < n && !found) { if (a[i] == x) found = true; i++; } return found; } |
Một số nhận xét về hàm trên như sau:
a) Hàm thực hiện một thuật toán tìm kiếm tuyến tính.
b) Các thao tác trong hàm chỉ áp dụng cho danh sách đã được sắp xếp.
c) Hàm có độ phức tạp thuật toán là O(n).
d) Nếu mảng a = {4, 5, 7} và x = 3 thì hàm trả về giá trị logic đúng.