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: Bài 1b - Hoàng Thị Điệp (2014)

29 4 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 29
Dung lượng 1,39 MB

Nội dung

Bài giảng Cấu trúc dữ liệu và giải thuật - Bài 1b: Khởi động cung cấp cho người học các kiến thức: Giải một bài toán toán tin học, đặc tả vấn đề, cấu trúc dữ liệu, thuật toán. Mời các bạn cùng tham khảo nội dung chi tiết.

Bài 1b: Khởi động Giảng viên: Hoàng Thị Điệp Khoa Công nghệ Thông tin – Đại học Công Nghệ Cấu trúc liệu giải thuật HKI, 2013-2014 Nội dung  Giải tốn tin học  Đặc tả vấn đề  Cấu trúc liệu  Thuật toán diepht@vnu Ứng dụng từ điển Anh-Việt! diepht@vnu Tổ chức liệu Tra từ Thêm từ Xóa từ diepht@vnu Giải toán tin học  Đặc tả vấn đề  Thiết kế cấu trúc liệu  Thiết kế giải thuật  Cài đặt (C++, Java…)  Thử nghiệm sửa lỗi  Tối ưu chương trình diepht@vnu Đặc tả vấn đề  Bài tốn tin học khác với toán tuý toán học  Ví dụ: cài đặt hàm số phức tạp  Khai triển chuỗi vô hạn vs Xấp xỉ diepht@vnu  Từ toán thực tế, phải phát biểu lại xác chặt chẽ  Ví dụ:  Một dự án có n người tham gia thảo luận, họ muốn chia thành nhóm nhóm thảo luận riêng phần dự án Nhóm có người trình lên nhiêu ý kiến Nếu lấy nhóm ý kiến đem ghép lại ý kiến triển khai dự án Hãy tìm cách chia để số ý kiến cuối thu lớn diepht@vnu Cấu trúc liệu  Một cấu trúc liệu liệu phức hợp  gồm nhiều thành phần liệu (cơ sở dựng sẵn)  liên kết thành phần liệu  mảng  cấu trúc  trỏ diepht@vnu Các KDLTT quan trọng  Tập động – dynamic set  Từ điển – dictionary  Danh sách – list  Ngăn xếp – stack  Hàng đợi – queue  Cây – tree KDLTT (kiểu liệu trừu tượng): kiểu liệu phức hợp bao gồm • đối tượng • phép toán đối tượng  Cây nhị phân – binary tree  Cây tìm kiếm nhị phân – binary search tree  Hàng ưu tiên – priority queue  Bảng băm – hash table  Đồ thị - graph class C++: • data members, • member functions diepht@vnu Thuật toán  Thuật toán đặc tả xác dãy bước thực cách máy móc để giải vấn đề  Ví dụ  Cộng số tự nhiên có n chữ số  Tính UCLN số tự nhiên  Tính đắn 10 diepht@vnu Cách viết giả mã  Luồng điều khiển  if…then…[else…]  while…do …  repeat…until…  for…do…  Lùi đầu dòng thay dấu ngoặc  Khai báo phương thức Algorithm method (arg [, arg…]) Input… Output… 15  Gọi phương thức var.method (arg [, arg…])  Trả giá trị return biểu_thức  Các biểu thức  Gán (= C++/Java) = So sánh (== C++/Java) n2 Được sử dụng số ký hiệu tốn học khác diepht@vnu Ví dụ thuật tốn 16 diepht@vnu Ví dụ 1: Sắp xếp bọt (bubble sort) Ý tưởng: Lần lượt duyệt qua danh sách thí sinh từ cuối lên, hai thí sinh khơng thứ tự, đổi chỗ hai thí sinh Lặp lại q trình danh sách xếp 4 17 Bước (Tuấn, 22) (Thăng , 29) (Vinh, 26) (Ánh , 27) Bước 1 (Tuấn, 22) (Thăng, 29) (Ánh, 27) (Vinh, 26) Bước Bước (Thăng, 29) (Ánh, 27) (Tuấn, 22) (Vinh, 26) (Thăng, 29) (Ánh, 27) (Vinh, 26) (Tuấn, 22) Bước (Thăng, 29) (Tuấn, 22) (Ánh, 27) (Vinh, 26) diepht@vnu 18 diepht@vnu Ví dụ 1’: Sắp xếp danh sách website (google search) Google có danh sách N website trả cho truy vấn q Website x có độ ưu tiên f(x) Hãy xếp website theo độ ưu tiên giảm dần Câu hỏi: Có thể dùng bubble sort khơng? Trả lời: Được, khơng hiệu 19 diepht@vnu Ví dụ 2: Danh bạ điện thoại Viết chương trình quản lý danh bạ điện thoại toàn thành phố Hà Nội, cho thao tác sau hiệu nhất: Tìm số điện thoại Thêm số điện thoại Xóa số điện thoại 20 diepht@vnu Ví dụ 3: Tìm đường tốt • Xây dựng hệ thống phần mềm đường tốt cho người dùng Đường ngắn Đường qua đèn xanh – đèn đỏ Đường tắc 21 diepht@vnu Ví dụ 3: Tìm đường tốt (google map) 22 diepht@vnu Ví dụ 3: Tìm đường tốt (google map) 23 diepht@vnu Ví dụ 4: Xây dựng hệ thống từ điển Viết chương trình từ điển Anh – Việt, cho phép thực thao tác sau: 24 Tìm từ Thêm từ Xóa từ Sửa từ Tìm từ đồng nghĩa diepht@vnu Ví dụ 5: Người bán hàng traveling salesman problem (TSP) Một người bán hàng cần đến thăm N khách hàng N địa điểm khác Tìm hành trình cho người bán hàng cho: Mỗi địa điểm thăm lần, sau quay điểm xuất phát Tổng chi phí lại 25 diepht@vnu Người bán hàng Thuật toán: Thăm địa điểm gần (nearest neighbor tour) Từ điểm xuất phát, thăm điểm theo quy tắc: “Đến thăm điểm chưa thăm gần với điểm nhất” 26 diepht@vnu Người bán hàng Nearest neighbor tour: → → → X → → → → → → → 27 Đương tối ưu: 1→2 →3→4 →5 →6 →8→7→X→9→1 diepht@vnu Bài tập  Thực tay phép nhân: 1234 x 5678  Đếm xem bạn thực phép nhân số có chữ số?  Đếm xem bạn thực phép cộng số có chữ số?  Trả lời câu hỏi với phép nhân số tự nhiên n chữ số 28 diepht@vnu Chuẩn bị tuần tới  Thực hành: Ôn tập C++  Lý thuyết: Đọc chương 15 giáo trình 29 diepht@vnu ... kiến cuối thu lớn diepht@vnu Cấu trúc liệu  Một cấu trúc liệu liệu phức hợp  gồm nhiều thành phần liệu (cơ sở dựng sẵn)  liên kết thành phần liệu  mảng  cấu trúc  trỏ diepht@vnu Các KDLTT...Nội dung  Giải tốn tin học  Đặc tả vấn đề  Cấu trúc liệu  Thuật toán diepht@vnu Ứng dụng từ điển Anh-Việt! diepht@vnu Tổ chức liệu Tra từ Thêm từ Xóa từ diepht@vnu Giải tốn tin học... học  Đặc tả vấn đề  Thiết kế cấu trúc liệu  Thiết kế giải thuật  Cài đặt (C++, Java…)  Thử nghiệm sửa lỗi  Tối ưu chương trình diepht@vnu Đặc tả vấn đề  Bài toán tin học khác với toán

Ngày đăng: 09/05/2021, 22:15

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

TÀI LIỆU LIÊN QUAN