Tài liệu Chương 3: Các phương pháp sắp xếp và tìm kiếm pptx

11 713 1
Tài liệu Chương 3: Các phương pháp sắp xếp và tìm kiếm pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương Các phương pháp sắp xếp và tìm kiếm Nội dung Đêê qui Tìm kiếm đêê qui Các phương pháp tìm kiếm Các phương pháp sắp xếp Chương Các phương pháp tìm kiếm và sắp xếp Vấn đề tìm kiếm và sắp xếp liệu  Tìm kiếm sắp xếp liệu hai thao tác thường xuyên thực khai thác thông tin  Tùy thuộc vào cấu trúc lưu trữ liệu các thuật toán xây dựng có mức độ hiệu khác  Có thể chia thành hai nhóm: các thuật toán thao tác nhớ (RAM) nhớ ngồi (các ổ đĩa) 02/21/14 www.lhu.edu.vn Chương Các phương pháp tìm kiếm và sắp xếp Đệ qui Khái niệm  Một đối tượng X gọi định nghĩa đệ qui nếu phát biểu X có dùng đối tượng X Ví dụ: “Người A có cha mẹ người” – trực tiếp “Gà  Trứng  Gà” – gián tiếp  Định nghĩa đệ quy có ưu điểm:  Sáng sủa  Dễ hiểu  Nêu bật vấn đề 02/21/14 www.lhu.edu.vn Chương Các phương pháp tìm kiếm và sắp xếp Đệ qui Khái niệm  Một chương trình đệ qui chương trình gọi đến các câu lệnh, chương trình đệ qui bắt buộc phải có điều kiện dừng  Nhược điểm đệ qui  Không phải toán dùng đệ qui  Sử dụng nhiều nhớ để lưu trữ tạm thời các biến lúc chạy đệ qui 02/21/14 www.lhu.edu.vn Chương Các phương pháp tìm kiếm và sắp xếp Đệ qui Khái niệm  Một định nghĩa đệ qui thường có thành phần  Thành phần cố định (điều kiện dừng) : khơng có lời gọi đệ qui Ví dụ: 0! = 1! =  Thành phần đệ qui : ứng với tham số có lời gọi đệ qui đến tham số khác, dần tiến thành phần cố định Ví dụ: n! = n*(n-1)! Nếu n > 02/21/14 www.lhu.edu.vn Chương Các phương pháp tìm kiếm và sắp xếp Hàm đệ qui  Một hàm đệ quy gồm phần  Phần dừng: Chứa các tác động hàm ứng với số giá trị ban đầu tham số  Phần hạ bậc: Chứa lời gọi thực hàm với tham số có phạm vi nhỏ Ví dụ: Xây dựng hàm tính n! theo đệ qui long giaithua(int n) { if (n == || n == 1) return 1; else return (n * giaithua(n-1)); } 02/21/14 Ví dụ: Tính UCLN(x,y) theo thuật tốn Euclide int ucln(int x, int y) { if (y == 0) return x; else return (ucln(y, x % y)); } www.lhu.edu.vn Chương Các phương pháp tìm kiếm và sắp xếp Tìm kiếm đệ qui Xây dựng dần các thành phần lời giải hay cấu hình cách thử tất các khả Ví dụ: liệt kê các dãy nhị phân có độ dài n bit Bit Bit 0 0 1 0 1 0 1 1 02/21/14 Bit Với n=3  1 bit ~ khả Một “cấu hình” www.lhu.edu.vn Chương Các phương pháp tìm kiếm và sắp xếp Hàm tìm kiếm đệ qui /* Xác định thành phần xi đệ quy */ void Try( int i ) { int j; If (i > N) < ghi nhận cấu hình>; else { for (j thuộc tập khả đề cử ) if < chấp nhận khả ( j )> then { < Xác định xi theo khả ( j ) > ; Try( i+1); < bỏ việc ghi nhận khả ( j ) chọn cho xi >; } } } 02/21/14 www.lhu.edu.vn Chương Các phương pháp tìm kiếm và sắp xếp  Ví dụ: Liệt kê các dãy nhị phân có độ dài n  CTDL: Mảng byte: char X[20]; chứa dãy nhị phân tối đa 20 bit  Khả đề cử cho thành phần (1 bit) X[i] là: void Try(int i) { int j; if ( i > n ) InKetqua; else for (j =0; j

Ngày đăng: 27/01/2014, 14:20

Từ khóa liên quan

Mục lục

  • Các phương pháp sắp xếp và tìm kiếm

  • Chương 3 Các phương pháp tìm kiếm và sắp xếp

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

Tài liệu cùng người dùng

Tài liệu liên quan