Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
44
Dung lượng
1,02 MB
Nội dung
CHƯƠNG I TỔNG QUAN CẤU TRÚC DỮ LIỆU GV Th.S Thiều Quang Trung Trường Cao đẳng Kinh tế Đối ngoại Nội dung • Giới thiệu đề cương mơn học • Các khái niệm • Giải thuật, biểu diễn độ phức tạp • Vai trò cấu trúc liệu • Các tiêu chuẩn giải thuật cấu trúc liệu GV: Thiều Quang Trung Giới thiệu đề cương môn học • Học phần: Cấu trúc liệu giải thuật • Số tín chỉ: • Phân bổ thời gian: – Giảng lý thuyết: 30 tiết – Thực hành: 15 tiết – Tự học : 60 tiết • Cơng cụ thực hành lập trình: Dev C++ GV: Thiều Quang Trung Giới thiệu đề cương mơn học • Tóm tắt nội dung học phần: – Cung cấp kiến thức cấu trúc liệu giải thuật cách tổ chức biểu diễn đối tượng liệu từ giới thật, cách xây dựng thao tác xử lý liệu tương ứng với cấu trúc liệu biểu diễn, cách đánh giá lựa chọn giải thuật xử lý liệu phù hợp với cấu trúc liệu biểu diễn – Các kiến thức làm tảng cho sinh viên học tiếp học phần lập trình từ đến nâng cao, cở sở để thiết kế xây dựng phần mềm tin học làm đồ án, đề tài hay làm việc sau trường GV: Thiều Quang Trung Giới thiệu đề cương mơn học • Tài liệu: slides giảng tập giảng viên biên soạn, link: https://sites.google.com/site/thieutrung/ • Tài liệu tham khảo: – [1] Niklaus Wirth, Data Structures and Algorithms, Prentice Hall, 2004 – [2] Mark Allen Weiss, Data Structures and Algorithm – Analysis in C++, Pearson, 2014 – [3] Trần Hạnh Nhi & Dương Anh Đức, Giáo trình Cấu trúc liệu Giải thuật, Đại học quốc gia thành phố Hồ Chí Minh, 2001 GV: Thiều Quang Trung Giới thiệu đề cương môn học Tiêu chuẩn đánh giá sinh viên: • Điểm trung bình phận: trọng số 40% – 02 kiểm tra hệ số 2: • 01 kiểm tra tự luận tiết • 01 kiểm tra thực hành tiết • Điểm thi kết thúc học phần: trọng số 60% – Hình thức thi: thực hành GV: Thiều Quang Trung Giới thiệu đề cương môn học Nội dung học Chương 1: Giới thiệu đề cương môn học Tổng quan cấu trúc liệu giải thuật Chương 2: Các kiểu liệu giải thuật tìm kiếm Chương 3: Các giải thuật xếp liệu Chương 4: Danh sách liên kết Chương 5: Ngăn xếp, Hàng đợi, Đệ quy Chương 6: Cây nhị phân GV: Thiều Quang Trung Các khái niệm • Một chương trình máy tính (computer program) tập câu lệnh để điều khiển máy tính sinh kết cụ thể • Viết chương trình máy tính gọi lập trình máy tính (computer programming) • Ngơn ngữ để tạo chương trình máy tính gọi ngơn ngữ lập trình • Software chương trình hay tập hợp chương trình GV: Thiều Quang Trung Các khái niệm • Một số ngơn ngữ lập trình – – – – – FORTRAN (1957), COBOL, BASIC (1960) PASCAL (1971), C (1980): Structure programming C++, Java (1985): Object-oriented programming Javascript, PHP (1995): Scripting programming Python (1990), Golang (2007) • Cú pháp (syntax) – Cú pháp ngơn ngữ lập trình tập luật để viết câu lệnh xác GV: Thiều Quang Trung Giải thuật ? • Giải thuật/thuật tốn (Algorithm): dãy hữu hạn thị thi hành để đạt mục tiêu đề • Ví dụ: giải thuật tính tổng tất số nguyên dương nhỏ n gồm bước sau: – Bước 1: S=0, i=1; – Bước 2: i diem[((i-1)*số cột) +j] GV: Thiều Quang Trung 32 Ví dụ lưu trữ liệu kiểu mảng • Thao tác xử lý cài đặt cho mảng chiều sau: void indiem() { const int somon = 3; int sv, mon; for (int i=0; i diem[i] [j] GV: Thiều Quang Trung 36 Ví dụ lưu trữ liệu kiểu mảng • Thao tác xử lý cài đặt cho mảng chiều sau: void indiem() { int somon = 3, sosv = 4; for (int i=0; i giúp tăng tính hiệu giải thuật, tốc độ xử lý tốt • Tiết kiệm tài nguyên hệ thống => cấu trúc liệu nên sử dụng tài nguyên hệ thống (CPU nhớ) vừa đủ để đảm nhiệm chức GV: Thiều Quang Trung 40 Các tiêu chuẩn cấu trúc liệu • Ví dụ tình chọn cấu trúc lưu trữ sai: – Chọn biến số nguyên int để lưu trữ tiền thưởng bán hàng (được tính theo công thức tiền thưởng bán hàng = trị giá hàng * 5%) – Sai, số nguyên làm tròn giá trị tiền thưởng gây thiệt hại cho nhân viên bán hàng ! – Trường hợp phải sử dụng biến số thực float để phản ánh kết cơng thức tính thực tế GV: Thiều Quang Trung 41 Các tiêu chuẩn cấu trúc liệu • Ví dụ tình chọn cấu trúc lưu trữ lãng phí: – Sử dụng biến int (2 bytes) để lưu trữ giá trị cho biết tháng hành Biết tháng nhận giá trị từ - 12, nên cần sử dụng kiểu char (1 byte) đủ – Để lưu trữ danh sách học viên lớp sử dụng mảng 50 phần tử (giới hạn số học viên lớp tối đa 50) Nếu số học viên thật 50, gây lãng phí Trường hợp cần có cấu trúc liệu linh động mảng, kiểu xâu liên kết GV: Thiều Quang Trung 42 Sự cần thiết giải thuật • Tại sử dụng máy tính để xử lý liệu? – Nhanh hơn, nhiều – Giải toán mà người khơng thể hồn thành • Làm đạt mục tiêu đó? – Nhờ vào tiến kỹ thuật: tăng cấu hình máy => chi phí cao – Nhờ vào thuật tốn hiệu quả: thơng minh chi phí thấp “Một máy tính siêu hạng khơng thể cứu vãn thuật toán tồi!” GV: Thiều Quang Trung 43 GV: Thiều Quang Trung 44 ... time 1. 1 for each pair in the list 1. 1 .1 if it is not in ordered 1. 1 .1. 1 exchange them End Bubble sort for outter in (n-2) 1. 1 for inner in (n- 2- outter) 1. 1 .1 if Ainner +1 < Ainner 1. 1 .1. 1 swap... niệm • Giải thuật, biểu diễn độ phức tạp • Vai trò cấu trúc liệu • Các tiêu chuẩn giải thuật cấu trúc liệu GV: Thiều Quang Trung Giới thiệu đề cương môn học • Học phần: Cấu trúc liệu giải thuật. .. Quang Trung 12 Biễu diễn giải thuật lưu đồ • Lưu đồ hệ thống nút, cung hình dạng khác thể chức khác GV: Thiều Quang Trung 13 Ví dụ biễu diễn giải thuật lưu đồ GV: Thiều Quang Trung 14 Biễu diễn giải