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

Thực hành cấu trúc dữ liệu và giải thuật 2

132 14 0

Đ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 132
Dung lượng 10,18 MB

Nội dung

Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2 Thực hành cấu trúc dữ liệu và giải thuật 2

Faculty of Computer Science and Engineering Department of Computer Science Bài Tập Lớn EASTER BUNNY Giới thiệu Ngày xửa ngày xưa, từ trước Prometheus đem lửa thắp sáng cho nhân loại, ông kẹ Pitch Black nỗi ám ảnh gieo rắc sợ hãi cho loài người đêm Để giúp cho nhân loại vượt nỗi sợ hãi để tìm đến hy vọng, tình yêu hạnh phúc, Man on the Moon tập hợp vệ thần để gieo rắc hạt giống niềm tin vào tâm hồn người họ đứa trẻ Năm vệ thần chọn gồm có Tooth Fairy, Santa Claus, Easter Bunny, Sandman Jack Frost Từ đó, Pitch Black bị đẩy lùi vào bóng tối gầm giường Nhưng nỗi sợ hãi đứa trẻ vào đêm chưa đủ để thỏa mãn tham vọng Pitch Black Hắn âm thầm thực âm mưu cướp niềm tin vào phép màu, vào hạnh phúc trẻ thơ Từ đó, lần nhấn chìm giới vào bóng đêm sợ hãi Pitch Black thuộc hạ Nightmare công vào nơi nàng tiên Tooth Fairy cướp hết sữa trẻ em với ký ức niềm vui hạnh phúc chứa Trong lúc vệ thần chiến đấu Pitch Black, vương quốc Bunnymund, thỏ gấp rút tô màu cho trứng phục sinh Để tiện cho việc tô màu, trứng phục sinh xếp thành 03 hàng Những thỏ tô màu cho trứng, đồng thời Pitch Black không ngừng gửi thuộc hạ đến phá hoại Nếu đến cuối cùng, màu trứng phục sinh trùng khớp với lời tiên tri hát ảo thuật gia Méliès vệ thần giành chiến thắng Page 1/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science Yêu cầu Trong tập lớn này, sinh viên cung cấp file chứa liệu nhập Trong bao gồm thơng tin màu sắc trứng phục sinh, với kiện xảy lúc chuẩn bị trứng Chương trình xuất hình thơng tin màu sắc trứng sau trình chuẩn bị kết thúc Các liệu nhập xuất mà sinh viên phải xử lý đểu biểu diễn dạng danh sách liên kết (linked list) Chi tiết mô tả liệu nhập công việc sinh viên phải làm nêu phần Dữ liệu nhập Dữ liệu nhập chương trình chứa file mang tên input.txt File chứa thông tin sau: 100_100_100 200_200_000 001_003_012 ; Thông tin hàng trứng 130_100_150 200_200_010 ; ban đầu 100_110_100 100_200_030 ; 0_100_001_010_1 ; Thông tin kiện xảy Trong đó, thành phần liệu nhập ngăn cách dấu chấm phẩy với thứ tự sau:  03 thành phần đầu tương ứng với khởi tạo 03 hàng trứng ban đầu Mỗi hàng trứng danh sách màu sắc trứng nằm hàng Màu sắc trứng mơ tả dạng R_G_B với R, G, B gồm ký số có giá trị từ 000-999 Giữa trứng ngăn cách khoảng trắng Mỗi hàng chứa tối đa 2100 trứng Page 2/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science  Thành phần cuối danh sách kiện xảy theo thứ tự thời gian Các kiện cách khoảng trắng mô tả theo bảng mã kiện sau (các mã kiện không theo mô tả bị bỏ qua) Mã kiện Ý nghĩa 0_R_G_B_T Một trứng E.B tô màu xong thêm vào cuối hàng 1_R_G_B_P_T Jack Frost đổi màu trứng 2_R_G_B Nightmare công làm phai màu trứng 3_R_G_B Ông kẹ Pitch Black vào lấy cắp trứng 4_R_G_B_M Lấy trứng kì diệu để phục sinh cho Sandman 5_R_G_B_P Nhóc tiên Tooth Baby làm xáo trộn màu trứng 6_R_G_B Sophie giấu thỏ vào bên phải trứng gần giống 7_S Toothiana đưa trứng trạng thái khứ 8_K Các thỏ đào hang cất giấu trứng khỏi The Monkey King 9_C Bí mật Santa Claus Ví dụ 1: Với liệu nhập 100_100_100 200_200_000 001_003_012 ; 130_100_150 200_200_010 ; 100_110_100 ; 0_100_001_010_1 ; Ban đầu hàng trứng có 03 trứng, hàng trứng thứ hai có 02 trứng hàng trứng cuối có 01 trứng Trong q trình chuẩn bị trứng có kiện xảy Đó kiện, trứng có màu đỏ:100, xanh lá:001, xanh dương:010 thêm vào hàng trứng Page 3/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science Hiện thực chương trình Sinh viên thực hàm prepare có prototype sau: void prepare (EEList*& top, EEList*& middle, EEList*& bottom, eventList* pEvent); Trong đó: a) EEList danh sách liên kết chứa thông tin màu trứng, khai báo sau: struct EEList { int nCodeR; int nCodeG; int nCodeB; EEList* pNext; }; Danh sách gồm có thơng tin mã màu trứng gồm có nCodeR (mã màu đỏ), nCodeG (mã màu xanh lá), nCodeB (mã màu xanh dương) Danh sách truyền vào ban đầu danh sách tất trứng nhập vào từ file input chưa xử lý Trong trình thực sinh viên thay đổi danh sách theo thông tin mô tả Phần Có ba trỏ trỏ đến ba danh sách liên kết EEList truyền vào tương ứng với ba hàng trứng trên, b) eventList danh sách liên kết chứa thông tin kiện, khai báo sau: struct eventList { int nEventCode; eventParam* pEventParamFirst; eventList* pNext; }; Danh sách gồm có mã kiện trỏ trỏ đến danh sách thông số tương ứng với mã kiện khác (xem Phần 3) Page 4/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science Hiện thực danh sách trứng phục sinh (Easter Eggs – EE) Khởi tạo 03 danh sách EE tương ứng với 03 hàng trứng từ file liệu nhập mô tả Phần Những trứng có màu hợp lệ có giá trị mã màu R_G_B với R, G, B nằm khoảng 000-255 đưa vào danh sách EE Ví dụ 2: Với liệu nhập 100_100_100 ; 130_100_150 ; 100_110_100 201_202_203 999_000_000 ; ; Hàng trứng có trứng có mã màu RGB tương ứng {100,100,100} Hàng trứng có trứng có mã màu RGB {130, 100,150} Hàng trứng có hai trứng mang mã màu hợp lệ {100, 010,001} {201,202,203} Trong trường hợp nào, trứng hàng thỏ E.B xếp lại dồn bên trái Điều vị trí trứng có thứ tự đánh từ trái sang phải có số bắt đầu Xét ví dụ 2, trứng {100,100,100} nằm hàng có thứ tự 1; hàng cùng, trứng {100,010,001} mang thứ tự trứng {201,202,203} mang thứ tự Trong suốt trình chuẩn bị trứng cho ngày lễ có kiện xảy làm thay đổi danh sách Các kiện cụ thể sau: S0) Các thỏ hoàn tất tô màu cho trứng thêm trứng vào cuối 03 hàng trứng ban đầu Mã kiện có dạng 0_R_G_B_T Trong R,G,B gồm ký số có giá trị từ 000-999 cho biết màu trứng cần thêm T số nguyên cho biết hàng trứng thêm vào Các giá trị T thuộc {1,2,3} Page 5/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science tương ứng với {hàng cùng, hàng giữa, hàng cùng} Quả trứng với màu hợp lệ thêm vào cuối hàng trứng Ví dụ 3: Với liệu nhập 100_100_100 ; 130_100_150 ; 100_110_100 ; 0_123_234_012_3 ; Ứng với mã kiện 0_123_234_012_3, trứng có mã màu {123,234,012} thêm vào cuối hàng trứng sau: 100_100_100 ; 130_100_150 ; 100_110_100 123_234_012 ; Ví dụ 4: Với liệu nhập 100_100_100 ; 130_100_150 ; 100_110_100 ; 0_999_234_012_3 ; Ứng với mã kiện 0_999_234_012_3, màu trứng giá trị hợp lệ, trứng không thêm vào hàng S1) Jack Frost vệ thần nghịch ngợm Để trêu chọc Easter Bunny, Jack Frost cố tình đổi màu trứng Mã kiện có dạng 1_R_G_B_P_T Trong đó, P số nguyên dương vị trí trứng bị đổi màu hàng T Màu trứng xác định R,G,B Các giá trị R,G,B, T định nghĩa giống mục S0 Nếu vị trí P không tồn hàng T, Jack Frost không đổi màu trứng danh sách trứng giữ nguyên Page 6/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science Ví dụ 5: Với liệu nhập 100_100_100 ; 130_100_150 ; 100_110_100 ; 1_123_234_012_1_3 ; Ứng với kiện 1_123_234_012_1_3, Jack Frost thay đổi màu trứng {100,110,100} thành {123,234,012} Lưu ý: Jack Frost vệ thần bất quy tắc, màu sắc trứng bị thay đổi không cần màu sắc hợp lệ mà giá trị khoảng 000-999 Ví dụ 6: Với liệu nhập 100_100_100 ; 130_100_150 ; 100_110_100 ; 1_999_234_012_1_3 ; Ứng với kiện 1_999_234_012_1_3, Jack Frost thay đổi màu trứng {100,110,100} thành {999,234,012} S2) Để ngăn cản khơng cho thỏ hồn thành vẽ trứng trước lễ Phục Sinh, ông kẹ Pitch Black cử bọn Nightmare công vương quốc Bunnymund Mỗi đợt công, bọn Nightmare làm tất số trứng bị phai màu Mã kiện có dạng 2_R_G_B Màu trứng bị giảm lượng R,G,B tương ứng với ba số R,G,B ban đầu Màu trứng bị giảm 000 Ví dụ 7: Với liệu nhập 100_100_100 ; 130_100_150 ; Page 7/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science 100_110_100 ; 2_100_100_100 2_100_000_000 ; Ở đợt công 2_100_100_100, Nightmare làm phai màu tất trứng: 000_000_000 ; 030_000_050 ; 000_010_000 ; Sau đợt công thứ hai 2_100_000_000, màu trứng tiếp tục bị phai danh sách EE trở thành: 000_000_000 ; 000_000_050 ; 000_010_000 ; S3) Biết lời tiên tri Méliès chiến thắng vệ thần, ông kẹ Pitch Black vào vương quốc Bunnymund để lấy cắp trứng nhằm ngăn lời tiên tri trở thành thật Mã kiện có dạng 3_R_G_B, với R,G,B số nguyên định nghĩa mục S0 Do Pitch Black hết lời tiên tri biết màu gần trứng xác định giá trị R,G,B trên, lựa chọn trứng có màu gần giống lấy khỏi hàng trứng Mức độ giống hai trứng tính khoảng cách Mahatan sau: mdiff({R1,G1,B1},{R2,G2,B2}) = |R1-R2| +|G1-G2| + |B1-B2| Hai trứng có màu gần giống khoảng cách chúng nhỏ Nếu có nhiều trứng gần giống với lời tiên tri, để tiết kiệm thời gian, Pitch Black lấy cắp trứng gần theo thứ tự ưu tiên hàng trứng (từ xuống) vị trí từ trái sang phải hàng Ví dụ 8: Với liệu nhập 100_100_100 ; Page 8/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science 130_100_150 ; 100_110_100 ; 3_100_100_100 ; Pitch Black lấy cắp trứng {100,100,100} với mdiff = nhỏ nhất: ; 130_100_150 ; 100_110_100 ; Ví dụ 9: Với liệu nhập 100_100_100 ; 130_100_150 ; 100_110_100 ; 3_100_105_100 ; Pitch Black tìm hai trứng {100,100,100} {100,110,100} với mdiff = nhỏ nhất, lúc lựa chọn trứng gần theo thứ tự ưu tiên {100,100,100} lấy khỏi hàng trứng ; 130_100_150 ; 100_110_100 ; S4) Trong lúc đánh với Pitch Black, thần ngủ Sandman mắc bẫy bị giết chết Vô đau buồn trước chết Sandman, Jack Frost thỏ tập hợp trứng phục sinh để cứu Sandman sống lại Mã kiện có dạng 4_R_G_B_M Trong đó, màu trứng kì diệu truyền thuyết xác định R,G,B số nguyên định nghĩa mục S0 Chỉ trứng gần giống với trứng kì diệu với giá trị mdiff nhỏ ngưỡng quy định M giúp Sandman sống lại Những trứng lấy khỏi hàng trứng giúp hổi sinh Sandman Page 9/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt Faculty of Computer Science and Engineering Department of Computer Science Ví dụ 10: Với liệu nhập 100_100_100 ; 130_100_150 ; 100_110_100 ; 4_100_105_100_10 ; Hai trứng {100,100,100} {100,110,100} với mdiff = < 10 lấy khỏi hàng trứng để hổi sinh Sandman ; 130_100_150 ; ; S5) Nhóc tiên Tooth Baby muốn giúp thỏ vẽ trứng phục sinh Nhưng với tính hậu đậu, Tooth Baby lại làm xáo trộn màu sắc trứng Thay tơ màu cho trứng, nhóc tiên hoán đổi màu trứng với màu có Mã kiện có dạng 5_R_G_B_P cho biết màu sắc vị trí ban đầu hàng trứng mà Tooth Baby định tô màu Tooth Baby làm xáo trộn màu sắc trứng theo quy luật đây:  Tooth Baby bắt đầu hoán đổi màu ban đầu với màu trứng vị trí P hàng tương ứng vị trí có tồn hàng, khơng nhóc tiên chuyển xuống hàng Thứ tự ưu tiên từ hàng xuống hàng hàng Nếu vị trí P khơng tồn ba hàng, Tooth Baby không tô màu danh sách EE giữ nguyên  Sau đó, Tooth Baby tiếp tục bay đến cho trứng xung quanh hoán đổi màu có với màu trứng vị trí Vốn dĩ thích màu xanh nên nhóc tiên lựa chọn trứng vị trí lân cận theo thứ tự dưới, trên, trái, phải vị trí có thành phần G lớn màu có Q trình hốn đổi màu tiếp tục vị trí khơng tồn Page 10/21 CuuDuongThanCong.com https://fb.com/tailieudientucntt I Khái niệm kiện Phép thử : Có thể thí nghiệm quan sát tượng Sự kiện kết phép thử Thí dụ : Phép thử tung súc sắc Các kiện A1={Xuất mặt nút } = A2={Xuất mặt nút } = …………… A6={Xuất mặt nút } = A ={Xuất mặt chẵn nút } = { 2, 4, } B ={Xuất mặt lẻ nút } = { 1, 3, 5} CuuDuongThanCong.com https://fb.com/tailieudientucntt Sự kiện chắn : định xảy thực phép thử Ký hiệu : Trong thí dụ = {1, 2, …, 6} Sự kiện : định không xảy thực phép thử Ký hiệu : Trong thí dụ tập rỗng CuuDuongThanCong.com https://fb.com/tailieudientucntt Quan hệ kiện : 1) A+B - Tổng A B kiện xảy có chúng xảy 2) AB - Tích A B kiện xảy A B xảy 3) A B gọi xung khắc A B xảy Như : A B gọi xung khắc AB= CuuDuongThanCong.com https://fb.com/tailieudientucntt 4) A - Đối lập A kiện xảy A không xảy Tính chất : a) A b) A A A 5) A B gọi A thuận lợi cho B A xảy B xảy 6) A = B gọi A B A CuuDuongThanCong.com B B https://fb.com/tailieudientucntt A 7) Các kiện A1, …, An gọi nhóm đầy đủ a) Chúng xung khắc đôi : Ai A j , i j b) Nhất định chúng xảy : A1 A2 An Nhận xét : Hai kiện A A nhóm đầy đủ CuuDuongThanCong.com https://fb.com/tailieudientucntt II Khái niệm xác suất Tiên đề xác suất Xác suất kiện A số thực dùng để khả xảy A phép thử, ký hiệu P(A) Xác suất thỏa mãn tiên đề Kolmogorov sau đây: T1 : P(A) T2 : P( ) = T3 : P(A+B) = P(A) + P(B) A B xung khắc T4 : P  i P ( Ai ) Ai i A i (i =1, 2, …) xung khắc đơi CuuDuongThanCong.com https://fb.com/tailieudientucntt Tính chất xác suất : 1) P 2) P ( A) 3) P ( A ) 4) CuuDuongThanCong.com P(A) P (B ) P(A) A https://fb.com/tailieudientucntt B Không gian kiện sơ cấp : Tập hợp tất kết xảy phép thử gọi không gian kiện sơ cấp (KGSKSC), ký hiệu Phần tử gọi kiện sơ cấp (SKSC) Các kiện sơ cấp (SKSC) có đặc điểm:  Xung khắc đôi  Nhất định chúng phải xảy  Không thể tổng kiện khác CuuDuongThanCong.com https://fb.com/tailieudientucntt Sự kiện tập  Các SKSC A gọi SKSC thuận lợi cho A  A gọi xảy có SKSC A xảy  [A] – số SKSC A KGSKSC có hữu hạn, vô hạn đếm vô hạn không đếm SKSC CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa xác suất cổ điển : Xét KGSKSC - ={ , …, n } : Có hữu hạn phần tử Các SKSC đồng khả : P( 1) = … = P( n) = n Định nghĩa : A P ( A) CuuDuongThanCong.com https://fb.com/tailieudientucntt Thí dụ : Hộp có bi đỏ, trắng Lấy ngẫu nhiên lúc bi Tính xác suất a) Được bi đỏ b) Được bi đỏ c) Được bi đỏ C Giải : 10 a) A = { bi đỏ }, P ( A ) C6 C 10 b) B = { bi đỏ }, P (B ) C6C4 C 10 c) C = { bi đỏ }, P (C ) C 6C C 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt C6C4 C6 Bằng cách khác, ta có C = { Khơng có bi đỏ nào} = {Được bi trắng} P (C ) P (C ) C C 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa xác suất theo hình học : Xét KGSKSC : - Có vơ hạn phần tử - Các SKSC đồng khả Giả sử kiện A biểu diễn miền hình học Ký hiệu m(A) m( ) kích thước chúng Định nghĩa : P ( A) m ( A) m( CuuDuongThanCong.com ) https://fb.com/tailieudientucntt Chúng ta thấy xác suất định nghĩa phụ thuộc vào m(A) mà khơng phụ thuộc vào hình dáng, vị trí miền A miền Thí dụ : Bẻ gỗ thành hai đoạn điểm ngẫu nhiên gỗ Tính xác suất để đoạn nhỏ có chiều dài khơng q phần ba chiều dài gỗ (sự kiện A) Giải : Ký hiệu a chiều dài gỗ x chiều dài từ điểm gẫy đến đầu cố định gỗ Sự kiện A xảy 0< x < a/3 CuuDuongThanCong.com (2/3)a < x < a https://fb.com/tailieudientucntt a/3 2a/3 Vậy P(A) CuuDuongThanCong.com (a / 3) (a / 3) a 2/3 https://fb.com/tailieudientucntt a ... sách trứng Ví dụ 18: Với liệu nhập 100_100_100 100_100_1 02 ; 130_100_150 100_100_100 ; 100_110_100 ; 2_ 200 _20 0 _20 0 2_ 100_100_100 3 _20 2 _20 3 _20 4 ; Ở đợt công 2_ 200 _20 0 _20 0, Nightmare làm phai màu... hợp lệ thêm vào cuối hàng trứng Ví dụ 3: Với liệu nhập 100_100_100 ; 130_100_150 ; 100_110_100 ; 0_ 123 _23 4_0 12_ 3 ; Ứng với mã kiện 0_ 123 _23 4_0 12_ 3, trứng có mã màu { 123 ,23 4,0 12} thêm vào cuối hàng... 100_100_100 ; 130_100_150 ; 100_110_100 ; 1_ 123 _23 4_0 12_ 1_3 ; Ứng với kiện 1_ 123 _23 4_0 12_ 1_3, Jack Frost thay đổi màu trứng {100,110,100} thành { 123 ,23 4,0 12} Lưu ý: Jack Frost vệ thần bất quy tắc,

Ngày đăng: 27/02/2022, 15:42

TỪ KHÓA LIÊN QUAN