2013-04-25 118 views
0

我正在製作一個Postfix計算器,在後綴表達式評估過程中,我必須使用堆棧對象和二叉樹來將表達式從中綴轉換爲解析樹。二進制樹後綴計算器

有人可以翻譯嗎?

我開發了一個後綴計算器方法,並且我開發了一種方法,將表達式從中綴改爲後綴,但我不明白我被要求做什麼。我可以在infix中輸入一個表達式,並將其計算得很好,並將其轉換爲postfix,但我無法確定我在這裏要求創建的是什麼。

一個如何基本上以僞代碼實現的例子將是非常有幫助的,或者只是解釋如何將數學表達式存儲到二叉樹中以及如何評估二進制樹中的表達式並將堆棧轉換爲解析樹。

我還會說我有點不確定分析樹是什麼。

任何解釋將非常感激。

這是一類的任務,所以在這裏可以看到,如果這是不充分的信息:http://www.cs.gsu.edu/jbhola/csc3410/Spring13/assign6_expre_tree.html

我主要在這裏點我只是不太明白我應該做的還是怎麼我應該這樣做。我們沒有被教會如何編程任何這些,我們缺乏一本教科書,所以我只是盲目地試圖圍繞整個項目:/

+0

我假設你被要求建立您將得到表現的二進制樹表示。嚴格地說,你不需要二叉樹來評估表達式,但這是練習的目的,所以你不能放棄它。你可能沒有教科書,但你應該有谷歌,無論如何這可能會更好。 – 2013-04-25 07:00:13

+0

我已經使用了Google搜索功能,而且我發現了一種方法,可以在後綴中讀取二進制樹表達式,但不能解釋如何設置這樣的東西或直接從樹中計算出來:c – 2013-04-25 07:04:55

+1

我會先擔心關於a)什麼是二叉樹,b)如何構建二叉樹。如何在這樣的樹上進行計算可能太過微不足道,無法包含在帖子中。 – 2013-04-25 07:08:12

回答

0

想象一下,您有一個像AddNode這樣的節點,它具有兩個值

class AddNode { 
    final double a, b; 

    double value() { 
     return // how could you return the value of this node? 
    } 
} 

使其更加通用

interface Node { double value(); } 

class AddNode implements Node { 
     final Node a, b; 

     double value() { 
      return // something which gives the value of this node. 
     } 
}