Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Minh Thái, Phạm Đức Thành
lượt xem 5
download
Bài giảng "Kỹ thuật lập trình - Chương 2: Kỹ thuật xử lý dữ liệu" có cấu trúc cung cấp cho người học các kiến thức: Giới thiệu, kỹ thuật xử lý và tổ chức dữ liệu biểu diễn danh sách, kỹ thuật xử lý mảng, thuật toán xử lý chuỗi, phương pháp biểu diễn đồ thị và thuật toán cơ bản, tổ chức dữ liệu biểu diễn cấu trúc cây. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Minh Thái, Phạm Đức Thành
- KỸ THUẬT LẬP TRÌNH Chương 2 Kỹ thuật xử lý dữ liệu có cấu trúc (12 tiết) TRẦN MINH THÁI – minhthai@huflit.edu.vn, www.minhthai.edu.vn PHẠM ĐỨC THÀNH – phamducthanh@huflit.edu.vn, www.phamthao.com 9/17/16 Trần Minh Thái - Phạm Đức Thành 1
- Nội dung v 2.1. Giới thiệu v 2.2. Kỹ thuật xử lý và tổ chức dữ liệu biểu diễn danh sách v 2.3. Kỹ thuật xử lý mảng v 2.4. Thuật toán xử lý chuỗi v 2.5. Phương pháp biểu diễn đồ thị và thuật toán cơ bản v 2.6. Tổ chức dữ liệu biểu diễn cấu trúc cây v 2.7. Tóm tắt chương 9/17/16 Trần Minh Thái - Phạm Đức Thành 2
- [2.1] Giới thiệu v Tìm hiểu về các kỹ thuật xử lý trên kiểu dữ diệu người dùng tự định nghĩa như: danh sách (list), mảng (array), chuỗi (string), cây (tree).. v C# hỗ trợ rất tốt về dữ liệu có cấu trúc và các thao tác trên đó thông qua: Ø Namespace System.Collections. Ø Namespace System.Collections.Generic. 9/17/16 Trần Minh Thái - Phạm Đức Thành 3
- [2.2] Kỹ thuật xử lý và tổ chức dữ liệu biểu diễn danh sách v Khái niệm. v Tổ chức dữ liệu bằng danh sách (list). v Kỹ thuật xử lý danh sách. 9/17/16 Trần Minh Thái - Phạm Đức Thành 4
- Khái niệm danh sách v Một tập sắp theo thứ tự các phần tử có cùng kiểu. v Cấu trúc dữ liệu tuyến tính, trong đó các phần tử dữ liệu được sắp theo một thứ tự xác định. 9/17/16 Trần Minh Thái - Phạm Đức Thành 5
- Khái niệm danh sách v Một số thao tác: Ø Kiểm tra danh sách có rỗng không. Ø Đếm số phần tử theo tiêu chí xác định trước. Ø Tìm một phần tử trong danh sách. Ø Chèn một phần tử vào danh sách. Ø Xóa một phần tử khỏi danh sách. Ø Sắp xếp theo tiêu chí nào đó... v Các phép toán trên danh sách không phụ thuộc vào kiểu dữ liệu của phần tử trong danh sách.Trần Minh Thái - Phạm Đức Thành 9/17/16 6
- Khái niệm danh sách v Ví dụ: Ø Danh sách sinh viên. Ø Danh sách diện thoại (danh bạ điện thoại). Ø Danh sách môn học. Ø Danh sách nhân viên. Ø Danh sách hàng hóa (danh mục hàng hóa). 9/17/16 Trần Minh Thái - Phạm Đức Thành 7
- Tổ chức dữ liệu bằng danh sách v Cú pháp: Danh sách List list = new List(); v Ví dụ, khai báo danh sách số nguyên List list = new List(); 9/17/16 Trần Minh Thái - Phạm Đức Thành 8
- Tổ chức dữ liệu bằng danh sách v Ví dụ, khai báo danh sách có tên list là danh sách chứa các sinh viên. struct sinhVien { public string maSV, hoTen; public DateTime ngaySinh; public string diaChi, maLop; } List list = new List(); 9/17/16 Trần Minh Thái - Phạm Đức Thành 9
- Tổ chức dữ liệu bằng danh sách v Danh sách liên kết: class Node { int key; Node next; } LinkedList linkList = new LinkedList(); 9/17/16 Trần Minh Thái - Phạm Đức Thành 10
- Kỹ thuật xử lý danh sách v Kiểm tra danh sách rỗng: if (list.Count == 0) Console.WriteLine("Danh sách rỗng"); else Console.WriteLine("Danh sách không rỗng"); 9/17/16 Trần Minh Thái - Phạm Đức Thành 11
- Kỹ thuật xử lý danh sách v Thêm một phần tử vào danh sách: list.Add(100); v Thêm nhiều phần tử vào danh sách: list.AddRange(new int[] { 33, 44, 55 }); 9/17/16 Trần Minh Thái - Phạm Đức Thành 12
- Kỹ thuật xử lý danh sách v Chèn phần tử vào cuối danh sách: list.Insert(list.Count, 9999); v Truy xuất đến các phần tử trong danh sách: foreach (int x in list) Console.WriteLine(x); 9/17/16 Trần Minh Thái - Phạm Đức Thành 13
- Kỹ thuật xử lý danh sách v Đếm số phần tử bằng giá trị X cho trước: int X = 5, dem = 0; foreach (int ai in list) if (ai == X) dem++; Console.WriteLine("Co {0} phan tu bang {1}", dem, X); 9/17/16 Trần Minh Thái - Phạm Đức Thành 14
- Kỹ thuật xử lý danh sách v Tìm một phần tử có giá trị X cho trước: int index=list.IndexOf(X); if (index == -1) Console.WriteLine("Tim khong thay"); else Console.WriteLine("Tim thay"); 9/17/16 Trần Minh Thái - Phạm Đức Thành 15
- Kỹ thuật xử lý danh sách v Chèn một phần tử vào danh sách: list.Insert(3, 5); v Xóa một phần tử khỏi danh sách tại vị trí xác định: list.RemoveAt(4); v Sắp xếp danh sách: list.Sort(); 9/17/16 Trần Minh Thái - Phạm Đức Thành 16
- Bài tập ví dụ Cho danh sách các mặt hàng, mỗi mặt hàng gồm các thông tin: mã hàng, tên hàng, số lượng, đơn giá, ngày nhập hàng. Hãy viết các hàm: v Nhập danh sách các mặt hàng v In danh sách các mặt hàng được nhập vào cách đây ít nhất 10 ngày v Sắp xếp danh sách các mặt hàng theo thứ tự tăng dần của tên hàng 9/17/16 Trần Minh Thái - Phạm Đức Thành 17
- Bài tập ví dụ Khai báo cấu trúc mặt hàng struct MatHang { public string maHang; public string tenHang; public DateTime ngayNhap; public int soLuong; public int donGia; } 9/17/16 Trần Minh Thái - Phạm Đức Thành 18
- Bài tập ví dụ Nhập thông tin của một mặt hàng static void NhapMatHang(out MatHang x) { Console.Write("- Nhap ma hang: "); x.maHang = Console.ReadLine(); Console.Write("- Nhap ten hang: "); x.tenHang = Console.ReadLine(); Console.Write("- Nhap so luong: "); x.soLuong = int.Parse(Console.ReadLine()); Console.Write("- Nhap don gia: "); x.donGia = int.Parse(Console.ReadLine()); Console.Write("- Nhap vao ngay nhap hang (dd/mm/yyyy): "); string ngay = Console.ReadLine(); x.ngayNhap = DateTime.Parse(ngay); } 9/17/16 Trần Minh Thái - Phạm Đức Thành 19
- Bài tập ví dụ Nhập danh sách mặt hàng static void NhapDanhSach(List dshang) { MatHang x; char nhap; do { NhapMatHang(out x); dshang.Add(x); Console.Write("Nhap tiep mat hang (Y/N)?: "); nhap = char.Parse(Console.ReadLine()); } while (nhap == 'Y' || nhap == 'y'); } 9/17/16 Trần Minh Thái - Phạm Đức Thành 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình - Phạm Thế Bảo
0 p | 217 | 32
-
Bài giảng Kỹ thuật lập trình: Chương I - Lưu Hồng Việt
48 p | 194 | 23
-
Bài giảng Kỹ thuật lập trình: Chương II - Lưu Hồng Việt
74 p | 181 | 18
-
Bài giảng Kỹ thuật lập trình: Chương IV - Lưu Hồng Việt
32 p | 149 | 17
-
Bài giảng Kỹ thuật lập trình Programing technique - Vũ Đức Vượng
68 p | 219 | 16
-
Bài giảng Kỹ thuật lập trình: Chương V - Lưu Hồng Việt
19 p | 124 | 15
-
Bài giảng Kỹ thuật lập trình: Chương III - Lưu Hồng Việt
51 p | 145 | 15
-
Bài giảng Kỹ thuật lập trình: Chương VI - Lưu Hồng Việt
27 p | 132 | 11
-
Bài giảng Kỹ thuật lập trình: Phần 1 - ĐH CNTT&TT
37 p | 114 | 10
-
Bài giảng Kỹ thuật lập trình - Bài 1: Tổng quan về kỹ thuật lập trình
65 p | 163 | 8
-
Bài giảng Kỹ thuật lập trình: Bài 1 - Phạm Đình Sắc
9 p | 125 | 7
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Dương Thành Phết
26 p | 91 | 7
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Minh Thái, Phạm Đức Thành
50 p | 116 | 6
-
Bài giảng Kỹ thuật lập trình - TS. Vũ Hương Giang
8 p | 117 | 5
-
Bài giảng Kỹ thuật lập trình: Bài 2 - Phạm Đình Sắc
7 p | 116 | 5
-
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 p | 12 | 4
-
Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan về kỹ thuật lập trình
45 p | 52 | 3
-
Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan về kỹ thuật lập trình (Trường Đại học Bách khoa Hà Nội)
46 p | 12 | 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