Câu hỏi:

13/07/2024 47

Sử dụng cây tìm kiếm nhị phân để viết ứng dụng quản lí tài khoản ngân hàng. Mỗi một tài khoản gồm mã tài khoản (duy nhất) và số dư tài khoản. Ứng dụng cho phép thêm tài khoản, sửa số dư tài khoản, tìm kiếm tài khoản theo mã tài khoản.

Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).

Tổng ôn toán Tổng ôn lý Các môn khác

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Hướng dẫn gợi ý về cách sử dụng cây tìm kiếm nhị phân để viết ứng dụng quản lí tài khoản ngân hàng thông qua một chương trình mẫu sau: 

class Account:

    def __init__(self, account_id, balance):

        self.account_id = account_id

        self.balance = balance

        self.left = None

        self.right = None

class BankAccountManager:

    def __init__(self):

        self.root = None

    def insert(self, root, account_id, balance):

        if root is None:

            return Account(account_id, balance)

        if account_id < root.account_id:

            root.left = self.insert(root.left, account_id, balance)

        elif account_id > root.account_id:

            root.right = self.insert(root.right, account_id, balance)

        return root

    def add_account(self, account_id, balance):

        self.root = self.insert(self.root, account_id, balance)

    def search(self, root, account_id):

        if root is None or root.account_id == account_id:

            return root

        if account_id < root.account_id:

            return self.search(root.left, account_id)

        return self.search(root.right, account_id)

    def find_account(self, account_id):

        return self.search(self.root, account_id)

    def update_balance(self, account_id, new_balance):

        account = self.find_account(account_id)

        if account:

            account.balance = new_balance

        else:

            print("Account not found.")

# Sử dụng ứng dụng

bank_manager = BankAccountManager()

# Thêm tài khoản

bank_manager.add_account(1001, 50000)

bank_manager.add_account(1002, 100000)

bank_manager.add_account(1003, 75000)

# Tìm kiếm tài khoản

account = bank_manager.find_account(1002)

if account:

    print(f"Account found - Account ID: {account.account_id}, Balance: {account.balance}")

else:

    print("Account not found.")

# Cập nhật số dư tài khoản

bank_manager.update_balance(1001, 60000)

# Kiểm tra lại số dư sau khi cập nhật

account = bank_manager.find_account(1001)

if account:

    print(f"Updated balance - Account ID: {account.account_id}, Balance: {account.balance}")

else:

    print("Account not found.")

Chú thích trong chương trình này:

- Lớp Account được sử dụng để đại diện cho mỗi tài khoản, với hai thuộc tính là account_id (mã tài khoản) và balance (số dư tài khoản).

- Lớp BankAccountManager chứa các phương thức để thêm tài khoản, tìm kiếm tài khoản và cập nhật số dư tài khoản. Mỗi tài khoản được lưu trữ trong một cây tìm kiếm nhị phân, với account_id làm khóa.

 

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Sử dụng cây tìm kiếm nhị phân để viết chương trình quản lí danh sách học sinh của một trường trung học phổ thông. Mỗi một học sinh gồm các thông tin: mã học sinh (duy nhất), họ tên, ngày sinh. Chương trình cho phép thêm một học sinh vào danh sách với các trường thông tin kể trên, tìm kiếm học sinh theo mã và sửa đổi họ tên và ngày sinh ứng với một mã học sinh.

Xem đáp án » 13/07/2024 115

Câu 2:

Trong Bài 7, cây tìm tìm kiếm nhị phân được cài đặt bằng mảng một chiều và mỗi nút của cây có khoá là một thuộc tính. Trong thực tế, một đối tượng có thể có nhiều thuộc tính. Ví dụ, với bài toán quản lí các món trong thực đơn, mỗi món có hai thuộc tính là tên và giá tiền. Trong trường hợp này, cây tìm kiếm nhị phân biểu diễn danh sách các món được cài đặt bằng mảng như thế nào và làm thế nào để mỗi nút của cây chứa hai thuộc tính là tên và giá tiền?

 

Xem đáp án » 13/07/2024 71

Câu 3:

Vẽ cây tìm kiếm nhị phân ứng với tệp menu.inp trong nhiệm vụ thực hành, lưu ý mỗi nút gồm hai thuộc tính name và price.

Xem đáp án » 13/07/2024 59

Câu 4:

Mô tả quá trình tra cứu giá tiền món Bún chả thực hiện trên cây tìm kiếm nhị phân đã vẽ ở Luyện tập 1

Xem đáp án » 13/07/2024 44

Bình luận


Bình luận
Đăng ký gói thi VIP

VIP 1 - Luyện thi tất cả các đề có trên Website trong 1 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 2 - Luyện thi tất cả các đề có trên Website trong 3 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 3 - Luyện thi tất cả các đề có trên Website trong 6 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 4 - Luyện thi tất cả các đề có trên Website trong 12 tháng

  • Siêu tiết kiệm - Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

Vietjack official store