Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH (UEH)


TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ


ĐỒ ÁN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

ĐỀ TÀI

CÂY NHỊ PHÂN VÀ TÍNH TOÁN BIỂU THỨC TOÁN HỌC


Học Phần: Cấu Trúc Dữ Liệu & Giải Thuật
Danh Sách Nhóm:
1. Thới Trần Ngọc Thạch
2. Nguyễn Văn Tú
3. Trương Thiên Bảo
4. Trần Nhật Khánh
5. Nguyễn Hoàng Vân
Chuyên Ngành: KỸ THUẬT PHẦN MỀM
Khóa: K48

Giảng Viên: TS. Đặng Ngọc Hoàng Thành

Tp. Hồ Chí Minh, tháng 12 năm 2023


MỤC LỤC

MỤC LỤC................................................................................................................2
CHƯƠNG 1. CÂY NHỊ PHÂN TÌM KIẾM.........................................................3
1.1. Các Khái Niệm Liên Quan..................................................................................................................3
1.2. Cấu Trúc và Cài Đặt Cây BST..............................................................................................................3
1.3. Các Thuật Toán Trên BST..................................................................................................................4
a) Thuật Toán thêm Node vào BST......................................................................................................4
b) Thuật Toán thăm nút BST................................................................................................................4
c) Thuật Toán tìm nút Min/Max...........................................................................................................6
d) Xác định độ cao BST........................................................................................................................8
e) Tìm nút BST......................................................................................................................................8
g) Xóa nút BST......................................................................................................................................8
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ LỚP.................................................9
2.1. Phân Tích Bài Toán Tìm Kiếm Danh Bạ Bằng Cây BST.......................................................................9
2.2. Sơ Đồ Lớp.........................................................................................................................................9
2.3. Cài Đặt Lớp.......................................................................................................................................9
CHƯƠNG 3. THIẾT KẾ GIAO DIỆN................................................................11
3.1. Giao Diện Menu Chính....................................................................................................................11
3.2. Chi Tiết Chức Năng.........................................................................................................................11
CHƯƠNG 4. THẢO LUẬN & ĐÁNH GIÁ........................................................12
5.1. Các Kết Quả Nhận Được.................................................................................................................12
5.2. Một Số Tồn Tại................................................................................................................................12
5.1. Hướng Phát Triển...........................................................................................................................12
PHỤ LỤC...............................................................................................................13
TÀI LIỆU THAM KHẢO.....................................................................................14

2
CHƯƠNG 1. CÂY NHỊ PHÂN TÌM KIẾM

1.1. Các Khái Niệm Liên Quan

Cây (tree) là một dạng cấu trúc dữ liệu bao gồm: các đỉnh (Node) và cạnh
(Edge). Các đỉnh chứa thông tin và được kết nối bởi các cạnh.
Tập thứ tự các cạnh sẽ tạo thành một đường đi (path).
Đỉnh ở trên cùng được gọi là gốc (root).
Các đỉnh còn được gọi là nút con (child).
Đỉnh không có bất kì nút con nào được gọi là lá (leaf).
Các đỉnh được phân thành các mức khác nhau (level 0, level 1, V.V.).
Một cây mà mỗi đỉnh có không quá 2 nút con được gọi là cây nhị phân
(Binary tree).
Giá trị của tất cả các nút ở cây con bên trái ≤ giá trị của nút gốc.
Giá trị của tất cả các nút ở cây con bên phải > giá trị của nút gốc.
Tất cả các cây con (bao gồm bên trái và phải) đều phải đảm bảo hai tính chất trên.
1.2. Cấu Trúc và Cài Đặt Cây BST

3
Mỗi nút gồm có dữ liệu (data), nút trái (left) và nút phải (right).
Mỗi BST có một nút gốc (root).
1.3. Các Thuật Toán Trên BST
a) Thuật Toán thêm Node vào BST

b) Thuật Toán thăm nút BST


Duyệt trung thứ tự

4
Duyệt tiền thứ tự

5
Duyệt hậu thứ tự

c) Thuật Toán tìm nút Min/Max


Tìm nút Min

6
Tìm nút Max

7
d) Xác định độ cao BST

e) Tìm nút BST

g) Xóa nút BST

8
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ LỚP

2.1. Phân Tích Bài Toán Tìm Kiếm Danh Bạ Bằng Cây BST

2.2. Sơ Đồ Lớp

2.3. Cài Đặt Lớp

9
10
CHƯƠNG 3. THIẾT KẾ GIAO DIỆN

3.1. Giao Diện Menu Chính

3.2. Chi Tiết Chức Năng

11
CHƯƠNG 4. THẢO LUẬN & ĐÁNH GIÁ

5.1. Các Kết Quả Nhận Được

5.2. Một Số Tồn Tại

5.1. Hướng Phát Triển

12
PHỤ LỤC

- Đưa Link Toàn Bộ Mã Nguồn Lên GitHub và Đưa Link Vào Đây
- Viết Hướng Dẫn Cách Cài Đặt Để Chạy
- Phân Công Công Việc

Thành Viên Nhiệm Vụ

Lưu ý: nhiệm vụ cần phân công rõ ràng, ko có kiểu là “cùng nhau” làm cái này !

13
TÀI LIỆU THAM KHẢO

1. xyz
2. xyz

14

You might also like