Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 184 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
184
Dung lượng
2,11 MB
Nội dung
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT CHƯƠNG TÌM KIẾM VÀ SẮP XẾP NỘI Nội Dung Các giải thuật tìm kiếm nội Tìm kiếm tuyến tính CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Tìm kiếm nhị phân Các giải thuật xếp nội Đổi chỗ trực tiếp – Interchange Sort Chọn trực tiếp – Selection Sort Nổi bọt – Bubble Sort Nội Dung (Tt) Chèn trực tiếp – Insertion Sort Chèn nhị phân – Binary Insertion Sort CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Shaker Sort Shell Sort Heap Sort Quick Sort 10 Merge Sort 11 Radix Sort Bài Toán Tìm Kiếm Cho danh sách có n phần tử a0, a1, a2…, an-1 Để đơn giản việc trình bày giải thuật ta dùng mảng chiều a để lưu danh sách phần tử nói nhớ CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Tìm phần tử có khố X mảng Giải thuật tìm kiếm tuyến tính (tìm tuần tự) Giải thuật tìm kiếm nhị phân Lưu ý: Trong trình trình bày thuật giải ta dùng ngơn ngữ lập trình C Tìm Kiếm Tuyến Tính CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Ý tưởng : So sánh X với phần tử thứ 1, thứ 2,…của mảng a gặp khóa cần tìm, tìm hết mảng mà khơng thấy Các bước tiến hành • • • Bước 1: Khởi gán i=0; Bước 2: So sánh a[i] với giá trị x cần tìm, có khả + a[i] == x tìm thấy x Dừng; + a[i] != x sang bước 3; Bước 3: i=i+1 // Xét tiếp phần tử mảng Nếu i==N: Hết mảng Dừng; Ngược lại: Lặp lại bước 2; Thuật Toán Tìm Kiếm Tuyến Tính CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Hàm trả tìm thấy, ngược lại trả 0: int LinearSearch(int a[],int n, int x) { int i=0; while((i khơng tìm thấy X=1 16 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Bài Toán Sắp Xếp Cho danh sách có n phần tử a0, a1, a2…, an-1 Sắp xếp trình xử lý phần. .. log2N Trung bình log2N / Độ phức tạp O(log2N) 14 Minh Họa Thuật Tốn Tìm Nhị Phân Tìm thấy vị trí CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT X =2 M L R 10 15 Minh Họa Thuật Toán Tìm Nhị Phân (tt) X=-1 M CẤU... Thuật Tốn Tìm Kiếm Tuyến Tính CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT X=6 Tìm thấy vị trí i 6 Minh Họa Thuật Tốn Tìm Kiếm Tuyến Tính (tt) X=10 i=7, khơng tìm thấy CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT i 6 Ðánh