自頂向下 逐步求精

2021-08-11 14:13:40 字數 681 閱讀 1583

將複雜的大問題分解為相對簡單的小問題,找出每個問題的關鍵、重點所在,然後用精確的思維定性、定量地去 描述問題。其核心本質是」分解」。

自頂向下(top-down)的分析演算法通過在最左推導中描述出各個步驟來分析記號串輸入。之所以稱這樣的演算法為自頂向下是由於分析樹隱含的編號是乙個前序編號,而且其順序是由根到葉自頂向下的分析程式有兩類:回溯分析程式(backtracking parser)和**分析程式(predictive parser)。**分析程式試圖利用乙個或多個先行記號來**出輸入串中的下乙個構造,而回溯分析程式則試著分析其他可能的輸入,當一種可能失敗時就要求輸入中備份任意數量的字元。雖然回溯分析程式比**分析程式強大許多,但它們都非常慢,一般都在指數的數量級上,所以對於實際的編譯器並不合適。

遞迴下降程式分析和ll(1)分析一般地都要求計算先行集合,它們分別稱作first集合和follow集合。由於無需顯式地構造出這些集合就可以構造出簡單的自頂向下的分析程式。

以下為用洗衣機的例項解決「自頂向下」方法:

如圖,從設定模式,水量,到每一步的洗衣過程,都是自頂向下,逐步求解,十分具有條理。

正常洗衣:方法較為複雜,但清洗效果較好,時間也較長。

快速洗衣:方法簡單,清洗效果不如正常洗衣,時間較短。

自頂向下,逐步求精

簡單來說,自頂而下,逐步求精 這是一種分解複雜任務的方法。學會分解任務,超級大分為大的 中的 小的 超小的,直到能用很直接的方法解決。是程式設計裡面很經典的方法。驗證哥德 猜想 任何乙個大於等於4的偶數均可以表示為兩個素數之和 第一步 設一上限數m,驗證從4到m的所有偶數是否能被 分解為兩個素數之和...

自頂向下,逐步求精

由於軟體導論課程的安排,我們已經學到了演算法結構的問題,所以今天我給大家介紹一下top down design。高亮宗旨!重點敲黑板 畢業聚餐點菜 很明顯 點菜就是你的big project,我們要將其分解成各個小任務從而求得實現。1.了解班級人數 2.了解少數名族同學的口味禁忌 3.了解各位同學的...

自頂向下,逐步求精

自頂向下,逐步求精是結構化程式設計常用的方法。其中 自頂向下是將複雜 大的問題劃分為小問題,找出問題的關鍵 重點所在,然後用精確的思維定性 定量地去描述問題。逐步求精是將現實世界的問題經抽象轉化為邏輯空間或求解空間的問題。複雜問題經抽象化處理變為相對比較簡單的問題。經若干步抽象 精化 處理,最後到求...