遞迴其實也只是一種演算法上的描述,不是一種新的語法!
有時候,我們解決問題的時候,會遇到這種情況,當我們把乙個大的問題按照某種解決方案分成若干個小的問題的時候,發現這些小問題的解決方案其實和剛才大問題的解決方案又是一樣的!
典型的,比如:求階乘!
10! = 10 * 9!
9! = 9 * 8!
8! = 8 * 7!
語法上,函式的遞迴呼叫,就是函式在執行的過程中自己又呼叫自己!
遞迴的兩個要點:
1, 遞迴的出口:就是指什麼時候停止遞迴呼叫
2, 遞迴點:就是指什麼時候開始使用遞迴呼叫
在寫遞迴呼叫的時候,先寫遞迴的出口,再寫遞迴點!
所以,遞迴呼叫的特點是:**書寫比較簡單,但是執行的時候,比較消耗記憶體資源!
也可以說,遞迴的本質就是以空間換取時間!
下面是通過遞迴遍歷資料夾的乙個小案例:
**:
<?php /*** 定義遍歷指定路徑下檔案與資料夾,通過遞迴的方法
效果:下篇我會用遞迴的方法來實現無限極分類的小案例。
qlist的遍歷 List集合操作一 遍歷與查詢
首先宣告本文不是討論linq,在framwork2.0中也不支援linq操作的,主要是記錄一下list集合的使用方法。list 一般主要用到的查詢遍歷方法 find 搜尋指定謂詞所定義條件相匹配的元素,並返回整個list中的第乙個匹配元素。findlast 搜尋指定謂詞所定義條件相匹配的元素,並返回...
python對檔案,資料夾的一些操作
python中對檔案 資料夾的操作需要涉及到os模組和shutil模組。建立檔案 1 os.mknod test.txt 建立空檔案 2 open test.txt w 直接開啟乙個檔案,如果檔案不存在則建立檔案 建立目錄 os.mkdir file 建立目錄 複製檔案 shutil.copyfil...
python對資料夾的一些操作
view source print?01defcopyfolderos sfolder,tfolder 02sourcepath sfolder 03destpath tfolder 04forroot,dirs,filesinos.walk sourcepath 05 06 figure out ...