1. Trang chủ
  2. » Tất cả

Sử dụng cây bst để thao tác trên tập dữ liệu các nhân viên

3 6 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Sử dụng cây BST để thao tác trên tập dữ liệu các nhân viên
Trường học Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại đề án tốt nghiệp
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 3
Dung lượng 15,67 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HỌ TÊN NGUYỄN XUÂN TRỰC MSSV 1513804 =========================o0o========================= Sử dụng cây BST để thao tác trên tập dữ liệu các nhân viên 1) Bước 1 Xây dựng một cấu trúc (struct) NhanVien[.]

Trang 1

HỌ TÊN : NGUYỄN XUÂN TRỰC

=========================o0o=========================

Sử dụng cây BST để thao tác trên tập dữ liệu các nhân viên.

1) Bước 1: Xây dựng một cấu trúc (struct) NhanVien để lưu trữ các thông tin của

Nhân viên, mỗi nhân viên phân biệt bằng mã nhân viên (maNV)

2) Bước 2: Xây dựng class Node

class Node {

public :

NhanVien nhanVien; // Thô ng tin của nhân viên

Node *pLeft;; // Con trỏ trỏ đến Nút bên trái

Node *pRight; // Con trỏ trỏ đến Nút bên phải

public :

Node() {}

Node( NhanVien nv ) { // Phương thức khời tạo một Node

this ->nhanVien = nv ;

this ->pLeft; = nullptr ;

this ->pRight = nullptr ; }

};

3) Bước 3: Xây dựng cây BST và các phương thức

Bước 3.1: Xây dựng Lớp cây:

class BST {

private :

Node *root; // Con trỏ nút gốc

};

Bước 3.2: Khởi tạo cây rỗng:

BST() {

this ->root = nullptr ; }

Trang 2

Bước 3.3: Thêm nhân viên vào cây BST (Giải thuật Đệ quy)

Gọi nút cần thêm vào là pNew

Thêm NhanVien vào cây BST gồm 3 bước, bắt đầu tử root là nút gốc:

B1: Nếu root == NULL, thì gán gốc root == pNew Kết thúc thêm vào

B2: Nếu root->maNV == pNew->maNV, mã Nhân viên bị trùng, báo lỗi và kết thúc thêm vào

B3: Nếu pNew->maNV < root->maNV, thì thêm pNew vào cây con trái của root Ngược lại, thêm pNew vào cây con phải của root

Lặp lại bước 1.

Bước 3.4: Update nhân viên (Giải thuật Đệ quy)

Gọi nút cần update là pNode

Update NhanVien trong cây BST gồm 3 bước, bắt đầu từ root là nút gốc

B1: Nếu root == NULL thì không tìm thấy pNode

Nếu root->maNV == pNode->maNV thì thực hiện cập nhật giới tính của Nhân viên (root->gender = “Nam”) Kết thúc Update

B2: Nếu root->maNV < pNode->maNV thì tìm pNode trong cây con trái của root Ngược lại tìm pNode trong cây con phải của root

Lặp lại bước 1.

Bước 3.5: Tính sai biệt về số nhân viên nữ và nam có maNV < k (Đệ quy)

Thực hiện duyệt cây theo phương pháp Trung thứ tự (Left – Node – Right) để đếm sự sai biệt về số nhân viên Nam và Nữ có maNV < k

B1: Khởi tạo 2 bến đếm

int demNam = 0;

int demNu = 0;

B2: Nếu root == NULL thì trả về Findiff = 0

B3: Duyệt cây con trái

Nếu root->maNV <k && root->gender== “Nu”: demNu++; Nếu root->maNV <k && root->gender== “Nam”: demNam++; Duyệt cây con pha'i

Trang 3

B4: Tính sai biệt

Findiff = demNu - demNam

Ngày đăng: 25/03/2023, 08:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w