BỘ TÀI CHÍNH
TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING
KHOA CƠNG NGHỆ THÔNG TIN
BÁO CÁO
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
Đề tài: Đề 2214
XÂY DỰNG CẤU TRÚC QUẢN LÝ THÔNG TIN CÁC KHOA
Giảng viên hướng dẫn
: ThS. Nguyễn Quốc Thanh
Sinh viên thực hiện
: Nguyễn Bùi Quốc Thiện
MSSV
: 2121010371
Lớp
: 21DHT01
0
0
LỜI CẢM ƠN
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
0
0
LỜI NHẬN XÉT
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
-
Điểm số:..............................................................................................................
-
Điểm chữ:............................................................................................................
Thành phố Hồ Chí Minh, ngày…. ,tháng…. ,năm 2022
0
0
DANH MỤC TỪ VIẾT TẮT THUẬT NGỮ TIẾNG ANH
0
0
DANH MỤC BẢNG BIỂU
Bảng 1 Bảng thông tin đối tượng quản lí......................................................................13
0
0
DANH MỤC HÌNH ẢNH
Hình 1 : Khai báo cấu trúc............................................................................................16
HÌnh 2: Nhập thơng tin của khoa (1)............................................................................19
HÌnh 3:Nhập thơng tin của khoa (2).............................................................................20
HÌnh 4: Hàm main để test.............................................................................................20
HÌnh 5: Kết quả khi chạy..............................................................................................20
HÌnh 6: Kết quả khi chạy..............................................................................................21
HÌnh 7: Chương trình con xuất Danh sách Khoa..........................................................22
HÌnh 8: Chương trình chính xuất danh sách khoa.........................................................22
HÌnh 9: Kết quả khi chạy..............................................................................................22
HÌnh 10: Chương trình con khi dùng sắp xếp dạng Bubble Sort..................................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............................................................................................23
HÌnh 13: Chương trình con khi dùng sắp xếp dạng Shaker Sort...................................24
HÌnh 14: Chương trình con khi dùng sắp xếp dạng Shaker Sort...................................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
HÌnh 16: Kết quả khi chạy............................................................................................25
HÌnh 17: Chương trình con khi dùng sắp xếp dạng Interchange Sort...........................26
HÌnh 18: Phần chương trình chính trong menu của sắp xếp Interchange Sort..............26
HÌnh 19: Kết quả khi chạy............................................................................................26
HÌnh 20: Chương trình con khi dùng sắp xếp dạng Selection Sort...............................27
0
0
HÌnh 21: Phần chương trình chính trong menu của sắp xếp Selection Sort..................27
HÌnh 22: Kết quả khi chạy............................................................................................27
HÌnh 23: Chương trình con khi dùng sắp xếp dạng Insertion Sort................................28
HÌnh 24: Chương trình con khi dùng sắp xếp dạng Insertion Sort................................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............................................................................................29
HÌnh 27: Chương trình con khi dùng sắp xếp dạng Quick Sort....................................29
HÌnh 28: Phần chương trình chính trong menu của sắp xếp Quick Sort.......................30
HÌnh 29: Kết quả khi chạy............................................................................................30
HÌnh 30: Chương trình con khi dùng sắp xếp dạng Merge Sort...................................30
HÌnh 31: Chương trình con khi dùng sắp xếp dạng Merge Sort...................................31
HÌnh 32: Chương trình con khi dùng sắp xếp dạng Merge Sort...................................32
HÌnh 33: Phần chương trình chính trong menu của sắp xếp Merge Sort......................32
HÌnh 34: Kết quả khi chạy............................................................................................32
HÌnh 35: Chương trình con khi dùng tìm kiếm kiểu Linear Search..............................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ả.............................................................................33
HÌnh 38: Kết quả khi tìm khơng ra kết quả...................................................................34
HÌnh 39: Chương trình con khi dùng tìm kiếm kiểu Binary Search..............................34
HÌnh 40: Chương trình con khi dùng tìm kiếm kiểu Binary Search..............................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ả.............................................................................35
0
0
HÌnh 43: Kết quả khi tìm khơng ra kết quả...................................................................35
HÌnh 44: Khởi tạo Menu...............................................................................................36
HÌnh 45 Khởi tạo Menu (tt)..........................................................................................36
HÌnh 46: Khởi tạo Menu (tt).........................................................................................37
HÌnh 47: Khởi tạo Menu (tt).........................................................................................37
HÌnh 48: Menu được khởi tạo trong chương trình chính..............................................38
HÌnh 49: Khi chọn thao tác 1........................................................................................38
HÌnh 50: Khi chọn thao tác 2........................................................................................39
HÌnh 51: Định nghĩa cấu trúc của Khoa.......................................................................40
HÌnh 52: Định nghĩa Node...........................................................................................40
HÌnh 53: Định nghĩa DSLK..........................................................................................40
HÌnh 54: Chương trình con khởi tạo danh sách............................................................40
HÌnh 55: Chương trình con nhập thơng tin cho một khoa.............................................41
HÌnh 56: Tạo Node cho DSLK.....................................................................................41
HÌnh 57: Chèn Node vào DSLK...................................................................................42
HÌnh 58: Nhập thơng tin của khoa vào DSLK..............................................................42
HÌnh 59: Chương trình chính nhập Khoa vào DSLK...................................................43
HÌnh 60: Kết quả khi chạy............................................................................................43
HÌnh 61: Kết quả khi chạy............................................................................................43
HÌnh 62: Chương trình con Xuất danh sách khoa.........................................................44
HÌnh 63: Chương trình con in Node ra màn hình.........................................................44
HÌnh 64: Chương trình con in DSLK ra màn hình........................................................44
0
0
HÌnh 65: Chương trình chính in DSLK........................................................................45
HÌnh 66: Kết quả khi chạy............................................................................................45
HÌnh 67: Chương trình con sắp xếp Bubble Sort..........................................................46
HÌnh 68 Chương trình con sắp xếp Bubble Sort (tt).....................................................46
HÌnh 69: Chương trình chính khi sắp xếp Bubble Sort.................................................46
HÌnh 70: Kết quả khi chạy............................................................................................47
HÌnh 71: Chương trình con khi sắp xếp Selection Sort.................................................47
HÌnh 72: Chương trình chính khởi tạo Selection Sort...................................................47
HÌnh 73: Kết quả khi chạy............................................................................................47
HÌnh 74: Chương trình con khi sắp xếp Interchange Sort.............................................48
HÌnh 75: Chương trình chính khởi tạo Interchange Sort...............................................48
HÌnh 76: Kết quả khi chạy............................................................................................48
HÌnh 77: Chương trình con khi tìm kiếm bằng Linear Search......................................49
HÌnh 78: Chương trình chính khi tìm kiếm bằng Linear Search...................................49
HÌnh 79: Kết quả khi chạy............................................................................................49
0
0
MỤC LỤC
LỜI CẢM ƠN...............................................................................................................1
LỜI NHẬN XÉT........................................................................................................... 2
DANH MỤC TỪ VIẾT TẮT THUẬT NGỮ TIẾNG ANH.......................................3
DANH MỤC BẢNG BIỂU...........................................................................................4
DANH MỤC HÌNH ẢNH............................................................................................5
MỤC LỤC.....................................................................................................................9
CHƯƠNG I: GIỚI THIỆU..........................................................................................1
1.1 Giới thiệu đề bài..................................................................................................1
1.2 Cấu trúc...............................................................................................................2
1.3 Dữ liệu mẫu.........................................................................................................3
1.3.1 Thông tin đối tượng quản lý.........................................................................3
1.3.2 Các chức năng có thể xây dựng từ chương trình trên.................................3
Tìm kiếm thơng tin của khoa trong danh sách khoa (dùng Linear Search và Binary
Search)............................................................................................................................4
Các chức năng trên Danh Sách Liên Kết:..........................................................4
Tìm kiếm thơng tin của khoa trong danh sách khoa (dùng Linear Search).............4
CHƯƠNG 2: TẠO VÀ QUẢN LÝ BẢNG LƯƠNG CỦA CÁC NHÂN
VIÊN SỬ DỤNG MẢNG TĨNH..................................................................................5
0
0
2.1 Nhập bảng thơng tin của khoa...........................................................................5
2.1.1 Chương trình con.........................................................................................5
2.1.2 Chương trình chính......................................................................................6
2.1.3 Kết quả..........................................................................................................6
2.2 Xuất bảng thơng tin của danh sách khoa đã nhập...........................................7
2.2.1 Chương trình con.........................................................................................7
2.2.2 Chương trình chính......................................................................................8
2.2.3 Kết quả..........................................................................................................8
2.3 Sắp xếp thơng tin của danh sách khoa dựa vào Mã Khoa (dùng Bubble Sort)
....................................................................................................................................9
2.3.1 Chương trình con.........................................................................................9
2.3.2 Chương trình chính......................................................................................9
2.3.3 Kết quả..........................................................................................................9
2.4 Sắp xếp thơng tin của danh sách khoa dựa vào Mã Khoa (dùng Shaker Sort)
.................................................................................................................................. 10
2.4.1 Chương trình con.......................................................................................10
2.4.2 Chương trình chính....................................................................................11
2.4.3 Kết quả........................................................................................................11
2.5 Sắp xếp thông tin của danh sách khoa dựa vào Mã Khoa (dùng Interchange
Sort)......................................................................................................................... 12
2.5.1 Chương trình con.......................................................................................12
2.5.2 Chương trình chính....................................................................................12
0
0
2.5.3 Kết quả........................................................................................................12
2.6 Sắp xếp thông tin của danh sách khoa dựa vào Mã Khoa (dùng Selection
Sort)......................................................................................................................... 13
2.6.1 Chương trình con.......................................................................................13
2.6.2 Chương trình chính....................................................................................13
2.6.3 Kết quả........................................................................................................13
2.7 Sắp xếp thơng tin của danh sách khoa dựa vào Mã Khoa (dùng Insertion
Sort)......................................................................................................................... 14
2.7.1 Chương trình con.......................................................................................14
2.7.2 Chương trình chính....................................................................................15
2.7.3 Kết quả........................................................................................................15
2.8 Sắp xếp thông tin của danh sách khoa dựa vào Mã Khoa (dùng Quick Sort)
.................................................................................................................................. 15
2.8.1 Chương trình con.......................................................................................15
2.8.2 Chương trình chính....................................................................................16
2.8.3 Kết quả........................................................................................................16
2.9 Sắp xếp thơng tin (dùng Merge Sort).............................................................16
2.9.1 Chương trình con.......................................................................................16
2.9.2 Chương trình chính....................................................................................18
2.9.3 Kết quả........................................................................................................18
2.10 Tìm kiếm thông tin trong danh sách khoa dựa vào MaKhoa (dùng Linear
Search)..................................................................................................................... 19
2.10.1 Chương trình con.....................................................................................19
0
0
2.10.2 Chương trình chính..................................................................................19
2.10.3 Kết quả......................................................................................................19
2.11 Tìm kiếm thơng tin trong danh sách khoa dựa vào MaKhoa (dùng Binary
Search)..................................................................................................................... 20
2.11.1 Chương trình con.....................................................................................20
2.11.2 Chương trình chính..................................................................................21
2.11.3 Kết quả......................................................................................................21
2.12 Tạo trình MENU cho các chức năng trên.....................................................22
2.12.1 Chương trình con.....................................................................................22
2.12.2 Chương trình chính..................................................................................24
2.12.3 Kết quả......................................................................................................24
CHƯƠNG 3: TẠO VÀ QUẢN LÝ DANH SÁCH THÔNG TIN CỦA KHOA SỬ
DỤNG DANH SÁCH LIÊN KẾT..............................................................................26
3.1 Định nghĩa danh sách liên kết..........................................................................26
3.1.1 Định nghĩa cấu trúc danh sách khoa.........................................................26
3.1.2 Định nghĩa Node.........................................................................................26
3.1.3 Định nghĩa danh sách liên kết....................................................................26
3.2 Các thao tác cơ bản trên danh sách liên kết...................................................26
3.2.1 Khỏi tạo danh sách.....................................................................................26
3.2.2 Nhập thông tin cho danh sách...................................................................27
3.2.3 Xuất thông tin cho danh sách.....................................................................30
3.3 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Bubble Sort)...................32
0
0
3.3.1 Chương trình con.......................................................................................32
3.3.2 Chương trình chính....................................................................................32
3.3.3 Kết quả........................................................................................................33
3.4 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Selection Sort)................33
3.4.1 Chương trình con.......................................................................................33
3.4.2 Chương trình chính....................................................................................33
3.4.3 Kết quả........................................................................................................33
3.5 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Interchange Sort)...................34
3.5.1 Chương trình con.......................................................................................34
3.5.2 Chương trình chính....................................................................................34
3.5.3 Kết quả........................................................................................................34
3.6 Tìm kiếm thơng tin của khoa dùng MaKhoa (dùng Linear Search).............35
3.6.1 Chương trình con.......................................................................................35
3.6.2 Chương trình chính....................................................................................35
3.6.3 Kết quả........................................................................................................35
KẾT LUẬN.................................................................................................................36
TÀI LIỆU THAM KHẢO..........................................................................................37
0
0
CHƯƠ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)
0
0
1.2 Cấu trúc
Cấu trúc:
o MaKhoa: Mã khoa, gồm một xâu ký tự được cung cấp trong bảng dữ liệu
mẫu
o TenKhoa: Tên khoa, gồm một chuỗi ký tự có chiều dài <40 được cung
cấp trong bảng dữ liệu mẫu
o TruongKhoa: Trưởng khoa, gồm một chuỗi ký tự có chiều dài <40 được
cung cấp trong bảng dữ liệu mẫu
o NamTL: Năm thành lập của khoa được cung cấp trong bảng dữ liệu mẫu
o SoSV: Số sinh viên hiện hành tại khoa được cung cấp trong bảng dữ liệu
mẫu
o TyLe: Tỷ lệ sinh viên/ giảng viên của khoa được cung cấp trong bảng dữ
liệu mẫu
Định nghĩa cấu trúc:
Hình 1 : Khai báo cấu trúc
0
0
1.3 Dữ liệu mẫu
1.3.1 Thông tin đối tượng quản lý
ST
T
MÃ KHOA
KHOA
TRƯỞNG KHOA
NĂM
TL
So SV
SV/GV
1
THQ01
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
3
KTT03
Kế toán - Kiểm toán
TS. Trần Hồng Vân
2004
340
12.6
4
MKT04
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
Sương
370
14.2
6
BDS06
Thẩm định giá - Kinh TS. Nguyễn Thanh Nhã
doanh Bất động sản
1999
290
1.3
7
CME07
Thương mại
TS. Nguyễn Xuân Hiệp
2002
300
10.3
8
TV008
Du lịch
TS. Đồn Liêng Diễm
2010
270
11.3
9
ELH09
Ngoại ngữ
TS. Nguyễn Ngọc Trân 2004
Châu
210
7.8
10
IT010
Cơng nghệ thông tin
TS. Trương Thành Công
320
11.9
2009
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
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)
Sắp xếp thông tin của khoa dựa theo Mã khoa (dùng Insertion Sort)
0
0
Tìm kiếm thơng tin của khoa trong danh sách khoa (dùng Linear Search và
Binary Search)
Các chức năng trên Danh Sách 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 dần (dùng 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)
0
0
CHƯƠNG 2: TẠO VÀ QUẢN LÝ BẢNG LƯƠNG CỦA CÁC NHÂN
VIÊN SỬ DỤNG MẢNG TĨNH
2.1 Nhập bảng thông tin của khoa
2.1.1 Chương trình con
Để 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ỗ trợ 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.
HÌnh 2: Nhập thông tin của khoa (1)
0
0
HÌnh 3:Nhập thơng tin của khoa (2)
2.1.2 Chương trình chính
Hàm main kiểm tra :
HÌnh 4: Hàm main để test
2.1.3 Kết quả
Dựa vào chương trình ta có kết quả sau :
HÌnh 5: Kết quả khi chạy
0
0
2.10.2 Chương trình chính..................................................................................19
2.10.3 Kết quả......................................................................................................19
2.11 Tìm kiếm thơng tin trong danh sách khoa dựa vào MaKhoa (dùng Binary
Search)..................................................................................................................... 20
2.11.1 Chương trình con.....................................................................................20
2.11.2 Chương trình chính..................................................................................21
2.11.3 Kết quả......................................................................................................21
2.12 Tạo trình MENU cho các chức năng trên.....................................................22
2.12.1 Chương trình con.....................................................................................22
2.12.2 Chương trình chính..................................................................................24
2.12.3 Kết quả......................................................................................................24
0
0
CHƯƠNG 3: TẠO VÀ QUẢN LÝ DANH SÁCH THÔNG TIN CỦA KHOA SỬ
DỤNG DANH SÁCH LIÊN KẾT..............................................................................26
3.1 Định nghĩa danh sách liên kết..........................................................................26
3.1.1 Định nghĩa cấu trúc danh sách khoa.........................................................26
3.1.2 Định nghĩa Node.........................................................................................26
3.1.3 Định nghĩa danh sách liên kết....................................................................26
3.2 Các thao tác cơ bản trên danh sách liên kết...................................................26
3.2.1 Khỏi tạo danh sách.....................................................................................26
3.2.2 Nhập thông tin cho danh sách...................................................................27
3.2.3 Xuất thông tin cho danh sách.....................................................................30
3.3 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Bubble Sort)...................32
0
0
3.3.1 Chương trình con.......................................................................................32
3.3.2 Chương trình chính....................................................................................32
3.3.3 Kết quả........................................................................................................33
3.4 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Selection Sort)................33
3.4.1 Chương trình con.......................................................................................33
3.4.2 Chương trình chính....................................................................................33
3.4.3 Kết quả........................................................................................................33
3.5 Sắp xếp thông tin của khoa dùng MaKhoa (dùng Interchange Sort)...................34
3.5.1 Chương trình con.......................................................................................34
3.5.2 Chương trình chính....................................................................................34
3.5.3 Kết quả........................................................................................................34
3.6 Tìm kiếm thơng tin của khoa dùng MaKhoa (dùng Linear Search).............35
3.6.1 Chương trình con.......................................................................................35
3.6.2 Chương trình chính....................................................................................35
3.6.3 Kết quả........................................................................................................35
KẾT LUẬN.................................................................................................................36
TÀI LIỆU THAM KHẢO..........................................................................................37
0
0
0
0
CHƯƠ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)
0
0