Hỏi về cây biểu thức C++
_
Bài viết hỏi thuật giải chứ không nhờ giải,đừng có gắn cờ em á
_
Lại một lần nữa phải làm phiền mọi người ,đang làm cây biểu thức dạng như thế này ( mình làm trên console thôi chứ không như hình dưới nhé , minh họa thôi )
Yêu cầu như này:
1.Nhập vào một biểu thức số học đơn giản
2.Biểu diễn biểu thức số học lên cây nhị phân.
3.Kiểm tra cú pháp của biểu thức.
4.Xuất ra biểu thức số học đó dưới dạng: tiền tố, trung tố, hậu tố ( có thể làm được )
5.Tính giá trị của biểu thức ( có thể làm được )
Mình bí thuật giải quá chưa biết làm như nào,đang có ý tưởng như này không biết khả dụng không
-Cho nhập vào và lưu dữ liệu nhập vào dạng string Nhap;
-Làm hàm xóa bỏ khoảng trắng trong string Nhap ( nếu có )
-Làm hàm kiểm tra là toán tử ( + - * / ) hoặc là số
-Nếu là số thì gán vào nút lá ( p->Left==NULL && p->Right==NULL )
-Nếu là toán tử thì gán vào các nút >1 con.
Tới đây thì " Lý Bí " rồi,mọi người giúp mình với
Mình xin chân thành cảm ơn
Hi Nguyễn Văn Vương
Cái này code có nhiều rồi.
Cái thứ 1 và 2 là cơ bản về cây, còn 3,4,5 bạn sử dụng ngăn xếp là được.
Thớt thử xài opstack (stack chứa toàn toán tử) rồi làm vài ví dụ cụ thể xem sao nếu cho + với
std::string
nữa thì dễ rồi.“Ma” hơn là lật ngược infix, đổi ra postfix (dễ hơn ) rồi lật ngược lại (!) ra suffix.
có nhiều thật nhưng ít ai giải thích lắm,toàn code thôi,mà ngồi coi code để hiểu thì…em gà lắm :))
Cảm ơn bạn đã góp ý,chúc bạn sức khỏe
Mình k có ý tưởng gì cả,lằng nhằng sao ấy