Đây là chương trình C++ tìm phần tử nhỏ nhất của một mảng bằng phương pháp Tìm kiếm tuyến tính (Linear Search). Độ phức tạp thời gian của chương trình này là O(n).
Thuật toán
Bắt đầu Gán các phần tử dữ liệu vào một mảng. Gán giá trị tại chỉ số '0' cho biến minimum. So sánh minimum với các phần tử dữ liệu khác theo thứ tự lần lượt. Hoán đổi giá trị nếu minimum lớn hơn giá trị tại chỉ số cụ thể của mảng. In giá trị minimum. Kết thúc
Mã ví dụ
#include <iostream>
using namespace std;
int main() {
int n, i, minimum, a[10] = {1, 6, 7, 10, 12, 14, 12, 16, 20, 26};
char ch;
minimum = a[0];
cout << "\nCác phần tử dữ liệu của mảng:";
for (i = 0; i < 10; i++) {
cout << " " << a[i];
if (minimum > a[i])
minimum = a[i];
}
cout << "\n\nPhần tử nhỏ nhất của các phần tử dữ liệu mảng bằng tìm kiếm tuyến tính là: " << minimum;
return 0;
}
Kết quả
Các phần tử dữ liệu của mảng: 1 6 7 10 12 14 12 16 20 26 Phần tử nhỏ nhất của các phần tử dữ liệu mảng bằng tìm kiếm tuyến tính là: 1