intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Minh Thái, Phạm Đức Thành

Chia sẻ: Hấp Hấp | Ngày: | Loại File: PPTX | Số trang:167

74
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. 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
  2. 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
  3. [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
  4. [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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2