3.5 第三章小結
在這一章,我們通過實踐**了基本的函式結構和技術。首先,用 let 繫結宣告值和函式,知道了 f# 能夠使必須的概念數量最小化,從嚴謹的數學觀點來看,不可變值就是不帶引數的函式。
接下來,我們討論了函式語言中最簡單的不可變資料結構:元組,演示了不可變資料結構的用法。用不可變資料結構進行計算時,不能修改已有的例項,但可以複製原始值建立乙個新的例項,用新計算的值替換那些[原始值]。另乙個重要的不可變資料型別是列表。處理列表有助於我們理解遞迴,包括用列表建立另外的列表,以及用模式匹配遞迴地處理列表。
無論何時要在列表上執行的操作,都要寫同樣的遞迴處理,很不方便,因此,我們需要一種機制,能夠使**更通用,可以用於更廣範圍的類似情況。在上一章,我們把這種機制稱為高階函式。即,函式可以簡單地被引數化,作為引數提供給另乙個函式。
這一章是作為最重要的函式技術的預覽,形式上盡量簡化,其中的大多數可用 c# 很好地實現。我們對函式程式設計有了一些直觀感受以後,就需要更詳細地了解 f# 語言和工具,才能更好地發揮其作用,並嘗試自己寫**。
本章的示例僅是乙個概覽,在本書後面還會經常提到這些概念。其他常見的函式資料型別將在第五章討論,在第六章主要討論用高階函式處理這些型別;在這兩章,我們還將看到為使**更通用,既要使用泛型型別,也要使用泛型函式。
第三章小結
第三章學習了棧和佇列。棧,後進先出 lifo 只在棧頂 top 進行操作 佇列,先進先出 fifo 在隊頭 front 進行刪除,在隊尾 rear 進行入隊。其儲存結構的定義則可對照上一章的順序表及鍊錶的定義,知識的串接及對知識的靈活應用,讓學習變得容易些。在完成作業的過程中,發現要解決它必須多方面...
DS第三章小結
一 你對本章內容的小結 本章主要講了兩種特殊的線性表,棧和佇列。棧是僅在表尾進行插入或刪除操作且後進先出 lifo 的線性表,而佇列則是在表的一端插入,另一端刪除元素且先進先出 fifo 的線性表。同時,課本的案例引入告訴我們,棧可以解決數值的轉換,括號匹配的檢驗問題 而佇列因其結構的吻合可以用了舞...
第三章學習小結
第三章學習了棧和佇列,有了第二章對線性表的學習,已經了解學習的乙個思維過程,在這裡分享一下。例如學習棧,首先要了解它的訪問特點,然後是學習它的adt,然後從具體的方面學習,分別從兩種不同的儲存結構來 它具體操作的實現。這個是整個資料結構學習的基本思路,掌握了思路,我覺得對於理清楚整一本書很有幫助。2...