Bài giảng Các giải thuật tìm kiếm, sắp xếp
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Các giải thuật tìm kiếm, sắp xếpCÁC GIẢI THUẬT TÌM KIẾM, SẮP XẾP Nội dung Giải thuật tìm kiếm Tìm kiếm tuần tự Tìm kiếm nhị phân Giải thuật sắp xếp Insertion sort Selection sort Bubble sort Merge sort Quick sortĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 2 Khái niệm tìm kiếm Cho biết: Một danh sách các bản ghi (record). Một khóa cần tìm. Tìm bản ghi có khóa trùng với khóa cần tìm (nếu có). Đo độ hiệu quả: Số lần so sánh khóa cần tìm và khóa của các bản ghi Phân loại: Tìm kiếm nội (internal searching) Tìm kiếm ngoại (external searching)ĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 3 Bản ghi và khóa Bản ghi: Khóa Dữ liệu Khóa: So sánh được Thường là số Trích khóa từ bản ghi: So sánh các bản ghiĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 4 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 quả hàm: kiểu Error_code Tìm thấy: success Không tìm thấy: not_presentĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 5 Tìm tuần tự (sequential search) position = 2 5 Target key 0 1 2 3 4 5 6 7 7 13 5 21 6 2 8 15 return success Số lần so sánh: 3ĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 6 Tìm tuần tự - không tìm thấy 9 Target key 0 1 2 3 4 5 6 7 7 13 5 21 6 2 8 15 return not_present Số lần so sánh: 8ĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 7 Nội dung Giải thuật tìm kiếm Tìm kiếm tuần tự Tìm kiếm nhị phân Giải thuật sắp xếp Insertion sort Selection sort Bubble sort Merge sort Quick sortĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 8 Tìm nhị phân (binary search) Ý tưởng: So sánh khóa cần tìm với phần tử giữa. Nếu nó nhỏ hơn thì tìm bên trái danh sách. Ngược lại tìm bên phải danh sách. Lặp lại động tác này. Danh sách cần tìm phải có thứ tự (khoá có thứ tự( Cần 2 chỉ mục top và bottom để giới hạn đoạn tìm kiếm trên danh sách. Khóa cần tìm nếu có chỉ nằm trong đoạn này.ĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 9 Tìm nhị phân – Cách 1 position = 3 10 Target key Khóa cần tìm bằng nhỏ hơn lớn hơn hoặc bằng 0 1 2 3 4 5 6 7 8 9 2 5 8 10 12 13 15 18 21 24 bottom middle top return successĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 10ĐH Bách Khoa Tp.HCM Khoa Công nghệ Thông tin Chương 2: Stack 11 Tìm nhị phân – Cách 2 position = 3 10 Khóa cần tìm bằng không nhỏ ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Các giải thuật Giải thuật tìm kiếm Giải thuật sắp xếp Insertion sort Selection sort Bubble sortGợi ý tài liệu liên quan:
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 4: Một số giải thuật sắp xếp và tìm kiếm
29 trang 120 0 0 -
10 trang 68 0 0
-
Giáo trình Trí tuệ nhân tạo- Đại học Sư Phạm Hà Nội
35 trang 35 0 0 -
Lecture Data structures and algorithms: Chapter 10 - Sorting
63 trang 29 0 0 -
Bài giảng Cấu trúc dữ liệu: Chương 2 (tt) - ThS. Võ Quang Hoàng Khang
115 trang 25 0 0 -
Lecture C programming basic: Week 10
22 trang 25 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Trường ĐH Văn Lang
33 trang 23 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - TS. Nguyễn Thị Kim Thoa
52 trang 22 0 0 -
Đề tài Công nghệ thông tin: Các thuật toán sắp xếp cơ bản
7 trang 22 0 0 -
22 trang 22 0 0
-
Bài giảng Cấu trúc dữ liệu và giải thuật - ĐH Thương Mại
0 trang 22 0 0 -
Khoa học máy tính - Tìm kiếm (Seaching)
6 trang 22 0 0 -
Bài giảng Cấu trúc dữliệu và giải thuật: Các thuật toán sắp xếp - Đậu Ngọc Hà Dương
46 trang 22 0 0 -
Bài giảng Phân tích thiết kế thuật toán: Chương 2 - Nguyễn Văn Linh
64 trang 21 0 0 -
13 trang 21 0 0
-
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
26 trang 20 0 0 -
Bài giảng Trí tuệ nhân tạo: Giải quết vấn đề - Nguyễn Nhật Quang
64 trang 19 0 0 -
Lecture Computer Architecture and Assembly Language Programming - Lesson 9: Branching
15 trang 19 0 0 -
3 trang 19 0 0
-
Xây dựng giải thuật sắp xếp và vận chuyển hàng hóa trong kho lạnh tự động
11 trang 18 0 0