1. Trang chủ
  2. » Vật lí lớp 12

Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 6: Sắp xếp nhanh - Quick Sorts

10 15 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 795,55 KB

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

Nội dung

Bài gi ảng của TS Nguyễn Nam Hồng.[r]

Trang 1

Lecturer: PhD Ngo Huu Phuc

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

C ấu trúc dữ liệu và giải thuật

Bài 6 Sắp xếp nhanh - Quick Sorts

Trang 2

ội dung:

6.1 Thu ật toán QuickSort (6)

6.2 Ví d ụ về QuickSort (7)

6.3 Ho ạt động của QuickSort (6)

6.4 Hi ệu quả của QuickSort (6)

1 Intro to Algorithms Chapter 8 QuickSort.htm

2 Lecture 5 – quicksort.htm

3 Quick Sort.htm

4 Bài gi ảng của TS Nguyễn Nam Hồng

Trang 3

6.1 Thu ật toán QuickSort (1/6)

 Gi ải thuật Quick-sort là

phương pháp sắp xếp dựa

trên chi ến lược chia để trị.

 Gi ải thuật gồm các bước:

 Phép chia : ch ọn ngẫu nhiên

m ột phần tử x làm khóa,

chia t ập dữ liệu S ban đầu

thành 3 ph ần:

L ch ứa các phần tử nhỏ hơn x

E ch ứa các phần tử bằng x

G ch ứa các phần tử lớn hơn x

 Bước lặp : sắp xếp 2 tập L

và G

 Hi ệu chỉnh lại các tập L, E

và G

x

x

x

Trang 4

Các bước cơ bản của thuật toán:

 Chia tập dữ liệu ban đầu thành 2 tập con:

 sao cho, tất cả các phần tử bên trái nhỏ hơn tất

cả các phần tử bên phải

 Sắp xếp 2 tập con một cách độc lập và nối chúng

lại với nhau:

 như vậy, ta được dãy đã sắp xếp

Trang 5

6.1 Thu ật toán QuickSort (3/6)

 Với mỗi tập con trên, mỗi tập chia thành 02 tập con nếu có thể

 như vậy, ta có tối đa 04 tập con

 tập các phần tử nhỏ nhất ở bên trái cùng, tập các phần tử lớn nhất ở bên phải cùng

 Lặp lại quá trình trên cho đến khi tập chỉ có 1

phần tử

 nối tất cả các tập với nhau ta được dãy đã sắp

xếp

Trang 6

 Trên tập S, lấy mỗi phần tử y được lấy ra khỏi

tập

 Đưa phần tử y vào tập L, E hay G, tùy thuộc

vào phép so sánh với khóa x

 Với mỗi phép lấy 1 phần tử và đưa chúng vào tập tương ứng, độ phức tạp của phép toán đó là

O(1).

 Như vậy, phép chia dữ liệu của thuật toán

QuickSort có độ phức tạp O(n).

Trang 7

6.1 Thu ật toán QuickSort (5/6)

7 4 9 6 2 → 2 4 6 7 9

Trang 8

QuickSort được mô tả qua

cây nh ị phân:

 M ỗi node biểu diễn một

l ần gọi đệ quy và lưu giữ:

 Dãy chưa được sắp xếp và

khóa.

 Dãy sau khi sắp xếp.

 Gốc của cây là lần gọi đệ

quy đầu tiên

 Các lá c ủa cây là lần gọi

ứng với dãy con có kích

thước 0 hoặc 1.

Trang 9

6.2 Ví d ụ về QuickSort (1/7)

 Chọn khóa

Ngày đăng: 10/03/2021, 16:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w