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

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

(1)

Lecturer: PhD Ngo Huu Phuc Tel: 0438 326 077 Mob: 098 5696 580

Email: ngohuuphuc76@gmail.com

Cấu trúc liệu giải thuật

(2)

ội dung:

6.1 Thuật toán QuickSort (6) 6.2 Ví dụ QuickSort (7)

6.3 Hoạt động QuickSort (6) 6.4 Hiệu QuickSort (6)

Tham khảo:

1 Intro to Algorithms Chapter QuickSort.htm Lecture – quicksort.htm

3 Quick Sort.htm

(3)

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

 Giải thuật Quick-sort

phương pháp xếp dựa chiến lược chia để trị

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

 Phép chia: chọn ngẫu nhiên phần tử x làm khóa,

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

thành phần:

L chứa phần tử nhỏ x

E chứa phần tử x

G chứa phần tử lớn x  Bước lặp: xếp tập L

G

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

G

x

x

L E G

(4)

Các bước thuật toán:

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

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

 Sắp xếp tập cách độc lập nối chúng lại với nhau:

(5)

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

 Với tập trên, tập chia thành 02 tập

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

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

 Lặp lại trình tập có phần tử

(6)

 Trên tập S, lấy phần tử y lấy 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 phép lấy phần tử đưa chúng vào tập tương ứng, độ phức tạp phép tốn

O(1)

(7)

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

7 2 6 7 9

4 2 4 7 7 9

(8)

QuickSort mô tả qua nhị phân:

 Mỗi node biểu diễn lần gọi đệ quy lưu giữ:

 Dãy chưa xếp khóa

 Dãy sau xếp

 Gốc lần gọi đệ quy

(9)

6.2 Ví dụ QuickSort (1/7)

(10)

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

Xem thêm:

TỪ KHÓA LIÊN QUAN