Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
8,37 MB
Nội dung
BỘ TÀI CHÍNH TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING ĐỒ ÁN MÔN HỌC CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Giảng viên : Nguyễn Quốc Thanh Sinh viên thực : Đỗ Tường Vy MSSV : 2021010354 Lớp : 20DHT05 TPHCM - 12/2020 Bài thực hành Cấu trúc liệu giải thuật BỘ TÀI CHÍNH TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING ĐỒ ÁN MƠN HỌC CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Giảng viên : Nguyễn Quốc Thanh Sinh viên thực : Đỗ Tường Vy MSSV : 2021010354 Lớp : 20DHT05 TPHCM - 12/2020 Bài thực hành Cấu trúc liệu giải thuật MỤC LỤC Lời Cam Đoan Lời Cảm Ơn Chương 1: Giới thiệu .6 1.1 Gi i thi u ệ đềề 1.2 Cấấu trúc 1.3 Dữ liệu mấẫu 1.4 Các chức Ch ngươ 2: Tìm kiềấm săấp xềấp trền m ng ả cấấu trúc 2.1 Nh pậdanh sách đồềng hồề .9 2.2 Xuấất thồng tin đồềng hồề 11 2.3 Tìm kiềấm mã sản phẩm với Linearsearch Binarysearch: 13 2.4 Tìm thồng tin ĐH theo hãng s nả xuấất dùng Linearsearch Binarysearch 16 2.5 Săấp xềấp danh sách theo Mã sản phẩm dùng Shaker Sort 20 2.6 Săấp xềấp danh sách theo Mã sản phẩm dùng Selection Sort 22 2.7 Săấp xềấp danh sách theo Hãng s n ả xuấất dùng Interchange Sort 24 2.8 Săấp xềấp danh sách theo Trọng lượng dùng Bubble Sort .26 2.9 Săấp xềấp danh sách theo Giá dùng Insertion Sort 28 2.10 Săấp xềấp danh sách theo thời gian Bảo hành dùng Quick Sort 30 Ch ngươ 3: Tìm kiềấm săấp xềấp trền danh sách liền kềất 33 3.1 Định nghĩa DSLK 33 3.2 Các thao tác trền DSLK 34 3.3 Tìm kiềấm thồng tin đồềng hồề theo mã sản phẩm 39 3.4 Tìm thồng tin ĐH theo tền hãng s nả xuấất dùng Linear Search .42 3.5 Săấp xềấp danh sách theo mã sản phẩm dùng Sharker Sort 44 3.6 Săấp xềấp danh sách theo Mã sản phẩm dùng Selection Sort 44 3.7 Săấp xềấp danh sách theo Mã sản phẩm dùng Interchange Sort 46 3.8 Săấp xềấp danh sách theo Trọng lượng dùng Bubble Sort 48 3.9 Săấp xềấp danh sách theo thời gian Bảo hành dùng Insertion Sort 50 3.10 Săấp xềấp danh sách theo thời gian Bảo hành dùng Quick Sort 52 Bài thực hành Cấu trúc liệu giải thuật Bài thực hành Cấu trúc liệu giải thuật Lời Cam Đoan Tôi xin cam đoan đồ án tơi thực với sựu hổ trợ từ giáo viên giảng dạy môn hướng dẫn bạn bè nhóm học tập khơng đánh cắp đồ án người khác làm riêng cho hưởng quyền lợi công sức người khác Tôi xin chịu hoàn toàn trách nhiệm lời cam đoan ! Sinh Viên Đỗ Tường Vy Bài thực hành Cấu trúc liệu giải thuật Lời Cảm Ơn Lời nói em xin gửi lời cám ơn đến giáo viên toàn khoa CNTT Trường Đại Học Tài Marketing nói chung giáo viên chun ngành giảng dạy môn cấu trúc liệu giải thuật nói riêng.Và em xin gửi lời cám ơn đặc biệt đến Thầy Nguyễn Quốc Thanh giáo viên giảng dạy hướng dẫn em thực tốt đồ án lần Em xin trân trọng cảm ơn ! Sinh Viên Đỗ Tường Vy Bài thực hành Cấu trúc liệu giải thuật Chương 1: Giới thiệu 1.1 Giới thiệu đề Xây dựng chức tìm kiếm xếp cấu trúc hỗ trợ quản lý danh mục đồng hồ bán đơn vị gồm 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 tính, ) (GioiTinh); Trọng lượng đồng hồ (TrongLuong); Thời gian bảo hành (tháng) (BaoHanh); Giá bán (Gia) 1.2 Cấu trúc Mô tả cấu trúc yêu cầu, chọn CTDL để thể hiện, khai báo/định nghĩa cấu trúc Thông tin sản phẩm đồng hồ cần quản lý gồm: - MaSP: Mã sản phẩm, gồm chuỗi ký tự số có chiều dài 11 ký tự - HangSX: Hãng sản xuất, chiều dài chữ khoảng 10 ký tự - GioiTinh: Giới tính, gồm 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 đồng hồ - Gia: Giá bán đồng hồ Cấu trúc liệu hỗ trợ quản lý thông tin đồng hồ: - MaSP: chuỗi gồm 11 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 liệu giải thuật - Gia : số thực dương (Gia>=0) Định nghĩa cấu trúc đồng hồ: 1.3 Dữ liệu mẫu >= 10 thông tin đối tượng cần quản lý STT Mã SP Hãng SX Giới tính Trọng 1910 1901 Casio Tag Nam Nam lượng 70g 160g 1903 1904 Heuer Rolex Omega Nam Trung 156g 55g 1907 Longines tính Nữ 140g 1906 s Tissot Trung 180g 1905 Timex tính Trung 100g 1908 Calvin tính Nữ 90g 10 1902 1909 Klein Movado Citizen Nam Nam 100g 150g Bài thực hành Cấu trúc liệu giải thuật 1.4 Các chức (Liệt kê chức xây dựng) Các chức 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 Binary Search) - Tìm thơng tin ĐH theo hãng sản xuất (dùng Linear Search 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 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 (dùng Linear Search ) - Tìm thơng tin ĐH theo tên (dùng 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 liệu giải thuật Chương 2: Tìm kiếm xếp mảng cấu trúc 2.1 Nhập danh sách đồng hồ 2.1.1 Chương trình Để nhập danh sách đồng hồ, cần xây dựng hai chương trình gồm: - void nhap_o(dongho &a): hỗ trợ nhập thông tin sinh viên gồm MaSp, HangSX, GioiTinh, TrongLuong, Baohanh, Gia - void nhap_mang(dongho a[], int n) hỗ trợ nhập danh sách đồng hồ 10 Bài thực hành Cấu trúc liệu giải thuật Chạy kết 3.3 Tìm kiếm thông tin đồng hồ theo mã sản phẩm 3.3.1 Chương trình Ở DSLK, phép tìm kiếm duyệt từ đầu danh sách liên kết nên tìm kiếm LinearSearch khơng thể dùng BinarySearch Vì BinarySearch cần xác định giá trị đầu giá trị cuối để thực Nguyên tắc hoạt động 40 Bài thực hành Cấu trúc liệu giải thuật So sánh với phần tử kết thúc chương trình đưa liệu Node đó, sai chuyển sang so sách với Node 3.3.2 Kiểm tra 41 Bài thực hành Cấu trúc liệu giải thuật 3.3.3 Chạy kết 42 Bài thực hành Cấu trúc liệu giải thuật 3.4 Tìm thơng tin ĐH theo tên hãng sản xuất dùng Linear Search 3.4.1 Chương trình 3.4.2 Kiểm tra 43 Bài thực hành Cấu trúc liệu giải thuật 3.4.3 Chạy kết 44 Bài thực hành Cấu trúc liệu giải thuật 3.5 Sắp xếp danh sách theo mã sản phẩm dùng Sharker Sort Giống với BinarySearch, để thực ShakerSort cần xác định phần tử cuối Thế nên, ShakerSort thực DSLK 3.6 Sắp xếp danh sách theo Mã sản phẩm dùng Selection Sort 3.6.1 Chương trình Nguyên tắc hoạt động Tìm phần tử bé đưa đầu danh sách, tiếp tục phần tử thứ hai 3.6.2 Kiểm tra 45 Bài thực hành Cấu trúc liệu giải thuật 3.6.3 Chạy kết 46 Bài thực hành Cấu trúc liệu giải thuật 3.7 Sắp xếp danh sách theo Mã sản phẩm dùng Interchange Sort 3.7.1 Chương trình Nguyên tắc hoạt động Tìm nghịch phần tử phần tử lại, hoán vị chúng, tiếp tục phần tử mảng xếp 3.7.2 Kiểm tra 47 Bài thực hành Cấu trúc liệu giải thuật 3.7.3 Chạy kết 48 Bài thực hành Cấu trúc liệu giải thuật 3.8 Sắp xếp danh sách theo Trọng lượng dùng Bubble Sort 3.8.1 Chương trình Nguyên tắc hoạt động Giống với bọt nước nhẹ lên nhanh, tương tự với hịn đá nặng chìm xuống đáy nhanh Theo ý tưởng ta đưa phần tử lớn cuối dãy giảm dần đầu dãy 49 Bài thực hành Cấu trúc liệu giải thuật 3.8.2 Kiểm tra 50 Bài thực hành Cấu trúc liệu giải thuật 3.9 Sắp xếp danh sách theo thời gian Bảo hành dùng Insertion Sort 3.9.1 Chương trình 3.9.2 Kiểm tra 51 Bài thực hành Cấu trúc liệu giải thuật 3.9.3 Chạy kết 52 Bài thực hành Cấu trúc liệu giải thuật 3.10 Sắp xếp danh sách theo thời gian Bảo hành dùng Quick Sort 3.10.1 Chương trình Ý tưởng: Chia phần tử DSLK đơn thành danh sách node cờ (node x vd đây) danh sách l1 chứa node có trường data= trường data node x, xếp danh sách l1,l2 sau nối l1,x,l2 lại với ta có danh sách liên kết xếp theo thứ tự 3.10.2 Kiểm tra 53 Bài thực hành Cấu trúc liệu giải thuật 3.10.3 Chạy kết 54 ...Bài thực hành Cấu trúc liệu giải thuật BỘ TÀI CHÍNH TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING ĐỒ ÁN MÔN HỌC CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Giảng viên : Nguyễn Quốc Thanh Sinh... hành Cấu trúc liệu giải thuật Bài thực hành Cấu trúc liệu giải thuật Lời Cam Đoan Tôi xin cam đoan đồ án tơi thực với sựu hổ trợ từ giáo viên giảng dạy môn hướng dẫn bạn bè nhóm học tập khơng đánh... BinarySearch(dongho a[], int n): giải thuật tìm kiếm nhị phân, hỗ trợ tìm đồng hồ có mã số cần tìm 14 Bài thực hành Cấu trúc liệu giải thuật 2.3.2 Kiểm tra 15 Bài thực hành Cấu trúc liệu giải thuật Hàm main test