1. Trang chủ
  2. » Công Nghệ Thông Tin

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

3 415 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 746,79 KB

Nội dung

Các phương pháp sắp xếp và tìm kiếm Các phương pháp sắp xếp và tìm kiếm Chương 3 Các phương pháp sắp xếp 4 Đệ qui 1 Tìm kiếm đệ qui 2 Các phương pháp tìm kiếm 3 Nội dung N N ộ ộ i dung i dung 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p  Tìm kiếm sắp xếp dữ liệu là hai thao tác thường xuyên được thực hiện trong khai thác thông tin  Tùy thuộc vào cấu trúc lưu trữ của dữ liệu các thuật toán được xây dựng có mức độ hiệu quả khác nhau  Có thể chia thành hai nhóm: các thuật toán thao tác trên bộ nhớ chính (RAM) trên bộ nhớ ngoài (các ổ đĩa) V V ấ ấ n đ n đ ề ề t t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p d p d ữ ữ li li ệ ệ u u 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p Kh Kh á á i ni i ni ệ ệ m m  Một đối tượng X gọi là được đ đ ị ị nh ngh nh ngh ĩ ĩ a đ a đ ệ ệ qui qui nếu trong phát biểu của X có dùng chính đối tượng X Ví dụ: “Người giàu là người có nhiều tài sản hoặc có cha mẹ là người giàu” – trực tiếp “Gà  Trứng  Gà” – gián tiếp  Định nghĩa bằng đệ quy có ưu điểm:  Sáng sủa  Dễ hiểu  Nêu bật được vấn đề Đ Đ ệ ệ qui qui 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p Kh Kh á á i ni i ni ệ ệ m m  Một chương trình đệ qui là chương trình gọi đến chính nó trong 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 của đệ qui  Không phải bài toán nào cũng dùng đệ qui được  Sử dụng nhiều bộ nhớ để lưu trữ tạm thời các biến trong lúc chạy đệ qui Đ Đ ệ ệ qui qui 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p Kh Kh á á i ni i ni ệ ệ m m  Một định nghĩa đệ qui thường có 2 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! = 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 về thành phần cố định Ví dụ: n! = n*(n-1)! Nếu n > 1 Đ Đ ệ ệ qui qui 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p  Một hàm đệ quy về căn bản luôn gồm 2 phần.  Phần dừng: Chứa các tác động của hàm ứng với 1 số giá trị ban đầu của tham số  Phần hạ bậc: Chứa lời gọi thực hiện hàm với tham số có phạm vi nhỏ hơn. H H à à m đ m đ ệ ệ qui qui Ví dụ: Xây dựng hàm tính n! theo đệ qui. long giaithua(int n) { if (n == 0 || n == 1) return 1; else return (n * giaithua(n-1)); } Ví dụ: Tính UCLN(x,y) theo thuật toán Euclide int ucln(int x, int y) { if (y == 0) return x; else return (ucln(y, x % y)); } 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p Xây d Xây d ự ự ng d ng d ầ ầ n c n c á á c th c th à à nh ph nh ph ầ ầ n c n c ủ ủ a m a m ộ ộ t l t l ờ ờ i gi i gi ả ả i hay m i hay m ộ ộ t c t c ấ ấ u u h h ì ì nh b nh b ằ ằ ng c ng c á á ch th ch th ử ử t t ấ ấ t c t c ả ả c c á á c kh c kh ả ả năng năng . . V V í í d d ụ ụ : li : li ệ ệ t kê c t kê c á á c dãy nh c dãy nh ị ị phân c phân c ó ó đ đ ộ ộ d d à à i n bit i n bit V V ớ ớ i n=3 i n=3   T T ì ì m ki m ki ế ế m đ m đ ệ ệ qui qui Bit 2 Bit 1 Bit 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Một “cấu hình” 3 bit ~ 8 khả năng 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p /* Xác định thành phần xi bằng đệ quy */ void Try( int i ) { int j; If (i > N) < ghi nhận 1 cấu hình>; else { for (j thuộc tập khả năng đề cử ) if < chấp nhận khả năng ( j )> then { < Xác định xi theo khả năng ( j ) > <Ghi nhận khả năng ( j ) đã được chọn cho xi >; Try( i+1); < bỏ việc ghi nhận khả năng ( j ) đã chọn cho xi >; } } } H H à à m t m t ì ì m ki m ki ế ế m đ m đ ệ ệ qui qui 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p 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ả năng đề cử cho 1 thành phần (1 bit) X[i] là: 0 1 void Try(int i) { int j; if ( i > n ) InKetqua; else for (j =0; j<2; j++) { X[i] = j; Try( i + 1 ); } } 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p  Bài toán Tháp Hà Nội  Bài toán liệt kê hoán vị  Bài toán 8 quân Hậu  Bài toán Mã đi tuần M M ộ ộ t s t s ố ố v v í í d d ụ ụ cơ b cơ b ả ả n v n v ề ề đ đ ệ ệ qui qui 3/11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p  Sinh viên chia nhóm thực hiện: mỗi nhóm từ 3-5 người  Bốc thăm 2 trong số các thuật toán để tìm hiểu và Seminar C C á á c thu c thu ậ ậ t to t to á á n t n t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p  Yêu cầu tìm hiểu  Ý tưởng thuật toán  Ví dụ minh họa  Cài đặt chương trình  Nhận xét đánh giá  Tài liệu tham khảo  Yêu cầu Seminar  Tạo Slide PowerPoint  Trình bày trong 15 phút  Trao đổi thảo luận  Trả lời thắc mắc . Các phương pháp sắp xếp và tìm kiếm Các phương pháp sắp xếp và tìm kiếm Chương 3 Các phương pháp sắp xếp 4 Đệ qui 1 Tìm kiếm đệ qui 2 Các phương pháp tìm kiếm 3 Nội dung N N ộ ộ i. dung N N ộ ộ i dung i dung 3/ 11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p t p t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p p  Tìm kiếm và sắp xếp dữ liệu là hai. nhớ ngoài (các ổ đĩa) V V ấ ấ n đ n đ ề ề t t ì ì m ki m ki ế ế m v m v à à s s ắ ắ p x p x ế ế p d p d ữ ữ li li ệ ệ u u 3/ 11/2010 www.lhu.edu.vn Chương Chương 3 C 3 C á á c phương c phương phá phá p

Ngày đăng: 31/03/2014, 19:20

TỪ KHÓA LIÊN QUAN

w