1. Trang chủ
  2. » Thể loại khác

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Chương 4: Kỹ Thuật Tìm kiếm (SEARCHING)

15 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 415,5 KB

Nội dung

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Chương 4: Kỹ Thuật Tìm kiếm (SEARCHING) Khái niệm tìm kiếm     Tìm kiếm yêu cầu thường xuyên đời sống hàng ngày tin học Để đơn giản ta xét tốn tìm kiếm sau: Cho dãy số gồm phần tử a1, a2, , an Cho biết dãy có phần tử có giá trị X (cho trước) hay không? Đo độ hiệu quả:  Số lần so sánh khóa cần tìm khóa ghi Phân loại:  Tìm kiếm nội (internal searching)  Tìm kiếm ngoại (external searching) Bản ghi khóa   Bản ghi:  Khóa  Dữ liệu Khóa:  So sánh  Thường số Hàm tìm kiếm    Tham số vào:  Danh sách cần tìm  Khóa cần tìm Tham số ra:  Vị trí phần tử tìm thấy (nếu có) Kết hàm: kiểu int  Tìm thấy: vị trí  Khơng tìm thấy: -1 Tìm (sequential search) Ý tưởng: So sánh phần tử mảng A với giá trị X cần tìm phần tử tìm thấy tìm hết mảng mà khơng tìm thấy X Tìm (sequential search) position = Target key 7 13 21 15 return Số lần so sánh: Tìm - khơng tìm thấy Target key 7 13 21 15 return -1 Số lần so sánh: Tìm - Thuật toán B1: i = ;// phần tử B2: so sánh A[i] với X, có khả : A[i] =X : Tìm thấy Dừng A[i] X : Sang B3 B3: i=i+1 // Xét phần tử mảng Nếu i>n : Hết mảng, khơng tìm thấy.Dừng Ngược lại: lặp lại B2 Tìm - mã C++ int LinearSearch (int A[], int n, int X) { int i = 0; while (A[i] != X && i

Ngày đăng: 18/04/2022, 17:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w