Là một phần của phép gán Java, tôi phải lấy biểu thức số học đầu vào và lưu nó trong cây nhị phân.Chuyển đổi biểu thức infix (có dấu ngoặc đơn) thành cây nhị phân
Tôi đã làm mọi thứ cần thiết cho bài tập ngoại trừ phần tôi đọc trong chuỗi biểu thức và lưu nó vào cây nhị phân.
Tôi đã tạo một lớp có tên là BinaryTree. Trường duy nhất của nó là một treenode gọi là root. Treenode này được định nghĩa là một lớp bên trong trong BinaryTree. Nó có 3 trường, một trường dữ liệu chung và hai con (trái và phải) là kiểu BinaryTree.
Tôi đang gặp một thời gian rất khó xác định một thuật toán cho việc đọc trong một biểu thức như
(5 * (2 + 3)^3)/2
và lưu trữ nó trong một cái cây như này
/
^ 2
* 3
5 +
2 3
Bất kỳ ai có thể trợ giúp thuật toán không?
Hãy thử một chuỗi phương trình đơn giản trước: '1 + 2'. Khi bạn nhận được điều đó, hãy làm: '1 + 2 * 3'. Tuy phức tạp hơn: '1 * 2 + 3'. Cuối cùng: '(1 + 2) * 3' –
Bạn có muốn giải thích cho bản ngã không? – Tushar