TH HH sa 3 1.3.2 Các chức năng có thể xây dựng từ chương trình trên...-- son 3 * Tim kiếm thông tin của khoa trong danh sách khoa dùng Linear Search và Binary Scarch.... 2 ST SE Herrre
Trang 1BO TAI CHINH TRUONG ĐẠI HỌC TÀI CHÍNH - MARKETING KHOA CÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING
BAO CAO CAU TRUC DU LIEU VA GIAI THUAT
Đề tài: Đề 2214
XÂY DỰNG CÁU TRUC QUAN LY THONG TIN CAC KHOA
Giang viên hướng dẫn : Th§ Nguyễn Quốc Thanh
Trang 2LOI CAM ON
Lời đầu tiên, em xin gửi lời cám ơn đến tất cả giáo viên thuộc khoa CNTT của Trường Đại Học Tài chính - Marketing nói chung và các giáo viên chuyên ngành giảng
dạy bộ môn cầu trúc dữ liệu và giải thuật nói riêng Kèm với đó, 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, hướng dẫn và mang tới niềm cảm hứng cho em nhằm thực hiện tốt bài đồ án lần này Em cảm ơn thầy!
KÝ TÊN NGUYÊN BÙI QUỐC THIỆN
Trang 3LOI NHAN XET
= Diem CH eile cee ccc ccenseececceesssccccssneseesessscceesnsessesessssescessstsssensennasess
Thanh phé H6 Chi Minh, ngay ,thang năm 2022
Trang 4DANH MUC TU VIET TAT THUAT NGU TIENG ANH
Trang 5DANH MUC BANG BIEU Bảng I Bảng thông tin đối tượng quản li
Trang 6DANH MỤC HÌNH ẢNH
Hình I : Khai báo cầu tTÚC 522cc 21 tt thư 16 Hinh 2: Nhap thong tin của khoa (L) ccecccccccscsccssescsssssessessesessesstesesssvsesecseevsesesevsesenes 19 Hinh 3:Nhap thong tin ctia khoa (2) ccccccccccscecessessesessessessesvesesstescsrsevsesevsvsevecevsneeseees 20 Hinh 4: Ham main dé test 0 0.ccccccecceccsssssssessssssetsssseessessteesenseseseesssntenssietenssenseneseseen 20
Hinh 5: Két quả khi chạy L2 12121212112 211 1111112112011 111 1118111811101 1 111111 hườ 20 Hỉnh 6: Kết quả khi chạy L2 12121212112 211 1111112112011 111 1118111811101 1 111111 hườ 21
HÌnh 7: Chương trình con xuất Danh sách Khoa - 5-5225 S2 2 2E cEcrxrrerrer 22
HÌnh §: Chương trình chính xuất danh sách khoa 2 52 22St2E+2EE£E2Exerxerxrre 22
Hỉnh 9: Kết quả khi chạy L2 12121212112 211 1111112112011 111 1118111811101 1 111111 hườ 22
Hình 10: Chương trình con khi dùng sắp xếp dạng Bubble Sọr 5c sc 5c: 23 Hình 11: Phần chương trình chính trong menu của sắp xếp Bubble Sort 23
HÌnh 12: Kết quả khi chạy - - SE E1 E121221E1121111 11 112111 2.2111 11k 23
Hình 13: Chương trình con khi dùng sắp xếp dạng Shaker Sọt 5c ccc5c: 24 Hình 14: Chương trình con khi dùng sắp xếp dạng Shaker Sọt 5c ccc5c: 25 Hình 15: Phần chương trình chính trong menu của sắp xếp của Shaker Sort 25
Hinh 16: Kết quả khi chạy c2 221112111 1221121 1111111511181 1 10111 111811 KH xe 25
Hình 17: Chương trình con khi dùng sắp xếp dạng Interchange Sọt s-: 26 Hình 18: Phần chương trình chính trong menu của sắp xếp Interchange Sọt 26
HÌnh 19: Kết quả khi chạy - SE E21E21E1121111 11 111111 1.111 11k 26
Hinh 20: Chương trình con khi dùng sắp xếp dạng Selection Sort s55: 27
Trang 7Hình 21: Phần chương trình chính trong menu của sắp xếp Selection Sort 27
Hinh 22: Kết quả khi chạy c2 221112111 1221121 1111111511181 1 10111 111811 KH xe 27
Hình 23: Chương trình con khi dùng sắp xếp dạng Insertion Sọ( se c5: 28 Hinh 24: Chuong trinh con khi dùng sắp xếp dạng Insertion Sọ( se cccsc: 28 Hình 25: Phần chương trình chính trong menu của sắp xếp Insertion Sort 29
HÌnh 26: Kết quả khi chạy - St E1 E21221E1121111 11 112111 1.2111 1H re 29
Hình 27: Chương trình con khi dùng sắp xếp dạng Quiek Sọt s c se: 29 Hình 28: Phần chương trình chính trong menu của sắp xếp Quick Sọt - 30
HÌnh 29: Kết quả khi chạy - St E1 E111221E1121111 11 11111 1.111 1tr re, 30
Hinh 30: Chương trình con khi dùng sắp xếp dạng Merge Sọ( cccccccscs 30 HÌnh 31: Chương trình con khi dùng sắp xếp dạng Merge Sọ( cccc se 31 Hinh 32: Chương trình con khi dùng sắp xếp dạng Merge Sọ( cccc se 32 Hình 33: Phần chương trình chính trong menu của sắp xếp Merge Sọt 32
HÌnh 34: Kết quả khi chạy - 5S SE E1 E12122121121111 11 1111 12111 1tr re 32
Hình 35: Chương trình con khi dùng tìm kiếm kiểu Linear Search 5s: 33 HÌnh 36: Phần chương trình chính trong menu của tìm kiếm Linear Search 33 HÌnh 37: Kết quả khi tìm ra kết quả 52: 5s s2 2122122112121 Eee 33
Hinh 38: Kết quả khi tìm khơng ra kết quả -5- S2 1512211121211 EE.Etkrre 34
HÌnh 39: Chương trình con khi đùng tìm kiếm kiểu Binary Search - 5-55 34 HÌnh 40: Chương trình con khi dùng tìm kiếm kiểu Binary Search - 5-5 35 Hình 41: Phần chương trình chính trong menu của tìm kiếm Binary Search 35 HÌnh 42: Kết quả khi tìm ra kết quả - 2: 5s E1 E22122112127111111721 E21 Eee 35
Trang 8Hinh 43: Két qua khi tim khong ra két qua c.ccecceccccccscescsessvesesscsvserseceteseseseveseeeeeees 35
Hinh 44: KhOi tao Mem ecccccecccccccccccecscscesscscsescsesescecsvscsssestsssvststevsvssessssssesssssssesessaceees 36 Hinh 45 Khoi tao Menu (tt) cccceccecceccscsscescseeseescsscsssecsvsscssssessvssesssevssesssarseesenseveceveeseees 36
Hinh 46: Khoi tao Menu (tt) c.ccccccccscsccsscscessesessesscseesvssesecsvssssecssvssecsevsessesevsevsessneeseees 37 HÌnh 47: Khởi tạo Menu ({Ệ) - 5s 2s E1 12122121121 12T 1t n1 nguy 37 HÌnh 48: Menu được khởi tạo trong chương trình chính -¿- -scccs cEcxerxcxxe 38 HÌnh 49: Khi chọn thao tác Ì 2 2c S1 1121 111511111151512111111115111 1211122181112 rerse 38 HÌnh 50: Khi chọn thao tác 2 5 2 2c 3 3 112111111 1111115111111111111 1111151112181 2xEreray 39 HÌnh 51: Định nghĩa cầu trúc của Khoa + 2S SE E215 11 1E errke 40 HÌnh 52: Định nghĩa Node 5 - SE E9E11212112111211 211111 1 1E 11tr Huệ, 40
HÌnh 53: Định nghĩa DSIL/K 52-52222512 1221212221212 2121121 Eerre 40 Hỉnh 54: Chương trình con khởi tạo danh sách 2 22 2221222112221 krsey 40 Hỉnh 55: Chương trình con nhập thông tin cho một khoa - 22+ 2222 +52: 4I
HÌnh 56: Tạo Node cho DSL/K 25.522 S1 3111515151521 51512111112211111 12121511 8e, 41 HÌnh 57: Chèn Node vào DSLKK -555cc22 2 tt HH errườn 42
HÌnh 58: Nhập thông tin của khoa vào DSILLK -.- 222 S222 1212221122211 Tre 42 Hình 59: Chương trình chính nhập Khoa vào DSLK 52 se S se EeExcrxe 43 HÌnh 60: Kết quả khi chạy - 5S St E1 1212212121111 112111111 1.2111 1 11tr re 43 HÌnh 61: Kết quả khi chạy - St E1 E2122121121111 11 111111 1.2111 11tr re 43
Hình 62: Chương trình con Xuất danh sách khoa - 2 225 SE 2 221221251 r2 44 Hình 63: Chương trình con in Node ra màn hình 2-52 s22 SE tre 44 HÌnh 64: Chương trình con in DSLK ra màn hình 22-22 5229eEeEEcEEeEExzrcrrxerxee 44
Trang 9HÌnh 65: Chương trình chính in DSLK - 22-52 EE2E2EEE2E12E112E71EEE E2 rxe 45 Hỉnh 66: Kết quả khi chạy c2 221112111 1221121 1111111511181 1 10111 111811 KH xe 45
HÌnh 67: Chương trình con sắp xếp Bubble Sọr -.- 2S E211 2E tre rrưệi 46 HÌnh 68 Chương trình con sắp xếp Bubble Sort ((f) - s5 xe re 46
Hinh 69: Chương trình chính khi sắp xếp Bubble Sort 5-55 sex 46 Hỉnh 70: Kết quả khi chạy c2 221112111 1221121 1111111511181 1 10111 111811 KH xe 47
HÌnh 71: Chương trình con khi sắp xếp Selection Sọrt cty 47
Hỉnh 72: Chương trình chính khởi tạo Šelection Sọf c2 222222222 rrres 47 Hinh 73: Kết quả khi chạy c2 221112111 1221121 1111111511181 1 10111 111811 KH xe 47
HÌnh 74: Chương trình con khi sắp xếp Interchange Sort 5-55 5c szcxez 48
Hinh 75: Chương trình chính khởi tạo Interehange Sọt - 5c S222 2xx 48 Hỉnh 76: Kết quả khi chạy c2 221112111 1221121 1111111511181 1 10111 111811 KH xe 48
HÌnh 77: Chương trình con khi tìm kiếm bằng Linear Search 2- 2s sec 49
HÌnh 78: Chương trình chính khi tìm kiếm bằng Linear Search 5-5 sscsss+z 49 Hinh 79: Kết quả khi chạy c2 221112111 1221121 1111111511181 1 10111 111811 KH xe 49
Trang 10MUC LUC
LỜI CẢM ƠN Q21 21222221121211211211212112212122 re 1 LỜI NHẬN XÉT c1 1 H1 1H11 H2 11t n1 n1 n1 tre 2 DANH MỤC TỪ VIẾT TAT THUẬT NGỮ TIÊNG ANH 5c ccccecee2 3 DANH MỤC BÁNG BIỂU - 121 1E 1212212121 22t 1n H11 ng rye 4 DANH MỤC HÏNH ẢNH - 5 SE 11H11 1101222 11 1 1 HH ngàn 5 MỤC LỤC 5 55c 52221 2112212112212121121121122121211212121 2112 rey 9 CHUONG I: GIỚI THIỆU -.- 5 S9 EEEEEEEXEE125121E112712111 11x 111 rerrre 1 1.1 Giới thiệu đề bài 5 ST HH HH H1 ng neo 1 1.2 Cấu tÚC + 2112 12211211211121122112112211211121121112112111211211211112122 ru 2 1.3 Dữ liệu mẫu 5: ST 1221112112121 11 1 2n H1 1111 rei 3 1.3.1 Thông tin đối tượng quản Ïÿ TH HH sa 3
1.3.2 Các chức năng có thể xây dựng từ chương trình trên son 3
* Tim kiếm thông tin của khoa trong danh sách khoa (dùng Linear Search và Binary Scarch) c1 1211119111211 01111 111k k chà TK HH ky 4
& Các chức năng trên Danh Sách Liên Kết: 2 ST SE Herrre 4 Tìm kiếm thông tin của khoa trong danh sách khoa (dùng Linear Search) 4
CHUONG 2: TAO VA QUAN LY BANG LUONG CUA CAC NHAN VIÊN SỬ DỤNG MÁNG TĨNH 2s ST HH1 HH gay 5
Trang 112.1 Nhập bảng thông tin của khoa 5 0 0 2012221222112 21128112 nêu 5
2.5 Sắp xếp thông tin của danh sách khoa dựa vào Mã Khoa (dùng Interchange
P6 17 n6 ng ố e eciet tens teteies 12 2.5.2 Chương trÌHÌH ChỈHH HH HH HT TH Hàn ky 12
Trang 12DSB KEE QUA oc “=s ca 12
2.6 Sắp xếp thông tin của danh sách khoa dựa vào Mã Khoa (ding Selection KOẨ) Q.00 Q00 QQQ LH TH nH ng tk k kh k TK k1 1111k K11 k kg 5k ket 13 P80 16 n6 ng e6 be eee ee ee ee te ttbtiiet tent aetna 13
VN, V0 10 /N , NHngg 13
DGB KEE QUA Œ8a)NaaiaảỶ 13
2.7 Sắp xếp thông tin của danh sách khoa dựa vào Mã Khoa (dùng Inserdion KOẨ) Q.00 Q00 QQQ LH TH nH ng tk k kh k TK k1 1111k K11 k kg 5k ket 14 27D Chong trirlt CON ố ố e5e tiet tens aeteies 14 2.7.2 Chavong trinhe ChỈHH HH HH HH TH Tàn he 15
PxXấ(HmaaaiaảảảdảỶảả 18
2.10 Tìm kiếm thông tin trong danh sách khoa dựa vào MaKhoa (dùng Linear k0) 10 an_nga ốố 19 VNĐ) 16 16 ng 19
Trang 13V0) 8, 1./0.,.00Nnn0Ề 066 6HAHAẠ, 19
2.11 Tìm kiếm thông tin trong danh sách khoa dựa vào MakKhoa (dùng Binary k0) 10 an_nga ốố 20 QALT Chirong trirdt COW ccc ccc e6 ee teteetecinteteeeees 20 PJJP09) 1 1 0n 6666 ẽ4 ,.,HẠH,: 21
2.12 Tạo trình MENU cho các chức năng trên 0Q S22 nh Hee 22 P0) 16 16 n6 cee cette cee tect c ee setae tectniateeenes 22 PJVZ0) 8 1 0n 66 6ố6HAHAẠ, 24
2 12.3 KẾ quủ HH HH HH 1 gu nàng 24 CHƯƠNG 3: TAO VA QUAN LY DANH SACH THONG TIN CUA KHOA SU DỤNG DANH SÁCH LIÊN KET cccccccccccccsscsscsssessessessessessvssrssesssestsssessesseesessesees 26 3.1 Định nghĩa danh sách liên kết - 2S 9S TS E121 2127111 1c errờn 26
3.1.1 Định nghĩa cấu trúc danh sách khod à cua 26 3.1.2 Định nghĩ INO LH HH nh HH Hà hy, 26 3.1.3 Định nghĩa danh sách liên kẾL TT HH nga 26 3.2 Các thao tác cơ bản trên danh sách liên kết 2229 SE sre 26 S.2.1 Khoi tao darth SACHA ẽổ /aa54ä4ÃẠẢ44ẢÝÝÝÝÝ 26 3.2.2 Nhap thong tin cho danht SAH o 0.000cccc cocci c ccc e cette te tente seen 27
3.2.3 Xuất thông tỉn cho danh sắch HH ng 30
3.3 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Bubble Sort) 32
Trang 143.3.1 Chương frIHÍH COH Đ ST SH TH HH nen H hành vey 3.3.2 Charong 16 n6 nề ẽốố e6
3.4 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Selecfion Sort) SID Charon 0, /Lðj:aaiaiaiiađaỪỪVẦỤAỶÝỶŸÃỶŸÝŸỶŸẼŸỶŸỶÝỶÝ tiiet tens tteeies U06 16 N6 ng ẽốố e6
3.5 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Interchange Sort) 3.5.1 Chương frIHÍH COH à Q Đ ST SH TH He TH hàn vey S1” 156 n6 nốẽeee
3.6 Tìm kiếm thông tin của khoa dùng MaKhoa (dùng Linear Search) 3.6.1 Chương frIHÍH COW ooo cocci Q ST TH HH Tang ào ve SAU 17 N6 nề ẽốốẽe
KẾT LUẬN - S22 1T HH HH HH ng ng 1n ngan rờg TÀI LIỆU THAM KHẢO 2-5 S2 1E 1211221271221 11021212222121 re
Trang 15CHƯƠNG I: 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ý thông tin các khoa bao gồm: Mã khoa (Makhoa), Tên khoa (Tenkhoa), Trưởng khoa (Truongkhoa), Năm thành lập (NamTL), Số lượng sinh viên của khoa (SoSV), Tỷ lệ sinh viên/ giảng viên của khoa(SV_ GV)
Trang 16TyLe: Tỷ lệ sinh viên/ giảng viên của khoa được cung cấp trong bảng dữ liệu mâu
“+ Dinh nghia cau tric:
Trang 171.3 Dữ liệu mẫu
1.3.1 Thông tin đối tượng quản lý
1 THQO1 Thuế - Hải quan TS Nguyễn Văn Thuận 2010 200 9.5
2 TNH02 Tài chính - Ngân hàng PGS TS Hồ Thủy Tiên 2004 360 15.0
4 MK T94 Marketing TS Nguyễn Xuân Trường 1992 300 11.5
5 BSA05 Quản trị kinh doanh TS GVC Huỳnh Thị Thu 2004 370 14.2
Sương
6 BDS06 Tham định giá - Kinh TS Nguyễn Thanh Nhã 1999 290 1.3
doanh Bát động san CME07 Thuong mai TS Nguyễn Xuân Hiệp 2002 300 10.3 TV008 Du lich TS Đoàn Liêng Diễm 2010 270 11.3
9 ELH09 Ngoại ngữ TS Nguyễn Ngọc Trân 2004 210 7.8
Châu
10 IT0I0 Công nghệ thông tin TS Trương Thành Công 2009 320 11.9
Bảng 1 Bảng thông tin đối tượng quản lí
1.3.2 Các chức năng có thể xây dựng từ chương trình trên
4% Các chức năng trên mảng câu trúc Nhập thông tin vào danh sách khoa
Xuất thông tin trong danh sách khoa đã nhập
Sắp xếp thông tin của khoa dựa theo Mã khoa (dùng Bubble Sort)
Sắp xếp thông tin của khoa dựa theo Mã khoa (dùng Selection Sort)
Sắp xếp thông tin của khoa dựa theo Mã khoa (dùng Quick Sort)
Sắp xếp thông tin của khoa dựa theo Mã khoa (dùng Interchange Sort)
Sắp xếp thông tin của khoa dựa theo Mã khoa (dùng Shaker Sort)
Sắp xếp thông tin của khoa dựa theo Mã khoa (dùng Merge Sort)
Trang 18“ Cac chire nang trén Danh Sach Liên Kết:
Nhập thông tin vào danh sách khoa
Xuất thông tin trong danh sách khoa đã nhập
Sắp xếp thông tin của khoa dựa theo Mã khoa viên (dùng Bubble Sort) Sắp xếp thông tin của khoa dựa theo Mã khoa (dùng Selection Sort)
Sắp xếp thông tin của khoa dựa theo Mã khoa giảm dan (ding Quick Sort) Sắp xếp thông tin của khoa dựa theo Mã khoa giảm dần (dùng Interchange Sort) Tìm kiếm thông tin của khoa trong danh sách khoa (dùng Linear Search)
Trang 19CHUONG 2: TAO VA QUAN LY BANG LUONG CUA CAC NHAN
VIEN SU DUNG MANG TINH
2.1 Nhập bảng thông tin của khoa
2.1.1 Chương trình con
s* Đề nhập danh sách thông tin khoa , cần xây dựng hai chương trình con gồm:
> void Nhap Khoa(Khoa& k): hé tro nhập thông tin một sinh viên gồm
Mã khoa, Tên khoa, Trưởng khoa, Năm thành lập, Số sinh viên, tỷ lệ sinh viên/ giảng viên
> void Nhap_DSKhoa(Khoa a[], int& n) hỗ trợ nhập danh sách thông tin khoa
void Nhap Khoa(Khoa &k)
Trang 20void Nhap DSKhoa(Khoa
Trang 21
Hình 6: Kết quả khi chạy
2.2 Xuất bảng thông tin của danh sách khoa đã nhập
Trang 22Ld Xuat DsKhoa(Khoa a| |,1nt $n)
left left
Trang 232.3 Sắp xếp thông tin của danh sách khoa dựa vào Mã Khoa (dùng Bubble Sort) 2.3.1 Chương trình con
* Để sắp xếp thông tin của khoa dựa vào Mã Khoa dùng Bubble Sort Ta cần xây
Swap1(a[j LuongSV, a[j ].LuongSV) ;
Trang 242.4 Sắp xếp thông tin của danh sách khoa dwa vao Ma Khoa (ding Shaker Sort) 2.4.1 Chương trình con
void Sharket_Sort(Khoa a[],int &n)
(a[i ].MaKhoa>a[ 1 ] MaKhoa)
K=1'=
Trang 25(int j=left;j<right;j++)
(a[j] -MaKhoa>a[j
Swap2(a[j Swap4(a[j Swap4(a[j Swap1(a[j Swap1(a[j Swap3(a[j
Cons
+
].MaKhoa) MaKhoa, a[ 1 ].MaKhoa) ; TenKhoa, a[ J ] TenKhoa) ; TenTruongKhoa, a[ J ] TenTruongKhoa) ; ThanhLap, a[ J ] ThanhL ap) ;
LuongSV, a[j]-LuongSVv) ; -TyLe,a[j]-TyLe);