CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT-Thuật toán và phân tích thuật toán
lượt xem 71
download
Bước 1. Xác định bài toán -Tập Input và Output Bước 2. Lựa chọn/ thiết kế thuật toán a) Lựa chọn/ thiết kế thuật toán – Giải bài toán nhiều thuật toán – Không gian ? Thời gian ?; Cài đặt ?
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT-Thuật toán và phân tích thuật toán
- CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Giảng viên : Hồ Sĩ Đàm Bộ môn Mạng và truyền thông máy tính Trường ĐH Công Nghệ - ĐH Quốc Gia Hà Nội Email damhs@vnu.edu.vn Mob. 0913580373
- Giới thiệu môn học cấp : Cung - Các kiến thức cơ bản về cấu trúc dữ liệu và thuật toán; - Kĩ năng xây dựng, lựa chọn các cấu trúc dữ liệu và các thuật toán hợp lí.
- Giới thiệu môn học Chương I : Thuật toán và phân tích thuật toán Chương II : Đệ quy Chương III : Các dữ liệu có cấu trúc Chương IV : Danh sách Chương V : Cây Chương VI * : Bảng băm Chương VII : Sắp xếp Chương VIII : Tìm kiếm Chương IX : Đồ thị Chương X : Các kỹ thuật thiết kế thuậ toán
- ̀ ̣ ̉ Tai liêu tham khao Thomas H. Cormen, Introduction to Algorithms, MIT – Press, 1990 R. Sedgevick,Algorithms Addison- Wesley, Bản dịch – tiếng Việt: Cẩm nang thuật toán ( tập 1, 2). Hồ Sĩ Đàm, Nguyễn Việt Hà, Bùi Thế Duy – Đinh Mạnh Tường, Đỗ Xuân Lôi –
- CHƯƠNG I: THUẬT TOÁN VÀ PHÂN TÍCH THUẬT TOÁN Giải bài toán trên máy tính 1. Mô hình dữ liệu 2. Cấu trúc dữ liệu 3. Bài toán và thuật toán 4.
- 1 Giai bài toán trên máy tính Bước 1. Xác định bài toán -Tập Input và Output Bước 2. Lựa chọn/ thiết kế thuật toán a) Lựa chọn/ thiết kế thuật toán – Giải bài toán nhiều thuật toán – Không gian ? Thời gian ?; Cài đặt ?
- 1. Giải bài toán trên máy tính b) Diễn tả thuật toán • Input: Hai số nguyên dương a và b; • Output: q và r : a= bq+r. • Ý tưởng: - Nếu a < b thì q = 0 và r = a. Kết thúc. - Nếu a > b thì a giảm đi b và q tăng lên 1. L ặp cho đến khi a < b.
- 1. Giải bài toán trên máy tính *) Sơ đồ khối *) Cách liệt kê Bước 1: Nhập a và b; Bước 2: q ⇐ 0; Bước 3: Nếu a < b thì r ⇐ a rồi chuyển đến b. 5; Bước 4: a ⇐ a - b, q ⇐ q + 1 rồi quay về b.3; Bước 5: Đưa ra r và q. Kết thúc.
- 1. Giải bài toán trên máy tính Bước 3. Viết chương trình Chọn CTDL Unsigned int Factorial (unsigned int n) Unsigned int Factorial (unsigned int n) { { Ngôn ngữ lập trình ifif (n==0) (n==0) return 1; return 1; Else Else return n* Factorial (n-1); return n* Factorial (n-1); }} Bước 4. Hiệu chỉnh Xây dựng các bộ input (test) tiêu biểu Chạy thử
- 1. Giải bài toán trên máy tính Bước 5. Viết tài liệu Hướng dẫn sử dụng Thuật toán, Cấu trúc dữ liệu … ….
- 2. Mô hình dữ liệu (Data model) các trừu tượng :đồ thị, tập hợp, Là danh sách, cây... Hai khía cạnh: – Giá trị (kiểu dữ liệu) – Các phép toán ( operation) Chương trình có thể truy xuất đến các vùng lưu trữ.
- 3. Cấu trúc dữ liệu (Data structures) các đơn vị cấu trúc (construct) của Là NNLT dùng để biểu diễn các mô hình dữ liệu Ví dụ: mảng, bản ghi, set, file, xâu,..
- 4. Bài toán và thuật toán 4.1. Bài toán Xác định rõ Input và Output Ví dụ: Kiểm tra xem N có phải là số nguyên t ố hay không? : Số nguyên dương N - Input - Output : Trả lời N là số nguyên tố?
- 4. Bài toán và thuật toán 4.2. Thuật toán là một dãy hữu hạn các thao tác, sắp x ếp theo một trật tự xác định, sau khi thực hiện, từ Input ta nhận được Output cần tìm.
- 4. Bài toán và thuật toán Ví d ụ - Input:N nguyên dương, dãy a 1,..., an. - Output : Tìm Max của dãy đã cho. Ý tưởng Giả thiết Max = a1. Với mỗi i, nếu ai > Max thì thay giá trị Max= ai.
- 4. Bài toán và thuật toán 4.3. Mô tả thuật toán a) Cách liệt kê Bước 1. Nhập N và dãy a1, ..., an Bước 2. Đặt Max = a1, i = 2; Bước 3. Nếu i > N thì đến B. 5; Bước 4. 4.1. N ếu ai > Max thì Max = ai. 4.2. Đặt i=i+1 rồi quay B.3;
- 4. Bài toán và thuật toán b) Sơ đồ khối Dùng: Ovan, Chữ nhật, Hìn thoi,Mũi tên,…
- 4. Bài toán và thuật toán c) Ngôn ngữ điều khiển Dùng các ký hiệu và quy tắc Cách thiết lập thứ tự các thao tác cấu trúc điều khiển ( 03 )
- BIỂU DIỄN BẰNG CẤU TRÚC ĐIỀU KHIỂN Trong khi m ≠ n thì lặp lại khối Int Horner(int a[],int x) sau: { Nếu m > n thì int result = a[n]; Bớt m đi một lượng là n Điều chỉnh lại giá trị for (i=n-1; i>=0;--1) Nếu ngược lại thì của m và n result= result*x+a[i]; Bớt n đi một lượng là m return result; Cho tới khi m = n thì tuyên bố } USCLN chính là giá trị chung của m và n Chương trình trong C++
- 4. Bài toán và thuật toán 4.4. Các đặc trưng chính của thuật toán a)Tính kết thúc (tính đóng) b)Tính xác định (đơn nghĩa) Có đúng một thao tác để được thực hiện hoặc dừng
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình cấu trúc dữ liệu và giải thuât part 1
16 p | 825 | 365
-
Giáo trình cấu trúc dữ liệu và giải thuât part 2
16 p | 551 | 286
-
Bài giảng Cấu trúc dữ liệu - Bài 1:Tổng quan về cấu trúc dữ liệu và giải thuật
47 p | 174 | 17
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên
25 p | 79 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 1: Các khái niệm cơ bản về Cấu trúc dữ liệu và giải thuật
20 p | 44 | 8
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Các cấu trúc dữ liệu
193 p | 57 | 7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (2016)
62 p | 94 | 6
-
Giáo trình Cấu trúc dữ liệu và giải thuật - CĐ Nghề Đắk Lắk
60 p | 45 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (Trường Đại học Hồng Bàng )
62 p | 158 | 6
-
Giáo trình Cấu trúc dữ liệu và giải thuật (Nghề: Công nghệ thông tin - Trung cấp) - Trường Trung cấp Công nghệ và Du lịch Hà Nội
59 p | 14 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Chương 1: Tổng quan về giải thuật và cấu trúc dữ liệu
10 p | 66 | 4
-
Giáo trình Cấu trúc dữ liệu và giải thuật (Ngành: Công nghệ thông tin - Cao đẳng) - Trường Cao đẳng Xây dựng số 1
77 p | 11 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 – Trần Minh Thái (2017)
67 p | 106 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 1: Một số khái niệm cơ bản về cấu trúc dữ liệu và giải thuật
12 p | 91 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Tổng quan - Nguyễn Đức Cương
6 p | 99 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 1: Cấu trúc dữ liệu và giải thuật
42 p | 55 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Th.S Thiều Quang Trung
41 p | 68 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Ngô Quang Thạch
49 p | 63 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn