Cấu Trúc Dữ Liệu và Giải Thuật trong Quản Lý Danh Mục Đồng Hồ

Đồ án nghiên cứu môn học cấu trúc dữ liệu và giải thuật, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán ., phục vụ nghiên cứu và ứng dụng thực tiễn

2023

54
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. Chương 1: Giới thiệu

1.1. Giới thiệu đề bài

1.2. Cấu trúc

1.3. Dữ liệu mẫu

1.4. Các chức năng

2. Chương 2: Tìm kiếm và sắp xếp trên mảng cấu trúc

2.1. Nhập danh sách đồng hồ

2.2. Kiểm tra

2.3. Kết quả chạy phần tử

2.4. Tìm thông tin đồng hồ theo hãng sản xuất dùng Linearsearch và Binarysearch

2.5. Sắp xếp danh sách theo Mã sản phẩm dùng Shaker Sort

2.6. Sắp xếp danh sách theo Mã sản phẩm dùng Selection Sort

2.7. Sắp xếp danh sách theo Hãng sản xuất dùng Interchange Sort

2.8. Sắp xếp danh sách theo Trọng lượng dùng Bubble Sort

Trích đoạn nội dung tài liệu

BO TAI CHINH TRUONG DAI HOC TAI CHINH — MARKETING _ DOANMONHOC | CAU TRUC DU LIEU VA GIAI THUAT Giang vién : Nguyễn Quốc Thanh Sinh viên thực hiện : Đễ Tường Vy MSSV : 2021010354 Lớp :20DHT05 TPHCM - 12/2020 Bài thực hành Cấu trúc dữ liệu và giải thuật BỘ TÀI CHÍNH TRƯỜNG ĐẠI HỌC TAI CHINH — MARKETING _ DOANMONHOC | CAU TRUC DU LIEU VA GIAI THUAT Giang vién : Nguyễn Quốc Thanh Sinh viên thực hiện : Đễ Tường Vy MSSV : 2021010354 Lớp :20DHT05 TPHCM - 12/2020 2 Bài thực hành Cấu trúc dữ liệu và giải thuật MỤC LỤC Lờ I®:0082s. 5 Ch ii SIc ii .1 Gi Gthi GU nh ố. - -- - Ă KH HH HH HH TH HT th kg 6 1.3 Dữ lỆ U mẫu.4 Cac CHUC in . 8 Ch ngr?: Tìm kiêâm và säâp xêâp trên m ¿ng cââu †rÚC.3 Tìm kiêâm mã sản phẩm w ¡ Linearsearch và Binarysearch:.4 Tìm thông tin DH theo hang s 4 xudat dùng Linearsearch và Binarysearch.5 Săâp xêâp danh sách theo Mã sản plá m dùng Shaker Sort.6 Săâp xêâp danh sách theo Mã sản plá m dùng Selection Sort.7 Sãâp xêâp danh sách theo Hãng s ủ xuâât dùng Interchange Sort.8 Sãâp xêâp danh sách theo Trọng trợ ng dùng Bubble Sort.9 Sãâp xêâp danh sách theo Giá dùng Insertion Sort.10 Sãâp xêâp danh sách theo thời gian Bị. o hành dùng Quick Sort. 30 Ch ngr8: Tìm kiêâm và säâp xêâp trên danh sách liên kêât.2 Các thao tác cơ là n trên DSLÍ. ---- SH TH HH.3 Tìm kiêâm thông tin đôêng hôê theo mã sản phâm.4 Tìm thông tin ĐH theo tên hãng sả xuâât dùng Linear Search.5 Săâp xêâp danh sách theo mã sản phá m dùng Sharker Sort.6 Săâp xêâp danh sách theo Mã sản plâ m dùng Selection Sort.7 Săâp xêâp danh sách theo Mã sản phá m dùng Interchange Sort.8 Sãâp xêâp danh sách theo Trọng trợ ng dùng Bubble Sort.9 Sãâp xêâp danh sách theo thời gian Bi o hành dùng Insertion Sort.10 Sãâp xêâp danh sách theo thời gian li o hành dùng Quick Sort. 52 Bài thực hành Cấu trúc dữ liệu và giải thuật Bài thực hành Cấu trúc dữ liệu và giải thuật Lời Cam Đoan Tôi xin cam đoan bài đồ án này là do chính tôi thực hiện cùng với sựu hô trợ từ giáo viên giảng dạy bộ môn hướng dân và các bạn bè trong nhóm học tập không đánh cắp do an của người khác làm của riêng cho mình và hướng quyền lợi trên công sức của người khác . Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan trên ! Sinh Viên Đỗ Tường Wy Bài thực hành Cấu trúc dữ liệu và giải thuật Lời Cảm Ơn Lời nói đầu tiên em xin gửi lời cám ơn đến giáo viên trong toàn khoa CNTT của Trường Đại Học Tài chính Marketing nói chung và 2 giáo viên chuyên ngành giảng dạy bộ môn cấu trúc đữ liệu và giải thuật nói riêng. Và em xin gửi lời cám ơn đặc biệt nhất đến Thầy Nguyễn Quốc Thanh giáo viên giảng dạy và hướng dẫn em thực hiện tốt bài đồ án lần này . Em xin trân trong cam on ! Sinh Vién D6 Tuong Vy Bài thực hành Cấu trúc dữ liệu và giải thuật Chương 1: Giới thiệu 1.1 Giới thiệu đề bài Xây dựng chức năng tìm kiếm và sắp xếp trên các câu trúc hỗ trợ quản lý danh mục đồng hồ được bán một đơn vị gồm các thông tin: Mã sản phẩm (MaSP); Hãng sản xuất (HangSX); Giới tính (đồng hồ nữ, đồng hồ nam, trung tinh, .2 Cấu trúc Mô tả cấu trúc được yêu cầu, chọn CTDL đề thê hiện, khai báo/định nghĩa cầu trúc Thong tin san pham déng hồ cần quản lý gồm: - MaSP: Mã sản phẩm, gồm một chuỗi ký tự số có chiều đài LI ký tự. - HangSX: Hãng sản xuất, chiều dài mỗi chữ khoảng 10 ký tự - GioiTinh: Giới tính, chỉ gồm I chữ với chiều dài chữ khoảng 10 ký tự - TrongLuong: Trọng lượng đồng hồ - BaoHanh: Thời gian bảo hành của đồng hồ - Gia: Giá bán của đồng hồ Cấu trúc dữ liệu hỗ trợ quản lý thông tin các đồng hà: - MaSP: chuỗi gồm II ký tự số - HangSX: chuỗi tối đa 10 ký tự - GioiTinh: chuỗi tối đa 10 ký tự - TrongLuong: số nguyên không âm (TrongLuong >= 0) - BaoHanh: số nguyên không âm (BaoHanh >= 0) Bài thực hành Cấu trúc dữ liệu và giải thuật - Gia : số thực dương (Gia>=0) Định nghĩa cầu trúc đồng ho: struct dongho { char MaSP[11]; char HangSxX[1@]; 1.3 Dữ liệu mẫu char GioiTinh[1®]; >= 10 thông tin đối tượng cần quản lý int TrongLuong; int BaoHanh; STT Ma SP Hang SX | Giới tính | Trọng float Gia; lượng l 1910 Casio Nam 70g 2 1901 Tag Nam 160g Heuer 1903 Rolex Nam 156g 4 1904 Omega Trung 55g tinh 5 1907 Longines | Nt 140g § 6 1906 Tissot Trung 180g tinh 7 1905 Timex Trung 100g tinh 8 1908 Calvin Nữ 902 Klein 9 1902 Movado | Nam 100g 10 1909 Citizen Nam 150g Bài thực hành Cấu trúc dữ liệu và giải thuật 1.4 Các chức năng (Liệt kê các chức năng sẽ xây dựng) Các chức năng trên máng cầu trúc - Nhập danh sách đồng hồ - Xuất danh sách đồng hồ - Tìm thông tin ĐH theo mã số x (dùng Linear Search và Binary Search) - Tìm thông tin ĐH theo hãng sản xuất (đùng Linear Search và Binary Search) - Sắp xếp danh sách theo Mã sản phẩm (dùng Shaker Sort) - Sắp xếp danh sách theo Mã sản phâm (dùng Selection Sort) - Sắp xếp danh sách theo Mã sản phâm (dùng Interchange Sort) - Sắp xếp danh sách theo Trọng lượng (dùng Bubble Sort) - Sắp xếp danh sách theo Giá (dùng Insertion Sort) - Sắp xếp danh sách theo thời gian Bảo hành (dùng Quick Sort) - Sắp xếp danh sách theo Mã sản phâm (dùng Merge Sort) Các chức năng trên danh sách liên kết - Nhập danh sách đồng hồ - Xuất danh sách đồng hồ - Tìm thông tin ĐH theo mã sp x (dung Linear Search ) - Tìm thông tin ĐH theo tén (dung Linear Search ) - Sắp xếp danh sách theo Mã sản phẩm (dùng Shaker Sort) - Sắp xếp danh sách theo Mã sản phâm (dùng Selection Sort) - Sắp xếp danh sách theo Mã sản phâm (dùng Interchange Sort) - Sắp xếp danh sách theo Trọng lượng (dùng Bubble Sort) - Sắp xếp danh sách theo Giá (dùng Insertion Sort) - Sắp xếp danh sách theo thời gian Bảo hành (dùng Quick Sort) - Sắp xếp danh sách theo Trọng lượng (dùng Merge Sort) Bài thực hành Cấu trúc dữ liệu và giải thuật Chương 2: Tìm kiêm và sắp xêp trên mảng câu trúc 2.1 Nhập danh sách đồng hồ 2.1 Chương trình con Đề nhập danh sách đồng hỗ, cần xây dựng hai chương trình con gồm: - void nhap o(dongho &a): hỗ trợ nhập thông tin một sinh viên gồm MaSp, HangSX, GioiTinh, TrongLuong, Baohanh, Gia - void nhap_mang(dongho al], int n) hỗ trợ nhập danh sách đồng hồ 10 Bài thực hành Cấu trúc dữ liệu và giải thuật //Ctc nhập ô cấu trúc -void nhap_o(dongho &a) { cout << "\nNhap ma san pham: "; cin.MaSP, 11); cout << "\nNhap hang san xuat: ”"; cin.HangSX, 19); cout << "\nNhap gioi tỉnh: "; cin.GioiTinh, 19); cout << "\nNhap trong luong san pham (g): "; cin >> a.TrongLuong; cout << "\nNhap thoi gian bao hanh (thang): ”; cin >> a.BaoHanh; cout << "\nNhap gia (trieu VND): "; cin >> a.2 Kiểm tra (Hàm main kiêm tra ctc) 11 Bài thực hành Cấu trúc dữ liệu và giải thuật int main() { //Khai báo mảng số nguyên 100 phần tử dongho arr[100]; int soft = 2; //Nhập mảng tương ứng với số phần tử đã nhập ở trên cout << "\nNhap vao thong tin san pham dong ho”; nhap_mang(arr, soft); return 0; } 2.3 Kết quả chạy phan tu a[0]: ma san pham: 1901 hang san xuat: Casio gioi tinh: Nam trong luong san pham (g): 70 thoi gian bao hanh (thang): gia (trieu VND): 5 phan tu a[1]: ma san pham: 1903 hang san xuat: Rolex gioi tinh: Nam trong luong san pham (g): 156 thoi gian bao hanh (thang): 24 gia (trieu VND): 100 2.2 Xuất thông tin đồng hồ 2.1 Chương trình con -Đề xuất danh sách sản phâm đồng hồ ,ta cũng cần phải xây đựng 2 chương trình con gôm : 12 Bài thực hành Cấu trúc dữ liệu và giải thuật +Xuất ô :void xuat_o(dongho a ):hỗ trợ xuất thông tin đã nhập của một sản phẩm đồng hỗ +Xuất mảng : voiđ xuat_mang (dongho a[].int n):hồ trợ xuất mảng sản phâm đồng hồ //ctc xuất ô cấu trúc void xuat_o(dongho a) ( cout << a.2 Kiểm tra (Hàm main kiêm tra ctc) int main() { //Khai báo mảng số nguyên 190 phần tử - dongho anr[199]; int soft = 2; //Nhập mảng tương ứng với số phần tử đã nhập ở trên cout << "\nNhap vao thong tin san pham dong ho”; nhap_mang(arr, soft); cout << "\nDanh sach cac san pham dong ho: ”; xuat_mang(arr, soft); return 9; } 2.3 Kết quả chạy 13 Bài thực hành Cấu trúc dữ liệu và giải thuật Danh sach cac san pham dong ho: Danh sach thong tin cua cac san pham dong ho: 1901 Cas1o Nam 70(g) 60(thang) 5 (trieu) ` 1903 Rolex Nam 56(g) 24(thang) 100 (trieu) j 2.3 Tìm kiếm mã sản phẩm với Linearsearch và Binarysearch: 2.1 Chương trình con Thực hiện tìm kiếm với khóa chính là Mã sản phẩm (dữ liệu khóa) Đề tìm thông tin theo mã số của đồng hô, cần xây dựng như sau: O void LinearSearch(dongho a[], int n): giải thuật tìm kiếm tuyến tính, hỗ trợ tìm ra đồng hồ có mã sô cần tìm. //Tìm kiếm LS theo mã sản phẩm void LinearSearch(dongho a[], int n) { char x[5]; cout << "\nNhap ma san pham muon tim: "; cin.MaSP, x) != 9) it+; if (i < n) { cout << "\nThong tin cua ma san pham ” << x << " la:”; xuat_o(a[i]); } else cout << "\nKhong tim thay"; O void BinarySearch(dongho al], int n): giai thuat tim kiém nhi phan, hé trợ tìm ra đồng hồ có mã so can tim. 14 Bài thực hành Cấu trúc dữ liệu và giải thuật //Tìm kiếm BS theo mã sp int BinarySearch(dongho a[], int n) { char x[5]; int left = 0; int right =n - 1; int mid = (right + left) / 2; cout << "\nNhap ma san pham muon tim: "; cin.MaSP) right = mid - 1; else left = mid + 1; mid = (right + left) / 2; } if (left <= right) { cout << "\nThong tin cua ma san pham ” << x << ” la:”; xuat_o(a[mid]); } else cout << "\nKhong tim thay"; return mid; } 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ