thuật toán tìm kiếm tuần tự

Bách khoa toàn thư phanh Wikipedia

Tìm lần tuần tự
Phân loại giải thuật lần kiếm
Cấu trúc dữ liệu danh sách
Độ phức tạp thời gian O(n) Lúc thành phần lần kiếm ở cuối list hoặc không tồn tại nhập danh sách
Thời gian tham chạy đảm bảo chất lượng nhất O(1) Lúc thành phần cần thiết lần nằm ở đầu danh sách
Độ phức tạp ko gian O(n)

Trong Khoa học tập PC tìm lần tuần tự (tiếng Anh Sequential search) hoặc tìm lần tuyến tính (tiếng Anh linear search) là 1 trong cách thức lần kiếm một thành phần mang lại trước nhập một list bằng phương pháp duyệt theo thứ tự từng thành phần của list ê cho tới khi nhìn thấy độ quý hiếm ước muốn hoặc vẫn duyệt qua loa toàn cỗ list.

Bạn đang xem: thuật toán tìm kiếm tuần tự

Ứng dụng[sửa | sửa mã nguồn]

Tìm lần tuần tự là 1 trong giải thuật rất rất giản dị Lúc thực tế. Giải thuật này trầm trồ khá hiệu suất cao Lúc cần thiết lần kiếm bên trên một list đầy đủ nhỏ hoặc một list ko chuẩn bị trật tự giản dị. Trong tình huống cần thiết lần kiếm rất nhiều lần, tài liệu thông thường được xử lý một thứ tự trước lúc lần kiếm: hoàn toàn có thể được bố trí theo đuổi trật tự, hoặc được thiết kế theo đuổi một cấu hình tài liệu đặc thù mang lại giải thuật hiệu suất cao rộng lớn,...

Mã giả[sửa | sửa mã nguồn]

Phiên bạn dạng lặp tự động nhiên[sửa | sửa mã nguồn]

Đây là phiên bạn dạng hoặc gặp gỡ nhất của giải thuật này, SERP được xem là địa điểm của thành phần cần thiết lần hoặc một độ quý hiếm Δ thể hiện nay việc không kiếm thấy thành phần nhập list ê.

 1. For each item in the list:
     1. if that item has the desired value,
         1. stop the tìm kiếm and return the item's location.
 2. Return 'Δ

Nếu list được tàng trữ bên dưới dạng mảng, địa điểm của thành phần cần thiết lần hoàn toàn có thể là chỉ số của chính nó nhập mảng, còn độ quý hiếm Δ hoàn toàn có thể là chỉ số ở trước thành phần đầu tien (0 hoặc -1 tùy nhập danh sách).

Xem thêm: sin x + cos x

Nếu list là 1 trong list links, địa điểm của thành phần được trả về hoàn toàn có thể ở bên dưới dạng vị trí của no, còn độ quý hiếm Δ hoàn toàn có thể là độ quý hiếm null.

Phiên bạn dạng đệ quy[sửa | sửa mã nguồn]

Đây là phiên bạn dạng đệ quy Lúc thực tế giải thuật lần kiếm tuần tự động.

Xem thêm: nghị luận xã hội về ước mơ

 1. if the list is empty, return Λ;
 2. else
    1. if the first item of the list has the desired value
       1. return its location;
    2. else 
       1. tìm kiếm the value in the remainder of the list, and return the result.

Sử dụng thành phần ráng canh[sửa | sửa mã nguồn]

Một cách thức được dùng nhằm nâng cấp hiệu suất cao của giải thuật là chèn thành phần mong muốn lần kiếm và cuối list như 1 thành phần ráng canh (sentinel) như được trình diễn bên dưới đây:

 1. Set A[n + 1] lớn x. 
 2. Set i lớn 1.
 3. Repeat this loop:
     1. If A[i] = x, 
        1. exit the loop.
     2. Set i lớn i + 1.
 4. Return i.

Việc tăng thành phần ráng canh gom giảm sút việc đối chiếu chỉ số thời điểm hiện tại i với số những thành phần n ở từng vòng lặp. Tuy nhiên, điều này chỉ hoàn toàn có thể được dùng Lúc địa điểm sau cùng của list tồn bên trên tuy nhiên không được dùng.

Tìm lần tuần tự động bên trên một list vẫn chuẩn bị xếp[sửa | sửa mã nguồn]

Trong những list và đã được bố trí tuy nhiên cần phải truy xuất tuần tự động như list links hoặc tệp tin cẩn, việc lần kiếm tuần tự động tiếp tục hiệu suất cao rộng lớn trong không ít tình huống ko cần thiết duyệt toàn cỗ list vẫn tóm lại được thành phần ê ko xuất hiện. Tuy nhiên, với 1 mảng được bố trí, việc lần kiếm nhị phân trầm trồ hiệu suất cao nhập phần lớn ngôi trường hợp

Tham khảo[sửa | sửa mã nguồn]