1. Trang chủ
  2. » Công Nghệ Thông Tin

Slide Đề tài : TÌM HIỂU THUẬT TOÁN SẮP XẾP HEAP SORT VÀ ỨNG DỤNG GIẢI BÀI TOÁN NGƯỜI BÁN HÀNG

15 755 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 3,11 MB
File đính kèm bao cao thuc tap.rar (3 MB)

Nội dung

THỰC TẬP CƠ SỞĐề tài: TÌM HIỂU THUẬT TOÁN SẮP XẾP HEAP SORT VÀ ỨNG DỤNG GIẢI BÀI TOÁN NGƯỜI BÁN HÀNG GIẢNG VIÊN HƯỚNG DẪN : TS.. NỘI DUNG CHÍNHKIẾN THỨC CƠ SỞ 1 THUẬT TOÁN HEAP SORT 2 Ứ

Trang 1

THỰC TẬP CƠ SỞ

Đề tài:

TÌM HIỂU THUẬT TOÁN SẮP XẾP HEAP SORT

VÀ ỨNG DỤNG GIẢI BÀI TOÁN NGƯỜI BÁN HÀNG

GIẢNG VIÊN HƯỚNG DẪN : TS ĐẶNG THỊ OANH

SINH VIÊN THỰC HIỆN : NGUYỄN HỮU THI

LỚP : CNTT_K12D

Trang 2

NỘI DUNG CHÍNH

KIẾN THỨC CƠ SỞ

1

THUẬT TOÁN HEAP SORT

2

ỨNG DỤNG VÀ CHƯƠNG TRÌNH

3

Trang 3

BÀI TOÁN SẮP XẾP

• Khái niệm bài toán sắp xếp

• Nội dung bài toán sắp xếp

BÀI TOÁN SẮP XẾP

• Khái niệm bài toán sắp xếp

• Nội dung bài toán sắp xếp

TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C

• Sự phát triển của ngôn ngữ lập trình C

• Cấu trúc chương trình C

TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C

• Sự phát triển của ngôn ngữ lập trình C

• Cấu trúc chương trình C

CHƯƠNG 1 KIẾN THỨC CƠ SỞ

Trang 4

Ý TƯỞNG

1

2

3

5

NỘI DUNG THỦ TỤC LƯU ĐỒ THUẬT TOÁN

ĐỘ PHỨC TẠP CỦA THUẬT TOÁN CHƯƠNG 2 THUẬT TOÁN HEAP SORT

Trang 5

Ý TƯỞNG THUẬT TOÁN

HeapSort là một thuật toán sắp xếp hiệu quả,nó xây dựng một cấu trúc dữ liệu quan trọng để biểu diễn hàng đợi

có độ ưu tiên: Cấu trúc dữ liệu Heap

10

7

3

1

8

2

9

9

7

3

1

5

8

5

6

Đảo giá trị k[1] cho k[n]

và xét phần còn lại

Vun phần còn lại thành đống rồi lại đảo trị k[1] cho k[n-1]

Trang 6

NỘI DUNG THUẬT TOÁN HEAP SORT

Các tính chất:

Giả sử xét trường hợp sắp xếp tăng dần, khi đó heap được định nghĩa là một dãy

ai  a2i

ai  a2i1 {( a ai, 2i),( a ai, 2i1) là các cặp phần tử liên đới}

• Tính chất 1: Nếu a ,a ,….a là một heap thì khi cắt bỏ một số phần tử ở hai đầu của heap, dãy còn lại vẫn là một heap.

• Tính chất 2: Nếu a ,a ,….a là một heap thì phần tử a (đầu heap) luôn là phần tử lớn nhất trong heap.

• Tính chất 3: Mọi dãy a ,a ,….a dãy con aj, aj+1,…, a tạo thành một heap với j=(q div 2 +1).

Trang 7

Giải thuật Heap Sort:

Giải thuật Heap Sort trải qua 2 giai đoạn.

• Giai đoạn 1: Hiệu chỉnh dãy số ban đầu thành heap.

• Giai đoạn 2: Sắp xếp dãy số dựa trên heap.

Bước 1: Ðưa phần tử lớn nhất về vị trí đúng ở cuối dãy

r = n; Hoánvị (a , a )

Bước 2: Loại bỏ phần tử lớn nhất ra khỏi heap: r = r-1;

Hiệu chỉnh phần còn lại của dãy từ a , a2 a thành một heap

Bước 3: Nếu r > 1 (heap còn phần tử ): Lặp lại Bước 2 Ngược lại: Dừng

Trang 8

THỦ TỤC

đống trong điều kiện hai cây gốc 2.root và 2.root + 1 đã là đống rồi Các nút từ endnode + 1 tới n đã nằm ở vị trí đúng

và không được tính tới nữa

khoá theo ý tưởng trên

Trang 9

ĐỘ PHỨC TẠP CỦA THUẬT TOÁN

Độ phức tạp trung bình của HeapSort là O(nlgn).

Trang 10

BÀI TOÁN NGƯỜI BÁN HÀNG

• Bài toán

• Phân tích bài toán

• Độ phức tạp của thuật toán

BÀI TOÁN NGƯỜI BÁN HÀNG

• Bài toán

• Phân tích bài toán

• Độ phức tạp của thuật toán

CÀI ĐẶT CHƯƠNG TRÌNH

• Công cụ lập trình

• Kết quả thực hiện

CÀI ĐẶT CHƯƠNG TRÌNH

• Công cụ lập trình

• Kết quả thực hiện

CHƯƠNG 3 ỨNG DỤNG VÀ CHƯƠNG TRÌNH

Trang 11

BÀI TOÁN NGƯỜI BÁN HÀNG

Phát biểu bài toán:

Một người bán hàng xuất phát từ thành phố 1, muốn

đi qua tất cả các thành phố còn lại mỗi thành phố đúng 1 lần và cuối cùng quay lại thành phố 1 Hãy chỉ ra cho người đó hành trình với chi phí ít nhất

Trang 12

Phân tích bài toán:

Đây là bài toán tìm chu trình có trọng số nhỏ nhất trong một đơn đồ thị có hướng có trọng số Thuật toán tham lam cho bài toán là chọn thành phố có chi phí nhỏ nhất tính từ thành phố hiện thời đến các thành phố chưa qua.

Trang 13

CÀI ĐẶT CHƯƠNG TRÌNH

Công cụ lập trình:

Ta sử dụng phần mềm DEV C++ để viết chương trình

Trang 14

Kết quả thực hiện:

Trang 15

Thank You!

CẢM ƠN THẦY CÔ VÀ CÁC BẠN

ĐÃ CHÚ Ý LẮNG NGHE

Ngày đăng: 30/08/2017, 09:31

TỪ KHÓA LIÊN QUAN

w