tailieunhanh - Bài giảng Cấu trúc dữ liệu 1: Chương 2 - Lương Trần Hy Hiến

Bài giảng Cấu trúc dữ liệu 1 chương 2 cung cấp các kiến thức về tìm kiếm và sắp xếp. Mục tiêu của chương này là giới thiệu một số thuật toán tìm kiếm và sắp xếp nội; phân tích, đánh giá độ phức tạp của các giải thuật tìm kiếm, sắp xếp. . | Đại Học Sư Phạm Tp. Hồ Chí Minh CÁ U TRÚC DỮ LIỆU 1 Chương 2 Tìm kiếm sắp xếp _ F Tìm kiêm Tìm tuần tự Tìm nhị phân _ r r L Tìm kiêm Săp xêp Mục tiêu Giới thiệu một số thuật toán tìm kiếm và sắp xếp nội. Phân tích đánh giá độ phức tạp của các giải thuật tìm kiếm sắp xếp. Nội dung Nhu cầu tìm kiếm và sắp xếp dữ liệu trong một hệ thông thông tin. Các giải thuật tìm kiếm nội. Các giải thuật sắp xếp nội. 2 Các giải thuật tìm kiếm nội Bài toán Tìm vị trí xuất hiện của phần tử có giá trị X trên danh sách đặc a Tập dữ liệu được lưu trữ là dãy sô ap a2 . aN int a N Khoá cần tìm là X int x Tìm kiếm tuần tự Bước 1 i Vị trí đầu Bước 2 Nếu a i X Tìm thây. Dừng vị trí xuất hiện ỉ Bước 3 i Vị trí kế i xét tiếp phần tử kế trong mảng Bước 4 Nếu i Vị trí cuối Hết mảng Không tìm thấy. Dừng. Ngược lại Lặp lại Bưởc 2. 5 Tìm kiếm tuần tự int LinearSearch int a int N int x for int i 0 i N a i x i if i N return i a i là phần tử có khoá X return -1 tìm hết mảng nhưng không có X Tìm kiếm tuần tự cải tiến cài đặt dùng phương pháp đặt lính canh - Đặt thêm một phần tử có giá trị X vào cuối mảng - Bảo đảm luôn tìm thấy X trong mảng - Sau đó dựa vào vị trí tìm thấy để kết luận. Tìm kiếm tuần tự Đánh giá giải thuật TrưỞBE bữp Số líu KQ sriỉìlì Guii thích Tết chít 1 Pbdn tứ drill tiên có giá tri X Xâu nhai ư i PLan từ cuối eúúfị cô 13 tiì Trung lìinlì n liữ Giâ stV Síií1 siiãt các phẩn tiì trcuj niflflg ứwn gili tn X In như lìltiiii Vậy giải thuật tìm tuần tự có độ phức tạp tính toán câp n T n O n Tìm kiếm tuần tự int LinearSearch int a int N int x mảng gồm N phần tử từa 0 .a N-1 a N x thêm lính canh vào cuối dãy for int i 0 a i x i if i N return i a i là phần tử có khoá X return -1 tìm hết mảng nhưng không có X 10 Tìm kiếm tuần tự StNliận xét - Giải thuật tìm tuyến tính không phụ thuộc vào thứ tự của các phần tử trong danh sách do vậy đây là phương pháp tổng quát nhất để tìm kiếm trên một danh sách bâì kỳ. - Một thuật toán có thể được cài đặt theo nhiều cách khác nhau kỹ thuật cài đặt ảnh hưởng

TỪ KHÓA LIÊN QUAN