Lớp 1

Đề thi lớp 1

Lớp 2

Lớp 2 - kết nối tri thức

Lớp 2 - Chân trời sáng tạo

Lớp 2 - Cánh diều

Tài liệu tham khảo

Lớp 3

Lớp 3 - liên kết tri thức

Lớp 3 - Chân trời sáng sủa tạo

Lớp 3 - Cánh diều

Tài liệu tham khảo

Lớp 4

Sách giáo khoa

Sách/Vở bài tập

Đề thi

Lớp 5

Sách giáo khoa

Sách/Vở bài bác tập

Đề thi

Lớp 6

Lớp 6 - liên kết tri thức

Lớp 6 - Chân trời sáng tạo

Lớp 6 - Cánh diều

Sách/Vở bài tập

Đề thi

Chuyên đề & Trắc nghiệm

Lớp 7

Lớp 7 - liên kết tri thức

Lớp 7 - Chân trời sáng tạo

Lớp 7 - Cánh diều

Sách/Vở bài xích tập

Đề thi

Chuyên đề & Trắc nghiệm

Lớp 8

Sách giáo khoa

Sách/Vở bài xích tập

Đề thi

Chuyên đề & Trắc nghiệm

Lớp 9

Sách giáo khoa

Sách/Vở bài tập

Đề thi

Chuyên đề & Trắc nghiệm

Lớp 10

Lớp 10 - liên kết tri thức

Lớp 10 - Chân trời sáng tạo

Lớp 10 - Cánh diều

Sách/Vở bài tập

Đề thi

Chuyên đề và Trắc nghiệm

Lớp 11

Sách giáo khoa

Sách/Vở bài tập

Đề thi

Chuyên đề và Trắc nghiệm

Lớp 12

Sách giáo khoa

Sách/Vở bài tập

Đề thi

Chuyên đề & Trắc nghiệm

IT

Ngữ pháp giờ đồng hồ Anh

Lập trình Java

Phát triển web

Lập trình C, C++, Python

Cơ sở dữ liệu


*

Cấu trúc dữ liệu và giải thuậtMột số quan niệm về Giải thuật kết cấu dữ liệu mảng (Array)Danh sách link - Linked ListsNgăn xếp và Hàng đợiMột số lời giải tìm kiếmMột số lời giải sắp xếpCấu trúc dữ liệu đồ thị (Graph)Cấu trúc tài liệu câyĐệ qui (Recursion)Tài liệu xem thêm
Giải thuật tra cứu kiếm nội suy (Interpolation Search)
Trang trước
Trang sau

Giải thuật search kiếm nội suy (Interpolation Search) là gì ?

Tìm tìm nội suy (Interpolation Search) là phát triển thành thể đổi mới của search kiếm nhị phân (Binary Search). Để giải mã tìm tìm này làm cho việc đúng chuẩn thì tập dữ liệu phải được sắp xếp.

Bạn đang xem: Tìm kiếm nội suy

Binary Search có ích thế phệ về độ tinh vi thời gian khi đối chiếu với Linear Search. Linear tìm kiếm có độ phức tạp trường hợp xấu tốt nhất là Ο(n) trong những khi Binary tìm kiếm là Ο(log n).

Có một vài tình huống nhưng mà vị trí của tài liệu cần tìm có thể đã được biết trước. Ví dụ, trong trường phù hợp danh bạ năng lượng điện thoại, nếu chúng ta muốn search số smartphone của Hương chẳng hạn. Trong trường hòa hợp này, Linear tìm kiếm và cả Binary Search có thể là lừ đừ khi tiến hành tìm kiếm, lúc mà chúng ta cũng có thể trực tiếp nhảy đầm tới phần ko gian bộ lưu trữ có tên bước đầu với H được lưu lại giữ.

Xác định vị trí trong Binary Search

Trong Binary Search, nếu tài liệu cần tìm không được search thấy thì phần còn sót lại của list được phân tạo thành hai phần: phần hông trái (chứa giá bán trị nhỏ tuổi hơn) và phần hông phải (chứa giá trị phệ hơn). Kế tiếp tiến trình tìm tìm kiếm được thực hiện tại trên 1 trong hai phần này.

*
*
*
*

Dò địa điểm trong tìm kiếm kiếm nội suy (Interpolation Search)

Tìm kiếm nội suy search kiếm 1 phần tử rõ ràng bằng việc đo lường và tính toán vị trí dò (Probe Position). Ban đầu thì vị trí dò là địa chỉ của bộ phận nằm trọng điểm nhất của tập dữ liệu.

*
*

Nếu tìm thấy liên kết thì chỉ mục của bộ phận được trả về. Để chia danh sách thành nhị phần, chúng ta sử dụng thủ tục sau:

mid = Lo + ((Hi - Lo) / (A - A)) * (X - A)Trong đó: A = list Lo = chỉ mục thấp duy nhất của danh sách Hi = chỉ mục cao nhất của danh sách A = giá trị được lưu giữ tại chỉ mục n vào danh sáchNếu phần tử cần tìm có mức giá trị to hơn bộ phận ở giữa thì thành phần cần tìm đang ở mảng nhỏ bên phải phần tử ở giữa và bọn họ lại liên tục tính địa điểm dò; nếu không phần tử cần tìm đang ở mảng bé bên trái bộ phận ở giữa. Quy trình này tiến tụp ra mắt trên các mảng con cho tới khi form size của mảng nhỏ giảm về 0.

Độ tinh vi thời gian chạy của Interpolation search là Ο(log (log n)), trong những lúc của Binary search là Ο(log n).

Giải thuật tìm kiếm kiếm nội suy

Bởi vì đây là sự đổi mới của giải mã Binary search nên họ sẽ chỉ kể tới quá trình để tìm kiếm kiếm chỉ mục của giá trị đề xuất tìm bởi áp dụng vị trí dò.

Xem thêm: 2022 Vịt Hóa Thiên Nga 2019 Trên Nền Nhạc Vịt Hóa Thiên Nga Mp3

Bước 1 : bắt đầu tìm kiếm tài liệu từ phần ở giữa của danh sáchBước 2 : Nếu đấy là một so khớp (một kết nối), thì trả về chỉ mục của phần tử, với thoát.Bước 3 : còn nếu không phải là một trong so khớp, do đó vị trí dò.Bước 4 : Chia danh sách bởi sử dụng phép tính tìm địa điểm dò và tìm địa điểm giữa mới.Bước 5 : Nếu dữ liệu cần tìm to hơn giá trị tại địa chỉ giữa, thì search kiếm trong mảng con bên phải.Bước 6 : Nếu tài liệu cần tìm bé dại hơn giá trị tại vị trí giữa, thì tìm kiếm kiếm trong mảng nhỏ bên tráiBước 7 : Lặp lại tính đến khi kiếm tìm thấy so khớp

Code mẫu mã cho giải mã Tìm tìm nội suy

A → MảngN → kích cỡ của AX → giá chỉ trị phải tìmhàm search kiếm nội suy Interpolation_Search() Gán Lo → 0 Gán Mid → -1 Gán Hi → N-1 While X không so khớp if Lo bởi Hi OR A bằng A EXIT: Thất bại, không tìm thấy X dứt if Gán Mid = Lo + ((Hi - Lo) / (A - A)) * (X - A) if A = X EXIT: Thành công, tra cứu thấy tại Mid else if A X tùy chỉnh Hi thành Mid-1 xong xuôi if kết thúc if ngừng WhileKết thúc hàmĐể tò mò code đầy đủ của lời giải Tìm tìm nội suy (Interpolation Search) trong ngữ điệu C, mời bạn click chuột vào chương: Tìm tìm nội suy trong C.


Đã có ứng dụng ustone.com.vn trên điện thoại, giải bài bác tập SGK, SBT biên soạn văn, Văn mẫu, Thi online, bài bác giảng....miễn phí. Mua ngay ứng dụng trên apk và iOS.

*

*

Follow fanpage facebook của team https://www.facebook.com/ustone.com.vnteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.ustone.com.vn để thường xuyên theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... Mới nhất của chúng tôi.