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

Bài giảng cấu trúc dữ liệu và giải thuật 17

428 22 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

Cấu trúc

  • ‎F:\Tải Sách\Cấu Trúc Dữ Liệu Và Giải Thuật\Giáo trình Cấu Trúc Dữ Liệu Và Giải Thuật\Bài giảng Cấu Trúc Dữ Liệu Và Giải Thuật 161.pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_1.-ctdl&gt---qui-dinh-can-biet - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_2.-ctdl&gt--de-cuong-mon-hoc - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_3.-chuong-1---phan-tich-do-phuc-tap_cua-giai-thuat - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_4.-chuong-2---cac-thuat-toan-sap-xep - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_5.-chuong-3---tim-kiem-tuan-tu---tim-kiem-nhi-phan - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_6.-chuong-3---brute-force-+-kmp---cac-thuat-toan-tim-kiem-chuoi - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_7.-chuong-3---thuat-toan-rabin-karp - [cuuduongthancong.com].pdf‎

  • ‎F:\Tải Sách\Cấu Trúc Dữ Liệu Và Giải Thuật\Giáo trình Cấu Trúc Dữ Liệu Và Giải Thuật\Bài giảng Cấu Trúc Dữ Liệu Và Giải Thuật 162.pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_8.-chuong-4---cac-khai-niem-co-ban - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_9.-chuong-5---cac-cau-truc-du-lieu - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_13.-chuong-5---cay-do-den-+-aa - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_14.-chuong-5---b-tree - [cuuduongthancong.com].pdf‎

    • ‎F:\Tải Sách\cau-truc-du-lieu-va-giai-thuat_nguyen-tri-tuan_15.-chuong-6---cac-thuat-toan-nen-du-lieu - [cuuduongthancong.com].pdf‎

Nội dung

Cấu trúc liệu & Giải thuật (Data Structures and Algorithms) Các qui định cần biết Nguyễn Tri Tuấn Khoa CNTT – ĐH.KHTN.Tp.HCM Email: nttuan@fit.hcmus.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt Đọc thật kỹ đề cương môn học để nắm rõ tất qui định kế hoạch học tập Winter 2017 Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM CuuDuongThanCong.com https://fb.com/tailieudientucntt Resources Thư mục chia sẻ tài liệu môn học (Dropbox): https://goo.gl/qbYqop Moodle: http://courses.ctdb.hcmus.edu.vn/ Winter 2017 Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM CuuDuongThanCong.com https://fb.com/tailieudientucntt Qui định nộp homework  Nộp tập homework: 23:55 thứ hàng tuần  Mỗi phải lưu riêng, không lưu chung: Nếu nộp file docx/pdf: tập homework file riêng Nếu nộp source: project riêng Có thể gom chung nhiều project vào solution Đặt tên solution theo dạng Đặt tên file (hay tên project theo mã bài) VD: H1.1, H1.2  VD: tuần cần nộp homework H3.1, H3.2, H3.4, H3.6 Giả sử đầu làm Word, sau viết C++ Cần nộp sau: File H3.1.docx, H3.2.docx Solution HW-Tuan-3 có chứa hai project H3.4 H3.6 Tất nén file -HW-Tuan-3.ZIP (hay RAR) upload lên Moodle Winter 2017 Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM CuuDuongThanCong.com https://fb.com/tailieudientucntt Qui định nộp project, tập nhóm  Khi nộp Moodle, nộp phải đáp ứng yêu cầu sau: Không chấp nhận nộp link Nộp nguyên source (solution, project) Nộp kèm release (EXE, DLL) Xóa file trung gian để dung lượng không vượt giới hạn qui định Moodle Có file Readme.txt ghi rõ thơng tin sau File Readme phải encoding Unicode Họ tên, MSSV Source code viết Visual Studio version nào? Các lưu ý khác build, chạy ứng dụng,… Liệt kê rõ chức hoàn thành, phần chưa hoàn thành Khơng ghi chung chung “Hồn thành tồn bộ” hay “Xong”… Winter 2017 Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM CuuDuongThanCong.com https://fb.com/tailieudientucntt Tính điểm tập nhóm Khơng tham gia tập: điểm Trong tập, thành viên đánh giá chéo theo mẫu cung cấp Điểm cá nhân tính dựa đánh giá tổng hợp (*) Mỗi nhóm cần có laptop cài sẵn cơng cụ lập trình để thực tập nhóm lớp (nếu có) Khuyến khích cá nhân có laptop riêng đến lớp Winter 2017 Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM CuuDuongThanCong.com https://fb.com/tailieudientucntt Điểm cộng nhóm Áp dụng cho hoạt động khác lớp: Đi trễ >= 15 phút: -5 điểm/người/lần Phát biểu/xử lý tình huống: +5 điểm/lần Tổng kết cuối mơn học: +10 điểm cho nhóm có tổng điểm cao Summer 2016 Data Structures and Algorithms - Nguyen Tri Tuan, ĐH.KHTN Tp.HCM CuuDuongThanCong.com https://fb.com/tailieudientucntt Hỏi đáp (Q & A) Winter 2017 Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM CuuDuongThanCong.com https://fb.com/tailieudientucntt TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN CHƯƠNG TRÌNH CHẤT LƯỢNG CAO ĐỀ CƯƠNG MƠN HỌC CTT101: Cấu trúc liệu Giải thuật Học kỳ: / 2017 - 2018 THÔNG TIN GIẢNG VIÊN Họ tên: Nguyễn Tri Tuấn Văn phòng làm việc: I-81 (lầu 8, nhà I) Email: nttuan@fit.hcmus.edu.vn Số điện thoại: 0913-913-011 Thời gian tiếp sinh viên: 9:00 – 10:00 thứ THƠNG TIN MƠN HỌC Số tín chỉ: Điều kiện bắt buộc: SV cần học trước môn Kỹ thuật lập trình, Lập trình hướng đối tượng Lớp: 16CLC2 MỤC TIÊU MƠN HỌC Sinh viên học xong mơn học có khả năng:  Hiểu sử dụng cấu trúc liệu, bao gồm: khái niệm, tính chất, ưu điểm, hạn chế, tình sử dụng giải thuật liên quan cấu trúc liệu cụ thể  Phân tích xây dựng cấu trúc liệu (trên sở kết hợp, thay đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm  Cài đặt CTDL giải thuật trình bày phần nội dung môn học C/C++ CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn CuuDuongThanCong.com Page https://fb.com/tailieudientucntt  Phân tích ưu điểm hạn chế cấu trúc liệu khác nhau, từ chọn lựa cấu trúc liệu giải thuật phù hợp cho ứng dụng cụ thể  Đọc hiểu tài liệu tham khảo tiếng Việt, tiếng Anh cung cấp sẵn  Tổ chức làm việc nhóm, phân cơng cơng việc, kỹ trình bày báo cáo Để đạt môn học này, sinh viên cần:  Áp dụng kiến thức khoa học môn học Sử dụng số kiến thức tốn để tính toán độ phức tạp giải thuật, hay cài đặt giải thuật  Hiểu sử dụng cấu trúc liệu, bao gồm: khái niệm, tính chất, ưu điểm, hạn chế, tình sử dụng giải thuật liên quan cấu trúc liệu cụ thể  Áp dụng kiến thức nghề nghiệp, nghiệp vụ (nói chung xã hội) vào chủ đề mơn học Có vận dụng toán thực tế vào việc cài đặt ứng dụng minh họa CTDL  Suy nghĩ giải vấn đề Có thể tự định nghĩa cấu trúc liệu (trên sở kết hợp, thay đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm  Phân tích xây dựng cấu trúc liệu (trên sở kết hợp, thay đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm  Cài đặt cấu trúc liệu giải thuật C/C++  Phân tích ưu điểm hạn chế cấu trúc liệu khác nhau, từ chọn lựa cấu trúc liệu giải thuật phù hợp cho ứng dụng cụ thể  Hiểu xác thuật ngữ tiếng Anh môn học Giải thích diễn đạt thuật ngữ tiếng Anh chuyên ngành môn học Phát âm thuật ngữ, sử dụng xác theo ngữ cảnh  Đọc hiểu tài liệu tham khảo tiếng Anh GV cung cấp  Kỹ viết nói, kỹ trình bày (tiếng Việt) liên quan đến chủ đề môn học  Nhận biết vận dụng kiến thức văn hóa, đạo đức nghề nghiệp, trách nhiệm khía cạnh luật lệ liên quan đến chủ đề môn học Ý thức tuân thủ quyền, tài liệu tham khảo Ý thức tự làm, trung thực báo cáo kết Ý thức tuân thủ kế hoạch làm việc đặt  Thảo luận, tranh luận, phản biện, phê phán sở lý luận khoa học Thảo luận qua seminar  Làm việc nhóm, tổ chức quản lý Làm việc nhóm học lớp hay tập nhóm hay seminar CLC | Đề cương mơn học | CTT101 | Nguyễn Tri Tuấn CuuDuongThanCong.com Page https://fb.com/tailieudientucntt Adaptive Huffman (tt) ROOT 18 W = 19 # = Điều chỉnh để thoả tính chất anh/em E W = 10 # = W = # = W = # = DA WW == 23 ## == 11 Winter 2015 B W = # = W = # = C W = # = A D W = # = Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 64 Adaptive Huffman (tt) ROOT W = 20 # = E W = 10 # = W = 10 # = W = # = D W = # = Winter 2015 B W = # = W = # = C W = # = AA WW == 54 ## == 44 Tăng trọng soá Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 65 Adaptive Huffman (tt) ROOT W = 21 # = E W = 10 # = Điều chỉnh Winter 2015 W = 11 # = A W = # = W = # = C W = # = D W = # = W = # = B W = # = Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 66 Adaptive Huffman (tt) Cách thức tạo cây: (tt) Thuật toán “Xác định nút vi phạm”: Gọi x nút hành So sánh x với nút sau (từ trái  phải, từ  trên) Nếu y cho: y.Weight < x.Weight  x nút bị vi phạm Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 67 Adaptive Huffman (tt) Cách thức tạo cây: (tt) Thuật tốn “Điều chỉnh thỏa tính chất anh/em”: Gọi x nút vi phạm Tìm nút y xa nhất, phía sau x, thoả: y.Weight < x.Weight Hoán đổi nút x nút y Cập nhật lại nút cha tương ứng Lặp lại bước [1] khơng cịn nút vi phạm Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 68 Adaptive Huffman (tt) Cách thức tạo cây: (tt) Vấn đề “tràn số” Quá trình cập nhật  tăng trọng số nút Trọng số nút gốc tăng nhanh…  giá trị trọng số vượt khả lưu trữ kiểu liệu VD unsigned int Weight; Winter 2015 // Giá trị max 65535 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 69 Adaptive Huffman (tt) ROOT W = 255 # = W = 126 # = A W = 63 # = B W = 63 # = W = 129 # = C W = 64 # = D W = 65 # = Nút gốc bị tràn số ta tăng trọng số nút Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 70 Adaptive Huffman (tt) Cách thức tạo cây: (tt) Thuật toán “Xử lý trường hợp tràn số”: Khi cập nhật trọng số, kiểm tra trọng số nút gốc Nếu trọng số nút gốc > MAX_VALUE Giảm trọng số nút (chia cho 2) Cập nhật trọng số nút nhánh Kiểm tra tính chất anh/em điều chỉnh lại (*) (*) phép chia cho làm phần dư số nguyên Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 71 Adaptive Huffman (tt) ROOT W = 18 # = W = 12 # = W = # = A W = # = ROOT W = # = B W = # = C W = # = Cây bị tràn số Winter 2015 D W = # = W = # = W = # = A W = # = B W = # = C W = # = D W = # = Cây sau chia trọng số nút cho cập nhật lại trọng số nút nhánh  vi phạm tính chất anh/em Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 72 Adaptive Huffman (tt) ROOT W = # = C W = # = W = # = W = # = A W = # = D W = # = B W = # = Cây sau điều chỉnh Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 73 Adaptive Huffman (tt) Thuật toán nén (Encoding): // inputfile: liệu cần nén // outputfile: liệu nén initialize_Tree(T); // khởi tạo “tối thiểu” while(c != EOF) { c = getchar(inputfile); // đọc byte liệu encode(T, c, outputfile);// mã hoá (nén) c update_Tree(T, c); // cập nhật c vào } Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 74 Adaptive Huffman (tt) Thuật toán nén (Encoding): (tt) // Mã hoá ký tự c ghi lên outputfile encode(T, c, outputfile) Nếu c chưa có T Duyệt T tìm mã bit Escape, ghi lên file outputfile Ghi tiếp bits mã ASCII c lên file outputfile Nếu c có Duyệt T tìm mã bit c, ghi lên file outputfile Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 75 Adaptive Huffman (tt) Thuật toán giải nén (Decoding) // inputfile: liệu dạng nén // outputfile: liệu giải nén initialize_Tree(T); // khởi tạo “tối thiểu” while((c = decode(T, inputfile)) != EOF) { putchar(c, outputfile); // ghi c lên outputfile update_Tree(T, c); // cập nhật c vào } Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 76 Adaptive Huffman (tt) Thuật toán giải nén (Decoding): (tt) // Giải mã ký tự c từ inputfile decode(T, inputfile)  Bắt đầu từ vị trí inputfile  Lấy bit b, duyệt (b==0: left; b==1: right)  Nếu đến nút x  return (x.char)  Nếu đến nút Escape:  c = bit từ inputfile  return c Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 77 Hỏi & Đáp Winter 2015 Data Structures & Algorithms - Data Compression - Nguyen Tri Tuan, DH.KHTN Tp.HCM 78 ... xây dựng cấu trúc liệu (trên sở kết hợp, thay đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm  Cài đặt cấu trúc liệu giải thuật C/C++  Phân tích ưu điểm hạn chế cấu trúc liệu khác... dụng giải thuật liên quan cấu trúc liệu cụ thể  Phân tích xây dựng cấu trúc liệu (trên sở kết hợp, thay đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm  Cài đặt CTDL giải thuật. .. tính tốn độ phức tạp giải thuật, hay cài đặt giải thuật  Hiểu sử dụng cấu trúc liệu, bao gồm: khái niệm, tính chất, ưu điểm, hạn chế, tình sử dụng giải thuật liên quan cấu trúc liệu cụ thể  Áp

Ngày đăng: 01/03/2022, 14:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN