Chương 7 trang bị cho người học những hiểu biết cơ bản về thuật toán tìm kiếm. nội dung trình bày trong chương gồm có: Các thuật toán thông dụng cho việc tìm kiếm (Tìm tuần tự, tìm nhị phân), minh họa các thuật toán, đánh giá thuật toán. . | Chương 7: Tìm Kiếm Ths. Phạm Thanh An Bộ môn Khoa học máy tính - Khoa CNTT Trường Đại học Ngân hàng Mục tiêu Trình bày các thuật toán thông dụng cho việc tìm kiếm (Tìm tuần tự, tìm nhị phân) Minh họa các thuật toán Đánh giá thuật toán Tầm quan trọng của tìm kiếm Tìm kiếm một phần tử trong một tập hợp k đối tượng một thao tác thường sử dụng trong đời sống hằng ngày Tầm quan trọng của tìm kiếm Ví dụ: Cơ sở dữ liệu (Database): tìm 1 sinh viên, tìm 1 tài khoản ngân hàng, tài liệu, quyển sách. Internet: Yahoo!, Google, TÌM KIẾM (SEARCHING) Định nghĩa Cho n bản ghi R1,R2, ,Rn, khóa tương ứng ki Hãy tìm bản ghi có giá trị khóa bằng X Kết quả tìm kiếm Thành công: có bản ghi với giá trị khóa X Không thành công: không có bản ghi thích hợp Phân loại tìm kiếm Tìm kiếm trong Tìm kiếm ngoài Tìm kiếm tuần tự (sequential searching) Ý tưởng Lần lượt tìm kiếm từ bản ghi đầu tiên cho đến khi tìm thấy, hoặc không còn phần tử để tìm kiếm Thực hiện tìm kiếm trên mảng / danh sách liên kết đơn Tìm kiếm tuần tự (sequential searching) Giải thuật bool SequentialSearch(int a[],int n,int x){ for (int i=0;ia[(n+1) div 2], quay lại (1), tìm kiếm trong dãy a[(n+1) div 2 + 1], ,a[n] Kết thúc Tìm kiếm nhị phân Giải thuật int BinarySearch(int a[ ],int l, int r,int x){ int m while (la[m]) l=m+1; } return -1; } Tìm kiếm nhị phân Giải thuật int BinarySearch1(int a[],int l,int r,int x) { int m=(l+r)/2; if (a[m]==x) return m; if ( x a[m]) return BinarySearch1(a,m+1,r,x); return -1; } Q&A | Chương 7: Tìm Kiếm Ths. Phạm Thanh An Bộ môn Khoa học máy tính - Khoa CNTT Trường Đại học Ngân hàng Mục tiêu Trình bày các thuật toán thông dụng cho việc tìm kiếm (Tìm tuần tự, tìm nhị phân) Minh họa các thuật toán Đánh giá thuật toán Tầm quan trọng của tìm kiếm Tìm kiếm một phần tử trong một tập hợp k đối tượng một thao tác thường sử dụng trong đời sống hằng ngày Tầm quan trọng của tìm kiếm Ví dụ: Cơ sở dữ liệu (Database): tìm 1 sinh viên, tìm 1 tài khoản ngân hàng, tài liệu, quyển sách. Internet: Yahoo!, Google, TÌM KIẾM (SEARCHING) Định nghĩa Cho n bản ghi R1,R2, ,Rn, khóa tương ứng ki Hãy tìm bản ghi có giá trị khóa bằng X Kết quả tìm kiếm Thành công: có bản ghi với giá trị khóa X Không thành công: không có bản ghi thích hợp Phân loại tìm kiếm Tìm kiếm trong Tìm kiếm ngoài Tìm kiếm tuần tự (sequential searching) Ý tưởng Lần lượt tìm kiếm từ bản ghi đầu tiên cho đến khi tìm thấy, hoặc không còn phần tử để tìm kiếm Thực hiện tìm kiếm trên mảng / danh sách liên kết đơn Tìm .