1. Trang chủ
  2. » Tất cả

Bài giảng cấu trúc dữ liệu và giải thuật chương 2 trường đh văn lang

10 1 0

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

THÔNG TIN TÀI LIỆU

KHOA CÔNG NGHỆ THÔNG TIN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT GVGD 1 THS TRẦN CÔNG THANH HỌC KỲ I – NĂM HỌC 2020 2021 KHÓA BÀI 2 GIẢI THUẬT TÌM KIẾM NỘI DUNG Tìm kiếm tuyến tính02 Tìm kiếm nhị phân03 04 05[.]

KHOA CÔNG NGHỆ THÔNG TIN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT BÀI 2: GIẢI THUẬT TÌM KIẾM GVGD: THS TRẦN CÔNG THANH HỌC KỲ I – NĂM HỌC 2020-2021 KHĨA NỘI DUNG 01 Giới thiệu tốn tìm kiếm 02.Tìm kiếm tuyến tính 03 Tìm kiếm nhị phân 04 Bài tập 05 06 1 Giới thiệu toán tìm kiếm ❖ Tìm kiếm trình xác định đối tượng tập đối tượng Kết trả về: • Đối tượng tìm (nếu có) • Chỉ số (nếu có) xác định vị trí đối tượng tập ❖ Việc tìm kiếm dựa theo trường đối tượng, trường khóa (key) việc tìm kiếm Ví dụ: Tìm sinh viên có họ tên X DSSV SV {MaSV, HoTen, DiaChi,…} Khoá? Kết trả về? 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CÔNG NGHỆ THÔNG TIN Giới thiệu tốn tìm kiếm Bài tốn mơ tả sau: • Tập liệu lưu trữ dãy a1, a2, ,an Giả sử chọn cấu trúc liệu mảng để lưu trữ dãy số nhớ chính, có khai báo: int a[n]; • Khóa cần tìm x: int x; 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com Tìm kiếm Tìm kiếm tuyến tính Tập liệu KHOA CƠNG NGHỆ THƠNG TIN Tìm kiếm nhị phân Tập liệu xếp Giới thiệu tốn tìm kiếm • Ý tưởng: duyệt từ phần tử đầu tiên, so sánh khóa tìm kiếm với khoá tương ứng phần tử danh sách Cho đến gặp phần tử cần tìm đến duyệt hết danh sách • Các bước tiến hành sau: i=0 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com S i< n Khơng tìm thấy Đ Đ a[i] =x Tìm thấy S i=i +1 KHOA CƠNG NGHỆ THƠNG TIN Tìm kiếm tuyến tính (Linear Search) Ý tưởng: Lần lượt so sánh x với phần tử thứ nhất, thứ hai, mảng a gặp phần tử cần tìm, hết mảng 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com KHOA CÔNG NGHỆ THÔNG TIN Tìm kiếm tuyến tính • Ví dụ: Cho dãy số a, giá trị tìm X = 8: 12 X=8 Tìm thấy 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! 12 i=0 i=1 ibaotu.com i=2 i=3 i=4 i=5 i=6 X=7 Khơng tìm thấy 12 i=0 i=1 i=2 i=3 i=4 i=5 i=6 KHOA CÔNG NGHỆ THÔNG TIN Tìm kiếm tuyến tính Giải thuật Bước 1: i = 0; // phần tử dãy Bước 2: So sánh a[i] với x, có khả : •a[i] = x : Tìm thấy Dừng 感谢您下载包图网平台上提供的PPT作品,为了您和包图网以及原创作者的利益,请勿复制、传播、销售,否则将承担法律责任!包图网将对作品进行维权,按照传播下载次数进行十倍的索取赔偿! ibaotu.com •a[i] != x : Sang Bước Bước 3: • i = i+1; // xét tiếp phần tử kế 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 Bước KHOA CƠNG NGHỆ THƠNG TIN Tìm kiếm tuyến tính Thuật tốn tìm kiếm tuyến tính /* Trả về: vị trí xuất x mảng a Trả về: -1 x khơng có mảng a */ int Search(int a[], int n, int key) { int i =0; while (i

Ngày đăng: 22/02/2023, 16:16

Xem thêm:

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

TÀI LIỆU LIÊN QUAN