Slide bài giảng cấu trúc dữ liệu và giải thuật
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Giới thiệu môn học Giới thiệu Môn học giới thiệu Các cấu trúc dữ liệu cơ bản Các giải thuật điển hình trên các cấu trúc dữ liệu đó Dùng phương pháp hướng thủ tục Ngôn ngữ lập trình minh hoạ Mã giả (pseudocode) C++ Giới thiệu môn học 2 Nội dung Chương 0: GIỚI THIỆU CHUNG Chương 1: DANH SÁCH (LIST) Chương 2: STACK-QUEUE Chương 3: ĐỆ QUY Chương 4: KỸ THUẬT TÌM KIẾM (SEARCHING) Chương 5: KỸ THUẬT SẮP XẾP (SORTING) Chương 6: CÂY (TREE) ÔN TẬP - KIỂM TRA (REVIEW – TEST) Giới thiệu môn học 3 Tài liệu [1] C_and_DataStructure - P S Deshpande, O G Kakde (Bắt buộc mỗi SV phải có) [2] Bài giảng & Bài thực hành CTDL - Trường ĐHCN [3] Giáo trình Cấu trúc dữ liệu 1, Trần Hạnh Nhi – Dương Anh Đức, Trường DHKHTN – DHQG TP.HCM [4] Cấu trúc dữ liệu, Nguyễn Trung Trực, Trường DHBK – DHQG TP.HCM Giới thiệu môn học 4 Vấn đề ngôn ngữ lập trình Dùng C++ để diễn đạt => Có vấn đề? Mã giả (pseudo code) Giả lập, thường là dễ hiểu, không chi tiết đến các kỹ thuật lập trình Ở cấp độ hết sức tổng quát: gần ngôn ngữ tự nhiên Hoặc rất chi tiết: như dùng ngôn ngữ tựa Pascal, tựa C++ Giới thiệu môn học 5 Giải thuật bằng mã giả Ví dụ: Mã giả của bubble sort Giải thuật 1 Giải thuật 2 Algorithm Bubble sort Algorithm Bubble sort Input: The list A of n elements is Input: The list A of n elements is given given Output: The list A is sorted Output: The list A is sorted 1 loop for n time 1 for outter in 0 (n-2) 1.1 for each pair in the list 1.1 for inner in 0 (n-2- outter) 1.1.1 if it is not in ordered 1.1.1.1 exchange them 1.1.1 if Ainner+1 < Ainner 1.1.1.1 swap Ainner, Ainner+1 End Bubble sort End Bubble sort Giới thiệu môn học 6 Giải thuật bằng ngôn ngữ lập trình Ví dụ: Lập trình cụ thể Bubble sort Giải thuật 1: Pascal Giải thuật 2: C++ procedure BubbleSort(var A: list); void BubbleSort(list A) var i,j: int; { begin int i, j; for i := 1 to n-1 do for (i=0; i < n-2; i++) for j := 1 to (n-1-i) do if A[j+1] < A[j] then for (j=0; j= 5 SV sẽ bị cấm thi nếu nghỉ quá 20% số tiết Giới thiệu môn học 13 ... buộc SV phải có) [2] Bài giảng & Bài thực hành CTDL - Trường ĐHCN [3] Giáo trình Cấu trúc liệu 1, Trần Hạnh Nhi – Dương Anh Đức, Trường DHKHTN – DHQG TP.HCM [4] Cấu trúc liệu, Nguyễn Trung... cách giải vấn đề máy tính số (giải thuật mã giả) Sau đó: ngơn ngữ lập trình cụ thể Học: Nhớ giải thuật (mã giả) Dùng NNLT cụ thể để minh chứng Giới thiệu môn học Cấu trúc môn học Cấu trúc: ...Giới thiệu Môn học giới thiệu Các cấu trúc liệu Các giải thuật điển hình cấu trúc liệu Dùng phương pháp hướng thủ tục Ngơn ngữ lập trình minh hoạ Mã