【轉】自底向上和自頂向下的區別


用兩個簡單的例子說明一下:

某日小明上數學課,他的老師給了很多個不同的直角三角板讓小明用尺子去量三角板的三個邊,並將長度記錄下來。兩個小時過去,小明完成任務,把數據拿給老師。老師給他說,還有一個任務就是觀察三條邊之間的數量關系。又是兩個小時,聰明的小明連蹦帶跳走進了辦公室,說:“老師,我找到了,三條邊之中有兩條,它們的平方和約等於另外一條的平方。”老師拍拍小明的頭,“你今天學會了一個定理,勾股定理。它就是說直角三角形有兩邊平方和等於第三邊的平方和”。

 

另一個故事,某日老師告訴小明“今天要教你一個定理,勾股定理。”小明說,“什么是勾股定理呢?”“勾股定理是說,直角三角形中有兩條邊的平方和等於第三邊的平方。”然后老師給了一大堆直角三角板給小明,讓他去驗證。兩個小時后,小明告訴老師定理是正確的.

 

兩個故事剛好是語法分析里面對應的兩個方法:第一個故事說的是自底向上的分析方法,第二個故事說的是自頂而下的分析方法。

 

在三維建模軟件里也存在這個問題:

自底向上就是先建零件圖,然后去組裝裝配圖!三維網技術論壇; b2 c2 d( t9 G" k
自頂向下就是先建裝配圖,再在裝配圖中建零件圖!

或者先建立一個總裝配體的零件圖,然后切割成各個零件圖!

 

兩種分析方法的根本區別是:自底向上的分析,是從具體到抽象;自頂向下的分析,是從抽象到具體。兩種分析思路恰恰又是哲學思考問題的兩大方向。可見計算機科學與哲學也是相通的.

------------------------------以上是轉載內容,分割線以下是自己補充的內容------------------------------------------------------------------------

補充內容:

在軟件設計或者算法設計中,經常會遇到自頂向下或者自底向上的設計方法,其實可以將一個設計項目想象成金字塔,然后自底向上就是從金字塔的底部開始,先建立基腳,從底部逐漸修建直到完成金字塔的頂端,這種方法對整體完成的樣子是未知的,由具體到抽象;而自頂向下是已知金字塔的基本形狀和輪廓,先建立完整骨架,再完成具體的添磚加瓦的工作,這是由抽象到具體的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM