Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 7 - ThS. Phạm Thanh An
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 7 - ThS. Phạm Thanh An Chương7:TìmKiếmThs.PhạmThanhAnBộmônKhoahọcmáytínhKhoaCNTTTrườngĐạihọcNgânhàngTP.HCM LOGO Mụctiêu Trìnhbàycácthuậttoánthôngdụngchoviệc tìmkiếm(Tìmtuầntự,tìmnhịphân) Minhhọacácthuậttoán Đánhgiáthuậttoán Tầmquantrọngcủatìmkiếm Tìmkiếmmộtphầntửtrongmộttậphợpkđối tượngmộtthaotácthườngsửdụngtrongđời sốnghằngngày Tầmquantrọngcủatìmkiế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ÌMKIẾM(SEARCHING) Địnhnghĩ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ếtquảtìmkiế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ânloạitìmkiếm Tìm kiếm trong Tìm kiếm ngoài Tìmkiếmtuầntự(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ìmkiếmtuầntự(sequential searching) Giảithuậtbool SequentialSearch(int a[],int n,int x){ for (int i=0;i Tìmkiếmtuầntự(sequential searching) Độphứctạpgiảithuật Phép toán chính là phép so sánh Trường hợp tốt nhất: 1 phép so sánh Trường hợp xấu nhất: n phép so sánh Trường hợp trung bình: (n+1)/2 phép so sánh Tìmkiếmnhịphân Ýtưởng Tiến hành trên dãy đã được sắp xếp tăng dần Dãy tìm kiếm a[1],a[2],…,a[n], khóa tìm kiếm X 1. So sánh khóa X với a[(n+1) div 2] 2. Nếu X=a[(n+1) div 2], kết thúc, ngược lại 1. Nếu Xa[(n+1) div 2], quay lại (1), tìm kiếm trong dãy a[(n+1) div 2 + 1],…,a[n] 3. Kết thúc Tìmkiếmnhịphân Giải thuậtint BinarySearch(int a[ ],int l, int r,int x){ int m while (l Tìmkiếmnhịphân Giảithuậ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
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu và giải thuật Thuật toán tìm kiếm Tìm kiếm tuần tự Tìm kiếm nhị phân Đánh giá thuật toánTài liệu cùng danh mục:
-
62 trang 388 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 371 6 0 -
Bài giảng Phân tích thiết kế hệ thống thông tin: Chương 3 - Hệ điều hành Windowns XP
39 trang 318 0 0 -
Phương pháp truyền dữ liệu giữa hai điện thoại thông minh qua môi trường ánh sáng nhìn thấy
6 trang 307 0 0 -
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 299 0 0 -
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 288 1 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 279 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 276 2 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 265 0 0 -
Một số vấn đề về chuyển đổi số và ứng dụng trong doanh nghiệp
11 trang 247 0 0
Tài liệu mới:
-
Sáng kiến kinh nghiệm THCS: Một số biện pháp giáo dục đạo đức cho học sinh THCS
20 trang 0 0 0 -
106 trang 0 0 0
-
Đề cương ôn tập môn gia đình - dòng họ - làng xã Việt Nam
11 trang 1 0 0 -
4 trang 1 0 0
-
87 trang 0 0 0
-
Nghiên cứu đặc điểm hình ảnh X quang và cắt lớp vi tính cột sống trong chấn thương cột sống cổ
8 trang 0 0 0 -
Nghiên cứu sự bộc lộ một số dấu ấn miễn dịch để chẩn đoán bệnh lý nghi ngờ u lymphô ác tính
6 trang 0 0 0 -
6 trang 0 0 0
-
124 trang 0 0 0
-
Luận văn Thạc sĩ Kiến trúc: Kiến trúc trống tầng trệt trong khu đô thị mới
154 trang 0 0 0