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
Số trang: 123
Loại file: ppt
Dung lượng: 875.50 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bước 1. Xác định bài toán-Tập Input và OutputBước 2. Lựa chọn/ thiết kế thuật toána) 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 ?
Nội dung trích xuất từ tài liệu:
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ẬTGiảng viên : Hồ Sĩ ĐàmBộ môn Mạng và truyền thông máy tínhTrường ĐH Công Nghệ - ĐH Quốc Gia Hà NộiEmail damhs@vnu.edu.vnMob. 0913580373Giớ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ÂNTÍCH THUẬT TOÁN Giải bài toán trên máy tính1. Mô hình dữ liệu2. Cấu trúc dữ liệu3. Bài toán và thuật toán4.1 Giai bài toán trên máy tínhBước 1. Xác định bài toán -Tập Input và OutputBướ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ínhBướ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ínhBướ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ệuVí dụ: mảng, bản ghi, set, file, xâu,..4. Bài toán và thuật toán4.1. Bài toán Xác định rõ Input và OutputVí 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án4.2. Thuật toán là một dãy hữu hạn các thao tác, sắp x ếptheo 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ánVí 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án4.3. Mô tả thuật toána) Cách liệt kêBước 1. Nhập N và dãy a1, ..., anBướ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ánb) 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ánc)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 ...
Nội dung trích xuất từ tài liệu:
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ẬTGiảng viên : Hồ Sĩ ĐàmBộ môn Mạng và truyền thông máy tínhTrường ĐH Công Nghệ - ĐH Quốc Gia Hà NộiEmail damhs@vnu.edu.vnMob. 0913580373Giớ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ÂNTÍCH THUẬT TOÁN Giải bài toán trên máy tính1. Mô hình dữ liệu2. Cấu trúc dữ liệu3. Bài toán và thuật toán4.1 Giai bài toán trên máy tínhBước 1. Xác định bài toán -Tập Input và OutputBướ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ínhBướ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ínhBướ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ệuVí dụ: mảng, bản ghi, set, file, xâu,..4. Bài toán và thuật toán4.1. Bài toán Xác định rõ Input và OutputVí 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án4.2. Thuật toán là một dãy hữu hạn các thao tác, sắp x ếptheo 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ánVí 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án4.3. Mô tả thuật toána) Cách liệt kêBước 1. Nhập N và dãy a1, ..., anBướ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ánb) 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ánc)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 ...
Tìm kiếm theo từ khóa liên quan:
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 tài liệu 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âtGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 303 0 0 -
3 trang 156 3 0
-
Giáo trình cấu trúc dữ liệu và giải thuât part 2
16 trang 155 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Trần Hạnh Nhi
123 trang 154 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 140 0 0 -
10 trang 136 0 0
-
57 trang 118 1 0
-
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 1 - Trần Hạnh Nhi
98 trang 111 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 4: Một số giải thuật sắp xếp và tìm kiếm
29 trang 107 0 0 -
49 trang 67 0 0