SlideShare a Scribd company logo
Nguyễn Ngọc Dũng - HCMUS



Heap Sort
I. Khái niệm
1. Định nghĩa Heap
- Định nghĩa Heap sơ khởi: Heap là 1 cây nhị phân đầy đủ.
+ vd1:




- Mỗi node trong Heap chứa 1 giá trị có thể so sánh với giá trị của
node khác
2. Tính chất Heap
+ Max Heap: Giá trị của mỗi node >= giá trị của các node con nó
=> Node lớn nhất là node gốc
+ Min Heap: Giá trị của mỗi node <= giá trị của các node con nó
=> Node nhỏ nhất là node gốc

+ vd2:




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/    Page 1
Nguyễn Ngọc Dũng - HCMUS




+vd3:




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/   Page 2
Nguyễn Ngọc Dũng - HCMUS


3. Biểu diễn Heap bằng mảng




- Thứ tự lưu trữ trên mảng được thực hiện từ trái => phải
- Nếu ta biết được chỉ số của 1 phần tử trên mảng, ta sẽ dễ dàng xác
định được chỉ số của node cha và các node con của nó.
- Node gốc ở chỉ số 0
- Node cha của node i có chỉ số (i – 1)/2
- Các node con của node i (nếu có) có chỉ số [2i + 1] và [2i + 2]
- Node cuối cùng có con trong 1 Heap có n phần tử là: [n/2 - 1]

4. Thao tác điều chỉnh 1 phần tử (Heapify)
4.1/ Chạy từng bước (Debug)
- Tôi sẽ tiến hành Heapify theo Max Heap. Tức là node con của node
đang xét mà lớn hơn node cha thì tiến hành đổi chỗ



    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/    Page 3
Nguyễn Ngọc Dũng - HCMUS




4.2/ Cài đặt




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/   Page 4
Nguyễn Ngọc Dũng - HCMUS




5. Xây dụng Heap (BuildHeap)
5.1/ Khái niệm
- Tất cả các phần tử trên mảng có chỉ số [n/2] đến [n - 1] đều là
node lá
- Mỗi node lá được xem là Heap có duy nhất 1 phần tử
- Thực hiện thao tác Heapify trên các phần tử có chỉ số từ [n/2 - 1]
=> 0 ta sẽ tạo được 1 Heap có n phần tử
5.2/ Cài đặt




5.3/ Xây dựng mảng sau thành Heap


    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/    Page 5
Nguyễn Ngọc Dũng - HCMUS


- Ở mục này tôi sẽ tiến hành chay từng bước hàm BuildHeap
- Lưu ý: Tôi sẽ Build Heap trên mảng với Max Heap
- Ví dụ:




- Theo hàm BuildHeap khởi tạo biến i = n/2 – 1
+ Ta thấy mảng trên có 10 phần tử
=> i = 10/2 – 1 = 4
=> Vậy ta sẽ bắt đầu ở vị trí 4 của mảng trên




- Ta thấy vị trí 4 có giá trị là 7 và con của nó là 9
+ Ta nhận thấy 9 > 4 => Ta đổi chỗ 2 thằng này




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/   Page 6
Nguyễn Ngọc Dũng - HCMUS




+ Sau khi hoán vị xong ta giảm i (i--). Theo hàm BuildHeaps




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/     Page 7
Nguyễn Ngọc Dũng - HCMUS




https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/   Page 8
Nguyễn Ngọc Dũng - HCMUS




+ Sau khi xây dụng Heap xong => Ta nhận thấy còn 1 vị trí ko tuân
theo quy luật Max Heap: 5 và con của 5 là 15 và 1: 15 > 5 và 15 > 1
=> Đổi chỗ 15 và 1




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/    Page 9
Nguyễn Ngọc Dũng - HCMUS




=> Kết quả của mảng:




6. Thuật toán HeapSort
6.1) Tư tưởng thuật toán HeapSort
-B1: Xây dựng Heap
=> Sử dụng thao tác Heapify để chuyển đổi mảng bình thường thành
Heap

-B2: Sắp xếp
+ Hoán vị phần tử cuối cùng của Heap với phần tử đầu tiên của Heap
+ Loại bỏ phần tử cuối cùng
+ Thực hiện thao tác Heapify để điều chỉnh phần tử đầu tiên

6.2) Cài đặt HeapSort




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/   Page 10
Nguyễn Ngọc Dũng - HCMUS




7. Chứng minh số node của Heap với chiều cao là h
+ Tham khảo cách chứng mình số node của
BST:http://ilaptrinh.wordpress.com/2012/12/31/chung-minh-so-node-
cay-nhi-phan-tim-kiem-bst/




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/   Page 11
Nguyễn Ngọc Dũng - HCMUS




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




    https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/   Page 12

More Related Content

What's hot

Dịch nghĩa và giải thích chi tiết starter toeic unit 4
Dịch nghĩa và giải thích chi tiết starter toeic unit 4Dịch nghĩa và giải thích chi tiết starter toeic unit 4
Dịch nghĩa và giải thích chi tiết starter toeic unit 4
my nguyễn
 
C2.tthcm về vấn đề dân tộc và cmgpdt
C2.tthcm về vấn đề dân tộc và cmgpdtC2.tthcm về vấn đề dân tộc và cmgpdt
C2.tthcm về vấn đề dân tộc và cmgpdtSusutryoh
 
Một số công thức hóa học nên nhớ
Một số công thức hóa học nên nhớMột số công thức hóa học nên nhớ
Một số công thức hóa học nên nhớ
Doan Hau
 
BÀI TẬP DẠY THÊM VẬT LÝ 11 CẢ NĂM (KẾT NỐI TRI THỨC) - NĂM HỌC 2023-2024 (BẢN...
BÀI TẬP DẠY THÊM VẬT LÝ 11 CẢ NĂM (KẾT NỐI TRI THỨC) - NĂM HỌC 2023-2024 (BẢN...BÀI TẬP DẠY THÊM VẬT LÝ 11 CẢ NĂM (KẾT NỐI TRI THỨC) - NĂM HỌC 2023-2024 (BẢN...
BÀI TẬP DẠY THÊM VẬT LÝ 11 CẢ NĂM (KẾT NỐI TRI THỨC) - NĂM HỌC 2023-2024 (BẢN...
Nguyen Thanh Tu Collection
 
TÀI LIỆU HỌC GIỎI TIẾNG ANH GLOBAL SUCCESS 6 CÓ FILE NGHE (ĐẠI LỢI) - TẬP 2 (...
TÀI LIỆU HỌC GIỎI TIẾNG ANH GLOBAL SUCCESS 6 CÓ FILE NGHE (ĐẠI LỢI) - TẬP 2 (...TÀI LIỆU HỌC GIỎI TIẾNG ANH GLOBAL SUCCESS 6 CÓ FILE NGHE (ĐẠI LỢI) - TẬP 2 (...
TÀI LIỆU HỌC GIỎI TIẾNG ANH GLOBAL SUCCESS 6 CÓ FILE NGHE (ĐẠI LỢI) - TẬP 2 (...
Nguyen Thanh Tu Collection
 
Chương 8 tinh chong chiu cua thuc vat
Chương 8 tinh chong chiu cua thuc vatChương 8 tinh chong chiu cua thuc vat
Chương 8 tinh chong chiu cua thuc vatdoivaban93
 
Mật thư trò chơi lớn (tóm tắt)
Mật thư trò chơi lớn (tóm tắt)Mật thư trò chơi lớn (tóm tắt)
Mật thư trò chơi lớn (tóm tắt)
Tan Tran
 
TƯ TƯỞNG HỒ CHÍ MINH VỀ CHỦ NGHĨA XÃ HỘI
TƯ TƯỞNG HỒ CHÍ MINH VỀ CHỦ NGHĨA XÃ HỘITƯ TƯỞNG HỒ CHÍ MINH VỀ CHỦ NGHĨA XÃ HỘI
TƯ TƯỞNG HỒ CHÍ MINH VỀ CHỦ NGHĨA XÃ HỘI
Bee Bee
 
Chương 3,ttuong
Chương 3,ttuongChương 3,ttuong
Chương 3,ttuongmai_mai_yb
 
Tóm tắt công thức vật lí 10
Tóm tắt công thức vật lí 10Tóm tắt công thức vật lí 10
Tóm tắt công thức vật lí 10Borisun
 
Phan ung the o nhan thom
Phan ung the o nhan thomPhan ung the o nhan thom
Phan ung the o nhan thom
Nguyen Thanh Tu Collection
 
56 câu hỏi tự luận và đáp án môn Tư tưởng Hồ Chí Minh
56 câu hỏi tự luận và đáp án môn Tư tưởng Hồ Chí Minh 56 câu hỏi tự luận và đáp án môn Tư tưởng Hồ Chí Minh
56 câu hỏi tự luận và đáp án môn Tư tưởng Hồ Chí Minh
Phước Nguyễn
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
Nguyen Thanh Tu Collection
 
BG MÔN LSĐ chương III.pptx
BG MÔN LSĐ chương III.pptxBG MÔN LSĐ chương III.pptx
BG MÔN LSĐ chương III.pptx
dangnguyen750348
 
Công thức vật lý lớp 11
Công thức vật lý lớp 11Công thức vật lý lớp 11
Công thức vật lý lớp 11Vô Ngã
 
đườNg lối kháng chiến chống thực dân pháp
đườNg lối kháng chiến chống thực dân phápđườNg lối kháng chiến chống thực dân pháp
đườNg lối kháng chiến chống thực dân pháp
Lớp kế toán trưởng
 
CHUYÊN ĐỀ GIỚI HẠN VÀ TÍNH LIÊN TỤC HÀM SỐ & ĐỀ KIỂM TRA - CHƯƠNG 4 ĐẠI SỐ 11...
CHUYÊN ĐỀ GIỚI HẠN VÀ TÍNH LIÊN TỤC HÀM SỐ & ĐỀ KIỂM TRA - CHƯƠNG 4 ĐẠI SỐ 11...CHUYÊN ĐỀ GIỚI HẠN VÀ TÍNH LIÊN TỤC HÀM SỐ & ĐỀ KIỂM TRA - CHƯƠNG 4 ĐẠI SỐ 11...
CHUYÊN ĐỀ GIỚI HẠN VÀ TÍNH LIÊN TỤC HÀM SỐ & ĐỀ KIỂM TRA - CHƯƠNG 4 ĐẠI SỐ 11...
Hoàng Thái Việt
 
Công thức tính nhanh điện xoay chiều
Công thức tính nhanh điện xoay chiềuCông thức tính nhanh điện xoay chiều
Công thức tính nhanh điện xoay chiều
tuituhoc
 
S12 bai 18 chon giong vat nuoi va cay trong
S12 bai 18 chon giong vat nuoi va cay trongS12 bai 18 chon giong vat nuoi va cay trong
S12 bai 18 chon giong vat nuoi va cay trongkienhuyen
 

What's hot (20)

Dịch nghĩa và giải thích chi tiết starter toeic unit 4
Dịch nghĩa và giải thích chi tiết starter toeic unit 4Dịch nghĩa và giải thích chi tiết starter toeic unit 4
Dịch nghĩa và giải thích chi tiết starter toeic unit 4
 
C2.tthcm về vấn đề dân tộc và cmgpdt
C2.tthcm về vấn đề dân tộc và cmgpdtC2.tthcm về vấn đề dân tộc và cmgpdt
C2.tthcm về vấn đề dân tộc và cmgpdt
 
Một số công thức hóa học nên nhớ
Một số công thức hóa học nên nhớMột số công thức hóa học nên nhớ
Một số công thức hóa học nên nhớ
 
BÀI TẬP DẠY THÊM VẬT LÝ 11 CẢ NĂM (KẾT NỐI TRI THỨC) - NĂM HỌC 2023-2024 (BẢN...
BÀI TẬP DẠY THÊM VẬT LÝ 11 CẢ NĂM (KẾT NỐI TRI THỨC) - NĂM HỌC 2023-2024 (BẢN...BÀI TẬP DẠY THÊM VẬT LÝ 11 CẢ NĂM (KẾT NỐI TRI THỨC) - NĂM HỌC 2023-2024 (BẢN...
BÀI TẬP DẠY THÊM VẬT LÝ 11 CẢ NĂM (KẾT NỐI TRI THỨC) - NĂM HỌC 2023-2024 (BẢN...
 
TÀI LIỆU HỌC GIỎI TIẾNG ANH GLOBAL SUCCESS 6 CÓ FILE NGHE (ĐẠI LỢI) - TẬP 2 (...
TÀI LIỆU HỌC GIỎI TIẾNG ANH GLOBAL SUCCESS 6 CÓ FILE NGHE (ĐẠI LỢI) - TẬP 2 (...TÀI LIỆU HỌC GIỎI TIẾNG ANH GLOBAL SUCCESS 6 CÓ FILE NGHE (ĐẠI LỢI) - TẬP 2 (...
TÀI LIỆU HỌC GIỎI TIẾNG ANH GLOBAL SUCCESS 6 CÓ FILE NGHE (ĐẠI LỢI) - TẬP 2 (...
 
Chương 8 tinh chong chiu cua thuc vat
Chương 8 tinh chong chiu cua thuc vatChương 8 tinh chong chiu cua thuc vat
Chương 8 tinh chong chiu cua thuc vat
 
Bai tap vat ly dai cuong
Bai tap vat ly dai cuongBai tap vat ly dai cuong
Bai tap vat ly dai cuong
 
Mật thư trò chơi lớn (tóm tắt)
Mật thư trò chơi lớn (tóm tắt)Mật thư trò chơi lớn (tóm tắt)
Mật thư trò chơi lớn (tóm tắt)
 
TƯ TƯỞNG HỒ CHÍ MINH VỀ CHỦ NGHĨA XÃ HỘI
TƯ TƯỞNG HỒ CHÍ MINH VỀ CHỦ NGHĨA XÃ HỘITƯ TƯỞNG HỒ CHÍ MINH VỀ CHỦ NGHĨA XÃ HỘI
TƯ TƯỞNG HỒ CHÍ MINH VỀ CHỦ NGHĨA XÃ HỘI
 
Chương 3,ttuong
Chương 3,ttuongChương 3,ttuong
Chương 3,ttuong
 
Tóm tắt công thức vật lí 10
Tóm tắt công thức vật lí 10Tóm tắt công thức vật lí 10
Tóm tắt công thức vật lí 10
 
Phan ung the o nhan thom
Phan ung the o nhan thomPhan ung the o nhan thom
Phan ung the o nhan thom
 
56 câu hỏi tự luận và đáp án môn Tư tưởng Hồ Chí Minh
56 câu hỏi tự luận và đáp án môn Tư tưởng Hồ Chí Minh 56 câu hỏi tự luận và đáp án môn Tư tưởng Hồ Chí Minh
56 câu hỏi tự luận và đáp án môn Tư tưởng Hồ Chí Minh
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
 
BG MÔN LSĐ chương III.pptx
BG MÔN LSĐ chương III.pptxBG MÔN LSĐ chương III.pptx
BG MÔN LSĐ chương III.pptx
 
Công thức vật lý lớp 11
Công thức vật lý lớp 11Công thức vật lý lớp 11
Công thức vật lý lớp 11
 
đườNg lối kháng chiến chống thực dân pháp
đườNg lối kháng chiến chống thực dân phápđườNg lối kháng chiến chống thực dân pháp
đườNg lối kháng chiến chống thực dân pháp
 
CHUYÊN ĐỀ GIỚI HẠN VÀ TÍNH LIÊN TỤC HÀM SỐ & ĐỀ KIỂM TRA - CHƯƠNG 4 ĐẠI SỐ 11...
CHUYÊN ĐỀ GIỚI HẠN VÀ TÍNH LIÊN TỤC HÀM SỐ & ĐỀ KIỂM TRA - CHƯƠNG 4 ĐẠI SỐ 11...CHUYÊN ĐỀ GIỚI HẠN VÀ TÍNH LIÊN TỤC HÀM SỐ & ĐỀ KIỂM TRA - CHƯƠNG 4 ĐẠI SỐ 11...
CHUYÊN ĐỀ GIỚI HẠN VÀ TÍNH LIÊN TỤC HÀM SỐ & ĐỀ KIỂM TRA - CHƯƠNG 4 ĐẠI SỐ 11...
 
Công thức tính nhanh điện xoay chiều
Công thức tính nhanh điện xoay chiềuCông thức tính nhanh điện xoay chiều
Công thức tính nhanh điện xoay chiều
 
S12 bai 18 chon giong vat nuoi va cay trong
S12 bai 18 chon giong vat nuoi va cay trongS12 bai 18 chon giong vat nuoi va cay trong
S12 bai 18 chon giong vat nuoi va cay trong
 

Viewers also liked

Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
MasterCode.vn
 
Chứng minh số node của Heap chiều cao h
Chứng minh số node của Heap chiều cao hChứng minh số node của Heap chiều cao h
Chứng minh số node của Heap chiều cao h
David Nguyen
 
Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07
Nhóc Nhóc
 
Python - Set
Python - SetPython - Set
Python - Set
Marcos Castro
 
Binary heap
Binary heapBinary heap
Binary heap
Marcos Castro
 
Bai giang-ctdl
Bai giang-ctdlBai giang-ctdl
Bai giang-ctdlPhong Vân
 
CTDL&GT_01
CTDL&GT_01CTDL&GT_01
CTDL&GT_01
kikihoho
 
Heap sort
Heap sort Heap sort
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
MasterCode.vn
 
Heap sort
Heap sort Heap sort
Heapsort
HeapsortHeapsort
Heapsort
mmoylan
 
Digital Front - Buzz Manager
Digital Front - Buzz ManagerDigital Front - Buzz Manager
Digital Front - Buzz Manager
Digital Front
 
Hop dong tham tra tktc
Hop dong tham tra tktcHop dong tham tra tktc
Hop dong tham tra tktc
Tư vấn môi trường
 
Belcy rosas
Belcy rosasBelcy rosas
Belcy rosas
klaumilenitha
 
Новые направления деятельности проекта LinuxWizard.
Новые направления деятельности проекта LinuxWizard.Новые направления деятельности проекта LinuxWizard.
Новые направления деятельности проекта LinuxWizard.
LWandWs
 
Viviana veloza santamaria (1)
Viviana veloza santamaria (1)Viviana veloza santamaria (1)
Viviana veloza santamaria (1)
klaumilenitha
 

Viewers also liked (20)

Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
 
Heap sort
Heap sortHeap sort
Heap sort
 
Merge sort
Merge sortMerge sort
Merge sort
 
Quick sort
Quick sortQuick sort
Quick sort
 
Chứng minh số node của Heap chiều cao h
Chứng minh số node của Heap chiều cao hChứng minh số node của Heap chiều cao h
Chứng minh số node của Heap chiều cao h
 
Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07
 
Python - Set
Python - SetPython - Set
Python - Set
 
Binary heap
Binary heapBinary heap
Binary heap
 
Bai giang-ctdl
Bai giang-ctdlBai giang-ctdl
Bai giang-ctdl
 
CTDL&GT_01
CTDL&GT_01CTDL&GT_01
CTDL&GT_01
 
Heap sort
Heap sort Heap sort
Heap sort
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
 
Heap sort
Heap sort Heap sort
Heap sort
 
Heapsort
HeapsortHeapsort
Heapsort
 
Digital Front - Buzz Manager
Digital Front - Buzz ManagerDigital Front - Buzz Manager
Digital Front - Buzz Manager
 
Hop dong tham tra tktc
Hop dong tham tra tktcHop dong tham tra tktc
Hop dong tham tra tktc
 
1 ~1
 1 ~1 1 ~1
1 ~1
 
Belcy rosas
Belcy rosasBelcy rosas
Belcy rosas
 
Новые направления деятельности проекта LinuxWizard.
Новые направления деятельности проекта LinuxWizard.Новые направления деятельности проекта LinuxWizard.
Новые направления деятельности проекта LinuxWizard.
 
Viviana veloza santamaria (1)
Viviana veloza santamaria (1)Viviana veloza santamaria (1)
Viviana veloza santamaria (1)
 

More from David Nguyen

ACOMP_2014_submission_70
ACOMP_2014_submission_70ACOMP_2014_submission_70
ACOMP_2014_submission_70David Nguyen
 
Compressed js with NodeJS & GruntJS
Compressed js with NodeJS & GruntJSCompressed js with NodeJS & GruntJS
Compressed js with NodeJS & GruntJS
David Nguyen
 
jQuery Super Basic
jQuery Super BasicjQuery Super Basic
jQuery Super Basic
David Nguyen
 
Javascript native OOP - 3 layers
Javascript native OOP - 3 layers Javascript native OOP - 3 layers
Javascript native OOP - 3 layers
David Nguyen
 
MVC4 – knockout.js – bootstrap – step by step – part 1
MVC4 – knockout.js – bootstrap – step by step – part 1MVC4 – knockout.js – bootstrap – step by step – part 1
MVC4 – knockout.js – bootstrap – step by step – part 1
David Nguyen
 
Hướng dẫn sử dụng Mind Manager 8
Hướng dẫn sử dụng Mind Manager 8 Hướng dẫn sử dụng Mind Manager 8
Hướng dẫn sử dụng Mind Manager 8 David Nguyen
 
KTMT Lý Thuyết Tổng Quát
KTMT Lý Thuyết Tổng QuátKTMT Lý Thuyết Tổng Quát
KTMT Lý Thuyết Tổng QuátDavid Nguyen
 
KTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngKTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngDavid Nguyen
 
Mô Hình MVC 3.0
Mô Hình MVC 3.0Mô Hình MVC 3.0
Mô Hình MVC 3.0
David Nguyen
 

More from David Nguyen (10)

ACOMP_2014_submission_70
ACOMP_2014_submission_70ACOMP_2014_submission_70
ACOMP_2014_submission_70
 
Compressed js with NodeJS & GruntJS
Compressed js with NodeJS & GruntJSCompressed js with NodeJS & GruntJS
Compressed js with NodeJS & GruntJS
 
jQuery Super Basic
jQuery Super BasicjQuery Super Basic
jQuery Super Basic
 
Javascript native OOP - 3 layers
Javascript native OOP - 3 layers Javascript native OOP - 3 layers
Javascript native OOP - 3 layers
 
MVC4 – knockout.js – bootstrap – step by step – part 1
MVC4 – knockout.js – bootstrap – step by step – part 1MVC4 – knockout.js – bootstrap – step by step – part 1
MVC4 – knockout.js – bootstrap – step by step – part 1
 
Facebook API
Facebook APIFacebook API
Facebook API
 
Hướng dẫn sử dụng Mind Manager 8
Hướng dẫn sử dụng Mind Manager 8 Hướng dẫn sử dụng Mind Manager 8
Hướng dẫn sử dụng Mind Manager 8
 
KTMT Lý Thuyết Tổng Quát
KTMT Lý Thuyết Tổng QuátKTMT Lý Thuyết Tổng Quát
KTMT Lý Thuyết Tổng Quát
 
KTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngKTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm Động
 
Mô Hình MVC 3.0
Mô Hình MVC 3.0Mô Hình MVC 3.0
Mô Hình MVC 3.0
 

Recently uploaded

Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
duykhoacao
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
https://www.facebook.com/garmentspace
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
Nguyen Thanh Tu Collection
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
phamthuhoai20102005
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
chinhkt50
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
ngocnguyensp1
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
nvlinhchi1612
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
Qucbo964093
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
Nguyen Thanh Tu Collection
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
Điện Lạnh Bách Khoa Hà Nội
 

Recently uploaded (10)

Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
 

Heap Sort

  • 1. Nguyễn Ngọc Dũng - HCMUS Heap Sort I. Khái niệm 1. Định nghĩa Heap - Định nghĩa Heap sơ khởi: Heap là 1 cây nhị phân đầy đủ. + vd1: - Mỗi node trong Heap chứa 1 giá trị có thể so sánh với giá trị của node khác 2. Tính chất Heap + Max Heap: Giá trị của mỗi node >= giá trị của các node con nó => Node lớn nhất là node gốc + Min Heap: Giá trị của mỗi node <= giá trị của các node con nó => Node nhỏ nhất là node gốc + vd2: https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 1
  • 2. Nguyễn Ngọc Dũng - HCMUS +vd3: https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 2
  • 3. Nguyễn Ngọc Dũng - HCMUS 3. Biểu diễn Heap bằng mảng - Thứ tự lưu trữ trên mảng được thực hiện từ trái => phải - Nếu ta biết được chỉ số của 1 phần tử trên mảng, ta sẽ dễ dàng xác định được chỉ số của node cha và các node con của nó. - Node gốc ở chỉ số 0 - Node cha của node i có chỉ số (i – 1)/2 - Các node con của node i (nếu có) có chỉ số [2i + 1] và [2i + 2] - Node cuối cùng có con trong 1 Heap có n phần tử là: [n/2 - 1] 4. Thao tác điều chỉnh 1 phần tử (Heapify) 4.1/ Chạy từng bước (Debug) - Tôi sẽ tiến hành Heapify theo Max Heap. Tức là node con của node đang xét mà lớn hơn node cha thì tiến hành đổi chỗ https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 3
  • 4. Nguyễn Ngọc Dũng - HCMUS 4.2/ Cài đặt https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 4
  • 5. Nguyễn Ngọc Dũng - HCMUS 5. Xây dụng Heap (BuildHeap) 5.1/ Khái niệm - Tất cả các phần tử trên mảng có chỉ số [n/2] đến [n - 1] đều là node lá - Mỗi node lá được xem là Heap có duy nhất 1 phần tử - Thực hiện thao tác Heapify trên các phần tử có chỉ số từ [n/2 - 1] => 0 ta sẽ tạo được 1 Heap có n phần tử 5.2/ Cài đặt 5.3/ Xây dựng mảng sau thành Heap https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 5
  • 6. Nguyễn Ngọc Dũng - HCMUS - Ở mục này tôi sẽ tiến hành chay từng bước hàm BuildHeap - Lưu ý: Tôi sẽ Build Heap trên mảng với Max Heap - Ví dụ: - Theo hàm BuildHeap khởi tạo biến i = n/2 – 1 + Ta thấy mảng trên có 10 phần tử => i = 10/2 – 1 = 4 => Vậy ta sẽ bắt đầu ở vị trí 4 của mảng trên - Ta thấy vị trí 4 có giá trị là 7 và con của nó là 9 + Ta nhận thấy 9 > 4 => Ta đổi chỗ 2 thằng này https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 6
  • 7. Nguyễn Ngọc Dũng - HCMUS + Sau khi hoán vị xong ta giảm i (i--). Theo hàm BuildHeaps https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 7
  • 8. Nguyễn Ngọc Dũng - HCMUS https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 8
  • 9. Nguyễn Ngọc Dũng - HCMUS + Sau khi xây dụng Heap xong => Ta nhận thấy còn 1 vị trí ko tuân theo quy luật Max Heap: 5 và con của 5 là 15 và 1: 15 > 5 và 15 > 1 => Đổi chỗ 15 và 1 https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 9
  • 10. Nguyễn Ngọc Dũng - HCMUS => Kết quả của mảng: 6. Thuật toán HeapSort 6.1) Tư tưởng thuật toán HeapSort -B1: Xây dựng Heap => Sử dụng thao tác Heapify để chuyển đổi mảng bình thường thành Heap -B2: Sắp xếp + Hoán vị phần tử cuối cùng của Heap với phần tử đầu tiên của Heap + Loại bỏ phần tử cuối cùng + Thực hiện thao tác Heapify để điều chỉnh phần tử đầu tiên 6.2) Cài đặt HeapSort https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 10
  • 11. Nguyễn Ngọc Dũng - HCMUS 7. Chứng minh số node của Heap với chiều cao là h + Tham khảo cách chứng mình số node của BST:http://ilaptrinh.wordpress.com/2012/12/31/chung-minh-so-node- cay-nhi-phan-tim-kiem-bst/ https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 11
  • 12. Nguyễn Ngọc Dũng - HCMUS 8. Ưu điểm & Khuyết điểm https://ilaptrinh.wordpress.com/2013/01/11/heap-sort/ Page 12