1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO BÀI TẬP LỚN-MÔN-CẤU TRÚC DỮ LIỆU đề tài bố trí phòng họp

22 2,1K 8

Đ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 22
Dung lượng 325,77 KB

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

Nội dung

Mỗi cuộc họp i có thời điểm bắt đầu si và một thời điểm kết thúc fi, mà si ≤ fi.. Nếu được lựa chọn, cuộc họp i diễn ra trong thời khoảng [si, fi.. GIẢI THUẬT SƠ BỘ Trong thủ tục áp

Trang 1

LOGO TRƯỜNG ĐẠI HỌC SƯ PHẠM TPHCM KHOA CÔNG NGHỆ THÔNG TIN

LỚP TIN HỌC KHÓA 35

BÁO CÁO BÀI TẬP LỚN

MÔN: CẤU TRÚC DỮ LIỆU 2

GVHD: ThS NGUYỄN THỊ BÍCH NGÂN

THỰC HIỆN: NHÓM 25 NGUYỄN NGỌC NHẤT LINH

ĐINH VĂN QUYÊN

Trang 2

phục vụ được nhiều cuộc họp nhất.

2

Trang 3

PHÂN TÍCH BÀI TOÁN

Giả sử ta có một tập S = {1, 2, …, n} gồm n cuộc

họp nhưng chỉ có 1 phòng hội thảo nên chỉ có thể được dùng cho một cuộc họp tại một lúc

Mỗi cuộc họp i có thời điểm bắt đầu si và một

thời điểm kết thúc fi, mà si ≤ fi Nếu được lựa

chọn, cuộc họp i diễn ra trong thời khoảng [si, fi) Cuộc họp i và j là tương thích nếu thời khoảng

[si, fi) và [sj, fj) không phủ lấp lên nhau (tức là, i

và j là tương thích nếu si >= fj hay sj >= fi)

MĐFBM HDJF HJFD JDKF

3

Trang 4

PHÂN TÍCH BÀI TOÁN

Trang 5

GIẢI THUẬT SƠ BỘ

 Trong thủ tục áp dụng giải thuật tham lam để giải bài toán bố trí cuộc họp, ta cần phải sắp các cuộc họp theo thứ tự tăng của thời điểm kết thúc : f1 ≤ f2 ≤ … ≤ fn.

procedure MEETING-SELECTOR(S, f) ; /* S là mảng giữ thời điểm bắt đầu và f là mảng giữ thời điểm kết thúc */

5

Trang 8

HÀM BỐ TRÍ LỊCH HỌP

void boTriLichHop() {

dem++;

luu[dem]=i;

} }

}

8

Trang 10

NHẬN XÉT

Giải thuật tham lam áp dụng vào bài toán lựa chọn một khả năng tối ưu cục bộ với hy vọng

sẽ dẫn đến một lời giải tối ưu toàn cục

Giải thuật không nhất thiết đem lại lời giải tối

ưu Tuy nhiên thủ tục void boTriLichHop() ở trên thường tìm được một lời giải tối ưu cho một thể hiện của bài toán bố trí phòng họp

10

Trang 12

PP QUY HOẠCH ĐỘNG

Nhận xét: Với cách làm này ta đã chia 1 bài toán lớn (dãy con của n cuộc họp) thành các bài toán con cùng kiểu có kích thước nhỏ

hơn (dãy con của dãy có i cuộc họp đầu tiên) Vấn đề là công thức truy hồi để phối hợp kết quả của các bài toán con

12

Trang 13

đầu tiên ta sẽ được dãy cuộc họp được sắp dài nhất xét từ 0 đến i.

13

Trang 14

TỔ CHỨC DỮ LIỆU

s[MAX], f[MAX], *name[MAX], n, luu[MAX]

giống như khai báo ở trên

int truoc[MAX]; //truoc[i] luu chi so cua cuoc hop da duoc sap xep truoc cuoc hop thu i

int L[MAX]; //phan tu L[i] luu so luong cuoc hop da duoc sap xep trong day i+1 cuoc hop dau tien

int LMax; //luu so phan tu lon nhat hien tai cua day con s[i]

int luuj=-1; //luu vi tri ma BMax thay doi

int y; //ham muc tieu - so cuoc hop lon nhat co the sap

14

Trang 17

TẠO BẢNG

HÀM TẠO BẢNG

void taoBangLichHop() {

for (int j=0; j<i; ++j)

if (f[j]<=s[i] && LMax<L[j]) {

LMax=L[j];

luuj=j;

} L[i]=LMax+1;

truoc[i]=luuj;

} }

17

Trang 19

TRA BẢNG

 HÀM TRA BẢNG:

void traBangLichHop() {

int i=0;

for ( int j=1; j<n; ++j)

if (L[i]<L[j]) i=j;

int max=y=L[i]-1; //i la chi so co L[i] lon nhat // vi mang trong C++ bat dau tu 0 nen phai -1 while (i>-1)

{ luu[max ]=i;

i=truoc[i];

} }

19

Trang 20

Giải thuật Quy hoạch động sẽ đưa ra một lời giải tối ưu hơn so với giải thuật Tham lam Tuy nhiên, giải thuật Quy hoạch động thường có độ phức tạp không dưới O(n2) nên khi không gian bài toán lớn thì thời gian chạy là không thể

chấp nhận được.

20

Trang 21

TÀI LIỆU THAM KHẢO

PGS.TS Dương Tuấn Anh, Bài giảng điện tử

Phân tích và Thiết kế giải thuật.

Trần Hữu Quốc Thư, Giáo trình Phân tích

thiết kế giải thuật.

ThS Nguyễn Thị Bích Ngân, Một số bài toán

quy hoạch động điển hình.

Và một số tài liệu khác từ Internet

21

Ngày đăng: 17/05/2015, 11:23

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