Tải bản đầy đủ (.pdf) (52 trang)

(TIỂU LUẬN) 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.67 MB, 52 trang )

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


×