Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Successfully reported this slideshow.

Like this presentation? Why not share!

No Downloads

Total views

632

On SlideShare

0

From Embeds

0

Number of Embeds

2

Shares

0

Downloads

0

Comments

0

Likes

3

No embeds

No notes for slide

- 1. Cấu trúc dữliệu và giải thuật
- 2. Tìm kiếm Merge Quick Sortnhị phân Sort
- 3. • Tìm kiếm trên Tìm mảng tăng dần.kiếm nhị phân • 30 lần tìm kiếm cho 1 tỉ dữ liệu. Merge • Thuật toán sắp Sort xếp nhanh. • Thuật toán sắp Quick xếp nhanh Sort nhất.
- 4. Minh Họa Thuật Toán Tìm Nhị Phân
- 5. Minh Họa Thuật Toán Tìm Nhị PhânTìm thấy 2 tại vị trí 1 X=2 L M R 1 2 4 6 7 9 10 0 1 2 3 4 5 6
- 6. Minh Họa Thuật Toán Tìm Nhị Phân (tt) X=-1 L M R 1 2 4 6 7 9 10 0 1 2 3 4 5 6L=0R=-1 => không tìm thấy X=-1
- 7. Minh Họa Thuật Toán Tìm Nhị Phân (tt)Cho mảng sau: 2 2 2 3 7 8 9 10 15.1. Tìm phần tử k=15.2. Tìm phần tử k=2 và cho biết số 2 được tìm thấy nằm ở đâu trong mảng.
- 8. Merge Sort – thuật toán
- 9. Merge Sort – Ví Dụ k=1Phân phối luân phiên 0 1 2 3 4 5 6 7 12 2 8 5 1 6 4 15
- 10. Merge Sort – Ví Dụk = 1 Phân phối luân phiên 0 1 2 3 4 5 6 712 2 8 5 1 6 4 15
- 11. Merge Sort – Ví DụTrộn từng cặp đường chạy0 1 2 3 4 5 6 712 8 1 42 5 6 15
- 12. Merge Sort – Ví Dụk = 1 Trộn từng cặp đường chạy0 1 2 3 4 5 6 712 8 1 42 5 6 15
- 13. Merge Sort – Ví Dụk = 2 Phân phối luân phiên2 12 5 8 1 6 4 150 1 2 3 4 5 6 7
- 14. Merge Sort – Ví Dụk = 2 Trộn từng cặp đường chạy0 1 2 3 4 5 6 72 12 1 65 8 4 15
- 15. Merge Sort – Ví Dụk = 2 Trộn từng cặp đường chạy 0 1 2 3 4 5 6 7 2 12 1 6 5 8 4 15
- 16. Merge Sort – Ví Dụk = 4 Phân phối luân phiên2 5 8 12 1 4 6 150 1 2 3 4 5 6 7
- 17. Merge Sort – Ví Dụk = 4 Trộn từng cặp đường chạy 0 1 2 3 4 5 6 7 2 5 8 12 1 4 6 15
- 18. Merge Sort – Ví Dụk = 4 Trộn từng cặp đường chạy 0 1 2 3 4 5 6 7 2 5 8 12 1 4 6 15
- 19. Merge Sort – Ví Dụk = 80 1 2 3 4 5 6 71 2 4 5 6 8 12 15
- 20. Merge Sort – Ví Dụ1 2 3 4 5 6 7 81 2 4 5 6 8 12 15
- 21. Merge Sort – Ví DụCho ví dụ
- 22. Quick Sort1. X là phần tử nằm giữa mảng.2. Tìm các phần tử bên trái X mà lớn hơn X, đưa các phần tử nàyvề phía bên phải X.3. Tìm các phần tử bên phải X mà nhỏ hơn X, đưa các phần tử nàyvề bên trái X. Mảng chính sẽ phân hoạch thành 3 phần: • Phần 1: Gồm các phần tử có giá trị bé hơn x • Phần 2: Gồm các phần tử có giá trị bằng x • Phần 3: Gồm các phần tử có giá trị lớn hơn x Lặp lại các bước trên với phần 1 và phần 2
- 23. Quick Sort
- 24. Quick Sort – Ví Dụ • Cho dãy số a: 12 2 8 5 1 6 4 15Phân hoạch đoạn l =0, r = 7: x = a[3] = 5 12 2 8 5 1 6 4 15 l=0 r=7
- 25. Quick Sort – Ví Dụ 4 2 8 5 1 6 12 15 i=0 j=6l=0 r=7 4 2 8 5 1 6 12 15 i=1 i=2l=0 j=3 j=4 j=5 r=7
- 26. Quick Sort – Ví Dụ• Phân hoạch đoạn l = 0, r = 2:4 2 1 5 8 6 12 15l=0 r =3i=0 j=2
- 27. Quick Sort – Ví Dụ• Phân hoạch đoạn l =4, r = 7:1 2 4 5 8 6 12 15 l=4 r =7 i=4 j=6 j=6 j=71 2 4 5 i=6 4 8 12 15 l=4 r =7
- 28. Quick Sort – Ví Dụ• Phân hoạch đoạn l =6, r = 7:1 2 4 5 6 8 12 15
- 29. Quick Sortvoid QuickSort(int a[], int left, int right){ int i, j, x; x = a[(left+right)/2]; i = left; j = right; do { while(a[i] < x) i++; while(a[j] > x) j--; if(i <= j) { Swap(a[i],a[j]); i++ ; j--; } } while(i <= j); if(left<j) QuickSort(a, left, j); if(i<right) QuickSort(a, i, right);}
- 30. Quick Sort – Ví Dụ Phân hoạch đọan [0,7] i j 0 1 2 3 4 5 6 7 12 2 8 5 5 1 6 4 15left X righ t
- 31. Quick Sort – Ví Dụ Phân hoạch đọan [0,7] X 5 i j 0 1 2 3 4 5 6 7 4 2 8 5 1 6 12 15 left righ t
- 32. Quick Sort – Ví Dụ Phân hoạch đọan [0,2] j i 0 1 2 3 4 5 6 7 4 2 1 5 8 6 12 15 left righ t
- 33. Phân hoạch đọan [0,2] i j 0 1 2 3 4 5 6 7 4 2 1 5 8 6 12 15 X left righ t
- 34. Quick Sort – Ví Dụ Phân hoạch đọan [4,7] i j 0 1 2 3 4 5 6 7 1 2 4 5 8 6 12 15 X left righ t
- 35. Quick Sort – Ví Dụ Phân hoạch đọan [5,7] j i 0 1 2 3 4 5 6 7 1 2 4 5 6 8 12 15 left righ t
- 36. Quick Sort – Ví Dụ Phân hoạch đọan [5,7] i j 0 1 2 3 4 5 6 7 1 2 4 5 6 8 12 15 left righ t
- 37. Quick Sort – Ví Dụ Quick Sort – Ví Dụ0 1 2 3 4 5 6 71 2 4 5 6 8 12 15
- 38. Quick Sort – Ví DụCho ví dụ

No public clipboards found for this slide

Be the first to comment