quick sort

5
Nguyễn Ngọc Dũng - HCMUS https://ilaptrinh.wordpress.com/ Page 1 Quick Sort I. Tư tưởng thuật toán + Thuật toán Quick Sort chia không gian cần sắp xếp thành 2 không gian con là không gian con thứ 1 và không gian con thứ 2. + Không gian con thứ 1: tất cả các phần tử thuộc không gian này đều nhỏ hơn tất cả các phần tử thuộc không gian con 2. + Nếu không gian con thứ 1 có nhiều hơn 1 phần tử thì sắp xếp không gian con này bằng thuật toán Quick Sort. + Nếu không gian con thứ 2 có nhiều hơn 1 phần tử thì sắp xếp không gian con này bằng thuật toán Quick Sort. II. Chạy từng bước (Debug) + Lưu ý: Các bạn nên download về xem. Vì trong slide này có chứa animation. Do mình ko có thời gian làm file excel. Link: Quick sort debug – animated from nndung179 III. Cài đặt

Upload: dung-nguyen

Post on 02-Jun-2015

2.191 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Quick sort

Nguyễn Ngọc Dũng - HCMUS

https://ilaptrinh.wordpress.com/ Page 1

Quick Sort

I. Tư tưởng thuật toán

+ Thuật toán Quick Sort chia không gian cần sắp xếp thành 2

không gian con là không gian con thứ 1 và không gian con thứ

2.

+ Không gian con thứ 1: tất cả các phần tử thuộc không gian

này đều nhỏ hơn tất cả các phần tử thuộc không gian con 2.

+ Nếu không gian con thứ 1 có nhiều hơn 1 phần tử thì sắp

xếp không gian con này bằng thuật toán Quick Sort.

+ Nếu không gian con thứ 2 có nhiều hơn 1 phần tử thì sắp

xếp không gian con này bằng thuật toán Quick Sort.

II. Chạy từng bước (Debug)

+ Lưu ý: Các bạn nên download về xem. Vì trong slide này có

chứa animation. Do mình ko có thời gian làm file excel.

Link: Quick sort debug – animated from nndung179

III. Cài đặt

Page 2: Quick sort

Nguyễn Ngọc Dũng - HCMUS

https://ilaptrinh.wordpress.com/ Page 2

IV. Chứng minh độ phức tạp của thuật toán

+ Độ phức tạp của thuật toán Quick Sort phụ thuộc vào cách

chọn Pivot.

1. Trường hợp tốt nhất của Quick Sort – Pivot nằm ở vị trí

medium

+ Ở đây tôi lấy mốc là mid là phần tử nằm ở giữa => Lúc này

bài toán chứng minh này trở thành chứng minh độ phức tạp của

MergeSort

- Mảng 1 và mảng 2 sẽ có kích thước bằng nhau

Page 3: Quick sort

Nguyễn Ngọc Dũng - HCMUS

https://ilaptrinh.wordpress.com/ Page 3

2. Trường hợp xấu nhất của Quick Sort – Pivot nằm ở vị trí

min, max

+ Ở đây tôi lấy mốc là vị trí đầu hoặc cuối.

- Mảng 1 có 1 phần tử

- Mảng 2 sẽ có (độ dài mảng – 1)

Page 4: Quick sort

Nguyễn Ngọc Dũng - HCMUS

https://ilaptrinh.wordpress.com/ Page 4

Page 5: Quick sort

Nguyễn Ngọc Dũng - HCMUS

https://ilaptrinh.wordpress.com/ Page 5

V. Ưu điểm & Khuyết điểm