tailieunhanh - Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 3 - Bùi Tiến Lên

Bài giảng "Cấu trúc dữ liệu và giải thuật - Chương 3: Các thuật toán tìm kiếm trên mảng và chuỗi" cung cấp cho người học các kiến thức về các bài toán tìm kiếm. Đây là một tài liệu hữu ích dành cho các bạn sinh viên và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu. | CÁC THUẬT TOÁN TÌM KIẾM TRÊN MẢNG VÀ CHUỖI Bùi Tiến Lên 01 01 2017 https tailieudientucntt Bài toán tìm kiếm I Tìm kiếm search là một công việc hàng ngày trong cuộc sống. I Tìm kiếm là một trong những bài toán quan trọng trong các ứng dụng tin học. I Một số thuật toán tìm kiếm phổ biến trên cấu trúc dữ liệu mảng I Tìm kiếm tuần tự I Tìm kiếm nhị phân I Tìm kiếm chuỗi cũng được xem là một bài toán tìm kiếm trên mảng Spring 2017 Data structure amp Algorithm https tailieudientucntt 2 TÌM KIẾM TRÊN MẢNG https tailieudientucntt Bài toán Định nghĩa 1 Cho một dãy a có n phần tử. Hãy tìm xem một phần tử x có trong dãy a hay không Bài toán này có thể yêu cầu thêm những thông tin Tìm vị trí phần tử x trong mảng có bao nhiều phần tử x trong mảng Spring 2017 Data structure amp Algorithm https tailieudientucntt 4 Tìm kiếm tuần tự Ý tưởng Duyệt tuần tự từng phần tử trong mảng a và so sánh với phần tử x. Spring 2017 Data structure amp Algorithm https tailieudientucntt 5 Tìm kiếm tuần tự cont. 1 int LinearSearch int a int n int x 2 3 for int i 0 i lt n i 4 if a i x 5 return i 6 return -1 7 Spring 2017 Data structure amp Algorithm https tailieudientucntt 6 Đánh giá độ phức tạp I Đánh giá chi phí thực hiện dựa tham số n số phần tử Trường hợp Hàm ước lượng O g n tốt nhất trung bình xấu nhất Spring 2017 Data structure amp Algorithm https tailieudientucntt 7 Tìm kiếm nhị phân Ý tưởng Nếu các phần tử trong dãy có quan hệ thứ tự nghĩa là có thể so sánh bằng lớn hơn nhỏ hơn giứa chúng. Ta có thể tổ chức lại dãy a để có thể tìm kiếm hiệu quả hơn. 1. Sắp xếp lại dãy a theo thứ tự tăng dần 2. Xét dãy a0 a1 . an 2 an 1 so sánh phần tử amid với x Nếu amid x thì tìm thấy Nếu amid lt x thì tiếp tục tìm trong dãy con amid 1 . an 1 Nếu amid gt x thì tiếp tục tìm trong dãy con a0 . amid 1 .

TỪ KHÓA LIÊN QUAN