1. Trang chủ
  2. » Thể loại khác

Chương 2 TÌM KI M & S P X P2.1. Các gi i thu t tìm ki m 2.1.1. Bài toán tìm ki m 2.1.2. Gi pptx

79 651 0

Đ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

Thông tin cơ bản

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

Nội dung

Chương TÌM KI M & S P X P 2.1 Các gi i thu t tìm ki m 2.1.1 Bài tốn tìm ki m 2.1.2 Gi i thu t tìm ki m n tính 2.1.3 Gi i thu t Tìm ki m nh phân 2.2 Các gi i thu t s p x p 2.2.1 Bài toán s p x p 3.2.1 Gi i thu t ñ i ch tr c ti p –Interchange Sort 3.2.2 Gi i thu t ch n tr c ti p-Selection Sort 3.2.3 Gi i thu t chèn tr c ti p-Insert Sort 3.2.4 Gi i thu t n i b t – Bubble Sort 3.2.5 Gi i thu t nhanh – Quick Sort 2.3 Bài t p © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á 2.1 Các Gi i Thu t Tìm Ki m 2.1.1 Bài tốn tìm ki m 2.1.2 Gi i thu t tìm ki m n tính 2.1.3 Gi i thu t Tìm ki m nh phân © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á 2.1.1 Bài Tốn Tìm Ki m Trong th c t , thao tác, khai thác d li u h u lúc ph i th c hi n thao tác tìm ki m K t qu c a vi c tìm ki m có th ho c tìm th y khơng tìm th y N u k t qu tìm th y nhi u cịn ph i xác đ nh xem v trí c a ph n t tìm th y đâu? Vi c tìm ki m nhanh hay ch m tùy thu c vào tr ng thái tr t t c a d li u Có thu t tốn chính: Tìm ki m n tính & Tìm ki m nh phân © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Gi s có m t m ng M g m N ph n t V n ñ ñ t có hay khơng ph n t có giá tr b ng X m ng M? N u có ph n t có giá tr b ng X ph n t th m y m ng M? © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á 2.1.2 Gi i Thu t Tìm Ki m Tuy n Tính Ý Tư ng: Ti n hành so sánh x v i ph n t th nh t, th hai…c a m ng A cho ñ n g p ñư c ph n t có khóa c n tìm, ho c tìm h t m ng mà không th y x Ưu m: Thu t tốn có th cho ta th c hi n tìm ki m ph n t m ng chưa ñư c s p x p Như c ñi m: S m t r t nhi u th i gian n u ph n t c n tìm © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Minh H a VD:Tìm x = 14 Chưa h t m ng Tìm th y t i v trí th 14 12 14 10 7 10 VD:Tìm x = 30 30 12 14 10 7 H tChưa m ng h t khơng tìm m ng th y 10 © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Gi i thu t: Bư c : i = 1; // B t ñ u t ph n t ñ u tiên c a dãy Bư c : So sánh a[i] v i x, có kh • a[i] = x ; // Tìm th y.D ng • a[i] != x ; // Th c hi n bư c Bư c : • i = i+1; // xét ph n t k ti p m ng • N u i > N // H t m ng.Khơng tìm th y.D ng Ngư c l i: L p l i bư c © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Cài ð t Int Timtuyentinh (int a[] , int N , int x) { int i = 0; while((i < N) && (a[i] != x)) i++; if( i == N) return -1 ; // tìm h t m ng khơng có x else return i ; //a[i] ph n t có khóa x } ðánh giá gi i thu t ð ph c t p tính tốn c p n: T(n)=O(n) © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á 2.1.3 Gi i Thu t Tìm Ki m Nh Phân Ý Tư ng: - L n tìm ki m ban đ u ph n t ñ u tiên c a dãy (First = 1) ñ n ph n t cu i c a dãy (Last = N) - So sánh giá tr X v i giá tr ph n t ñ ng gi a c a dãy M M[Mid] - N u X = M[Mid]: Tìm th y - N u X < M[Mid]: Rút ng n ph m vi tìm ki m v n a ñ u c a dãy M (Last = Mid–1) - N u X > M[Mid]: Rút ng n ph m vi tìm ki m v n a sau c a dãy M (First = Mid+1) - L p l i q trình cho đ n tìm th y ph n t có giá tr X ho c ph m vi tìm ki m khơng cịn n a (First > Last) © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Ưu m: Thu t tốn tìm nh phân s rút ng n đáng k th i gian tìm ki m Như c ñi m: Ch th c hi n ñư c dãy ñã có th t 10 © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Minh H a Cho dãy có ph n t S p x p theo vi trí tăng d n i=1; j=8 L 10 R X=3 15 i j L=1 R=8 ðo n 65 ðo n c n s px p © Dương Thành Ph t-www.thayphet.net ðo n L=1 R=3 L=4 R=8 Khoa CNTT Trư ng TC TÂY NAM Á Minh H a Cho dãy có ph n t S p x p theo vi trí tăng d n i=4; j=8 L R X=5 15 L=4 R=8 66 i L=1 R=3 ðo n ðo n L=4 R=5 10 L=5 R=8 ðo n c n s px p © Dương Thành Ph t-www.thayphet.net j Khoa CNTT Trư ng TC TÂY NAM Á Minh H a Cho dãy có ph n t S p x p theo vi trí tăng d n i=5; j=8 L L=5 R=8 L=4 R=5 L=1 R=3 67 ðo n c n s px p © Dương Thành Ph t-www.thayphet.net X=7 R 15 10 i j ðo n L=6 R=8 Khoa CNTT Trư ng TC TÂY NAM Á Minh H a Cho dãy có ph n t S p x p theo vi trí tăng d n i=6; j=8 L L=6 R=8 X=15 R 15 10 L=4 R=5 L=1 R=3 68 i ðo n ðo n c n s px p © Dương Thành Ph t-www.thayphet.net j L=6 R=7 Khoa CNTT Trư ng TC TÂY NAM Á Minh H a Cho dãy có ph n t S p x p theo vi trí tăng d n i=6; j=7 X=15 L L=6 R=7 L=4 R=5 R 10 i j 15 L=1 R=3 69 ðo n c n s px p © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Minh H a Cho dãy có ph n t S p x p theo vi trí tăng d n i=4; j=5 X=5 L L=4 R=5 R i j 10 15 L=1 R=3 70 ðo n c n s px p © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Minh H a Cho dãy có ph n t S p x p theo vi trí tăng d n i=1; j=3 L X=2 R i 10 15 j L=1 R=3 71 ðo n c n s px p © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Minh H a Cho dãy có ph n t S p x p theo vi trí tăng d n 10 15 Khơng cịn đo n c n s p x p 72 ðo n c n s px p © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á 15 15 10 15 10 ðo n [6- 8] 10 15 ðo n [6- 7] 10 ðo n [1- 8] 10 ðo n [4- 8] ðo n [5- 8] ðo n [4- 5] ðo n [1- 3] 73 © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Gi i thu t: Bư c 1: i=1; Bư c 2: j=N; Trong (j>i) th c hi n: N u a[j]N-1: H t dãy, d ng Ngư c l i: L p l i Bư c 74 © Dương Thành Ph t-www.thayphet.net Khoa CNTT Trư ng TC TÂY NAM Á Cài ð t 75 void QuickSort(int M[], int First, int Last) { int i, j, tam, x; x = M[(First+Last)/2]; i = First; j = Last; { while (M[i] X) j ; if (i

Ngày đăng: 26/07/2014, 03:22

TỪ KHÓA LIÊN QUAN

w