Table of Contents
Việc tìm kiếm các thuật toán trong hệ thống nhúng là thiết yếu để thu hồi dữ liệu hữu hiệu. Tìm kiếm tuyến và nhị phân là hai phương pháp phổ biến được dùng phụ thuộc vào cấu trúc dữ liệu và hạn chế hệ thống. Hướng dẫn này cung cấp hướng dẫn bước theo cả hai thuật toán trong môi trường nhúng.
Tìm kiếm tuyến tính
Tìm kiếm tuyến tính quét mỗi phần tử trong danh sách một cách thường xuyên cho đến khi giá trị đích được tìm hay kết thúc danh sách. Nó đơn giản và hiệu quả cho bộ dữ liệu nhỏ hay không được sắp xếp.
Bước để thực hiện tìm kiếm tuyến tính:
- Khởi động một vòng lặp lặp qua các dãy.
- So sánh mỗi yếu tố với giá trị đích.
- Nếu tìm được đối tượng khớp, trả lại chỉ mục.
- Nếu vòng lặp hoàn tất mà không khớp, hãy trả lại dấu hiệu cho thấy không tìm thấy yếu tố.
Đoạn mã ví dụ:
In C:
[Tìm kiếm tuyến tính [trong t arr [], int kích cỡ, mục tiêu] [trong [trong i = 0; i & lt; kích cỡ; i++] [r[i] == mục tiêu] [trở lại] i;;;;;;;;;; / Không tìm thấy#
Sự tìm kiếm nhị phân
Tìm kiếm nhị phân đòi hỏi một dãy riêng và chia khoảng tìm kiếm ra làm hai lần mỗi lần lặp lại. Nó nhanh hơn việc tìm kiếm tuyến tính bộ dữ liệu lớn.
Các bước để thực hiện tìm kiếm nhị phân:
- Đặt những chất lỏng thấp và cao.
- Tính toán chỉ số giữa.
- So sánh yếu tố giữa với mục tiêu.
- Nếu bằng, hãy trả lại chỉ số giữa.
- Nếu mục tiêu ít hơn, điều chỉnh độ cao đến giữa - 1.
- Nếu mục tiêu lớn hơn, điều chỉnh thấp đến giữa + 1.
- Nhắc lại cho đến khi mục tiêu được tìm thấy hoặc thấp hơn mức cao.
Đoạn mã ví dụ:
In C:
[Tiếng cười] [tiếng lục giác] [trong phần mềm tìm kiếm [t;], kích cỡ, int kích cỡ, mục tiêu, int= 0; int = cao = #; khác nếu (r[md & lt; thấp & lt;= cao){ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t\ t
Chọn phương pháp tìm kiếm đúng
Lựa chọn giữa tìm kiếm tuyến tính và nhị phân phụ thuộc vào tổ chức dữ liệu và kích cỡ. Dùng tìm kiếm tuyến tính để tìm kiếm dữ liệu nhỏ hay không có mã số. Tìm kiếm nhị phân thích hợp với bộ dữ liệu lớn, sắp xếp nơi có hiệu suất quan trọng.