1. Trang chủ
  2. » Vật lý

Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 5: Phương pháp sắp xếp đơn giản

10 11 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 10
Dung lượng 468,27 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phân tích hi ệu quả của giải thuật sắp xếp...[r]

Trang 1

Lecturer: PhD Ngo Huu Phuc

Tel: 0438 326 077 Mob: 098 5696 580 Email: ngohuuphuc76@gmail.com

Bài 5 Phương pháp sắp xếp đơn giản

Trang 2

Bài 5: Các phương pháp sắp xếp đơn giản

N ội dung:

6.1 Khái ni ệm và vai trò của sắp xếp (13)

6.2 S ắp xếp chèn (6)

6.3 S ắp xếp chọn (4)

6.4 S ắp xếp nổi bọt (4)

Tham kh ảo:

1 Lecture 16 Introduction to Sorting.htm

2 Data Structures and Algorithms Sorting.htm

Trang 3

5.1 Khái ni ệm và vai trò của sắp xếp

5.1.1 Các thuật toán sắp xếp

5.1.2 Vai trò của sắp xếp

5.1.3 Các vấn đề của sắp xếp

5.1.4 Một số ứng dụng của sắp xếp

5.1.5 Ý tưởng sắp xếp và phương pháp thực hiện 5.1.6 Phân tích hiệu quả của giải thuật sắp xếp

Trang 4

5.1.1 Các thu ật toán sắp xếp (1/2)

Th ế nào là sắp xếp?

 Đưa một dãy các đối tượng về dạng thứ bậc nào đó

Gi ải thuật sắp xếp dựa trên sự so sánh nào đó.

 Vi ệc sắp xếp chỉ dựa trên phép toán so sánh.

Các phép toán cơ bản của sắp xếp.

 So sánh.

 Tráo đổi giữa các phần tử.

Trang 5

5.1.1 Các thu ật toán sắp xếp (1/2)

 Phương pháp sắp xếp của chương này là sắp xếp trong

 Các giải thuật có thể thay thế cho nhau được

 Mỗi mảng có một số phần tử

 Thành phần để xem xét trong sắp xếp có thể so sánh được

 N là số phần tử cần sắp xếp

Trang 6

5.1.2 Vai trò c ủa sắp xếp (1/2)

 N ếu các đối tượng trong một mảng nào đó đã được sắp theo tr ật tự nào đó, có thể truy xuất thông tin nhanh chóng

và chính xác.

 Vi ệc xây dựng giải thuật cho phép sắp xếp từng phần tử

c ủa mảng sẽ mất nhiều thời gian, độ phức tạp của giải

thu ật cỡ O(n 2 ).

 ≈ 50,000,000,000,000 bước cho việc sắp một mảng có 10,000,000

ph ần tử

⇒ 500,000 giây = 58 ngày, với máy tính có thể thực hiện 100 triệu phép tính toán/giây.

 V ới giải thuật sắp xếp cho cả mảng, độ phức tạp của giải thu ật cỡ O(nlogn).

 ≈ 250 ,000,000 bước cho việc sắp một mảng có 10,000,000 phần tử

Trang 7

5.1.2 Vai trò c ủa sắp xếp (2/2)

 Như vậy, sắp xếp là giải thuật cơ bản.

 Thông thường, 25% khả năng của CPU dành

cho việc sắp xếp

 Sắp xếp là bước cơ bản cho một số giải thuật

khác, ví dụ: tìm kiếm nhị phân

 Có nhiều cách tiếp cận đến giải thuật sắp xếp,

từ đó, có nhiều giải thuật săp xếp khác nhau

Trang 8

5.1.3 Các v ấn đề của sắp xếp

S ắp xếp theo trật tự tăng hay giảm?

 V ới cùng một giải thuật sắp xếp, có thể dùng cho cả sắp theo tr ật tăng hay giảm, bằng việc thay đổi phép so sánh:

<= và >=.

Các khóa c ủa giải thuật sắp xếp?

 Có th ể dùng nhiều khóa cho cùng một giải thuật sắp xếp

C ần lưu ý đến ý tưởng của bài toán.

V ới các dữ liệu không phải là số thì sao?

 V ới chuỗi, sử dụng phép so sánh chuỗi, từ điển, hay quy

t ắc nào đó.

 Ví dụ: Sắp chuỗi Brown-Williams, Brown America, Brown,

Trang 9

5.1.4 M ột số ứng dụng của sắp xếp (1/2)

 Với kết quả của quá trình sắp xếp, một số vấn đề

có thể được thực hiện dễ dàng

 Nói chung, nếu có quá trình sắp xếp sẽ tăng tốc cho tìm kiếm trong ứng dụng cụ thể

 Ví dụ, nếu có một mảng đã sắp, có thể dễ dàng tìm được phần tử lớn thứ k trong mảng, với thời gian hằng số

Trang 10

5.1.4 M ột số ứng dụng của sắp xếp (2/2)

M ột số ứng dụng có dùng sắp xếp.

 Các từ trong từ điển đã được sắp xếp

 Thông thường, các Files trong thư mục được sắp theo một trật tự nào đó

 Trong thư viện, các quyển sách được sắp theo

một trật tự nào đó

 Các khóa học của một trường đại học được sắp theo khoa, theo mã của khóa học

 Các sự kiện được sắp theo thời gian

 …

Ngày đăng: 09/03/2021, 07:19

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w