07/05/2023
07/05/2023
09/05/2023
Thuật toán tìm kiếm tuần tự thực hiện tìm lần lượt từ đầu đến cuối danh sách, chừng nào chưa tìm thấy và chưa tìm hết thì còn tìm tiếp.
Mô tả thuật toán tìm kiếm tuần tự bằng ngôn ngữ tự nhiên:
- Bước 1. Xét phần tử đầu tiên của danh sách.
- Bước 2. Nếu giá trị của phần tử đang xét bằng giá trị cần tìm thì chuyển sang Bước 4, nếu không thì thực hiện bước tiếp theo (Bước 3).
- Bước 3. Kiểm tra đã hết danh sách chưa. Nếu đã hết danh sách thi chuyển sang Bước 5, nếu chưa thì lặp lại từ Bước 2.
- Bước 4. Trả lời “Tìm thấy” và chỉ ra vị trí phần tử tìm được; Kết thúc.
- Bước 5. Trả lời “không tìm thấy"; Kết thúc.
Sự khác nhau giữa thuật toán tìm kiếm tuần tự và thuật toán tìm kiếm nhị phân là như sau:
1. Độ phức tạp tính toán: Thuật toán tìm kiếm tuần tự có độ phức tạp tính toán là O(n), trong khi đó, thuật toán tìm kiếm nhị phân có độ phức tạp chỉ là O(log n).
2. Điều kiện áp dụng: Thuật toán tìm kiếm tuần tự được áp dụng cho danh sách chưa được sắp xếp, trong khi đó, thuật toán tìm kiếm nhị phân được áp dụng cho danh sách đã được sắp xếp.
3. Khả năng tìm kiếm: Thuật toán tìm kiếm nhị phân có khả năng tìm kiếm nhanh hơn thuật toán tìm kiếm tuần tự. Thuật toán tìm kiếm nhị phân chỉ cần tìm kiếm log(n) bước để tìm kiếm phần tử, trong khi thuật toán tìm kiếm tuần tự có thể cần tìm kiếm tất cả các phần tử trong danh sách.
07/05/2023
Thuật toán tìm kiếm tuần tự (sequential search algorithm) là một thuật toán tìm kiếm trong đó ta tìm kiếm phần tử trong một danh sách bằng cách kiểm tra từng phần tử theo thứ tự. Thuật toán tìm kiếm tuần tự tìm kiếm phần tử cần tìm bắt đầu từ phần tử đầu tiên trong danh sách và so sánh với từng phần tử trong danh sách cho đến khi tìm thấy phần tử cần tìm hoặc đến cuối danh sách.
Thuật toán tìm kiếm nhị phân (binary search algorithm) là một thuật toán tìm kiếm trong đó ta tìm kiếm phần tử trong một danh sách đã được sắp xếp bằng cách chia đôi danh sách và so sánh phần tử cần tìm với phần tử ở giữa danh sách. Nếu phần tử cần tìm lớn hơn phần tử ở giữa danh sách, ta tìm kiếm phần tử trong nửa phía sau của danh sách. Ngược lại, nếu phần tử cần tìm nhỏ hơn phần tử ở giữa danh sách, ta tìm kiếm phần tử trong nửa phía trước của danh sách. Thuật toán tìm kiếm nhị phân là một thuật toán hiệu quả hơn so với thuật toán tìm kiếm tuần tự khi tìm kiếm phần tử trong danh sách lớn.
Điểm khác biệt chính giữa thuật toán tìm kiếm tuần tự và thuật toán tìm kiếm nhị phân là cách chúng tìm kiếm phần tử trong danh sách. Thuật toán tìm kiếm tuần tự kiểm tra từng phần tử trong danh sách theo thứ tự, trong khi thuật toán tìm kiếm nhị phân sử dụng phép chia đôi để tìm kiếm phần tử trong danh sách đã được sắp xếp.
Nếu bạn muốn hỏi bài tập
Các câu hỏi của bạn luôn được giải đáp dưới 10 phút
CÂU HỎI LIÊN QUAN
16/05/2025
Top thành viên trả lời