999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言中遞歸函數的教學方法探討

2014-09-04 05:05:56孫冬高清維盧一相
考試周刊 2014年56期
關鍵詞:教學方法

孫冬 高清維 盧一相

摘 要: 函數遞歸基于分治法思想,將復雜的大規模問題轉化為小規模問題進行求解,在算法設計中具有重要的理論意義和實用價值,是C語言教學的難點。通過一組從簡單到復雜的程序實例,引導學生由淺入深地掌握遞歸程序的編寫技巧,在教學中取得較好的效果。

關鍵詞: C語言 遞歸函數 分治法思想 教學方法

1.引言

C語言是一種語法簡潔緊湊、運算符豐富、可移植性強、目標程序執行效率高的強數據類型語言,近年來在國內得到迅速的推廣應用。作為我校信息類本科教學的入門語言,C語言是匯編語言、計算機原理、單片機程序設計等其他后繼課程的基礎,對整個教學過程具有重要的作用。

所有的C語言程序都由函數組成。在函數的調用中,直接或間接地調用自身的函數稱為遞歸函數,相應的算法稱為遞歸算法。在計算機算法設計與分析中,遞歸算法是一類較重要的算法,遞歸的使用往往使函數的定義和算法的描述簡潔且易于理解。

2.遞歸的基本原理

對于任何可以用計算機求解的問題,其求解難度與計算時間都與問題的規模有關。若一個規模較大的且難以直接解決的問題能夠分解為k個規模較小的子問題,并且這些子問題互相獨立且與原問題相同,那么可以通過對這些子問題進行分別求解,然后將各個子問題的解合并,得到原問題的解。其中P代表原始問題,P1、P2…Pk是比原始問題的規模|P|更小的子問題,Merge函數將子問題的解y1、y2…yk進行合并。

假設原始問題規模為n,子問題P1、P2…Pk的規模為n/m,分解閾值n0=1,且AdHoc函數求解規模為1的問題耗費1個單位時間。再設合并函數Merge的時間復雜度為f此時遞歸算法具有多項式的計算復雜度,其階數由子問題的劃分數目k和子問題的規模n/m共同決定。

3.教學實例分析

函數的遞歸是C語言教學中的一個難點,本節根據上面給出的遞歸程序結構,通過一組從簡單到復雜的實例,逐步引導學生掌握遞歸程序編寫的技巧。

實例1(階乘問題):計算整數n的階乘。

分析:該問題可使用下述遞歸結構進行求解:

(1)當n=1時,可以直接計算n!=1;

(2)當n>1時,n!可以通過對1個小規模的子問題(n-1)!的求解得到,也即n!=(n-1)!*n。

實例2(Hanoi塔問題):設a、b、c是三個塔座。開始時,在a座處自上而下、從小到大地疊放n個圓盤,編號分別為1、2、…n,如圖1所示。現要求將a座處的所有圓盤按同樣的次序堆疊到b座上,并且要求:(1)每次只能移動1個圓盤;(2)任何時候都不允許將大盤壓在小盤的上方。

分析:該問題可使用下述遞歸結構進行求解:

(1)當n=1時,直接將盤從a座移動到b座;

(2)當n>1時,將圓盤按下列方法移動(見圖2):

①將a座上的n-1個盤移動到c座;

②將a座的第n個盤移動到b座;

③將c座上的n-1個盤移動到b座。

根據以上分析,可以寫出如下的程序:

實例3(排序問題):對n個元素的整型數組array進行排序。

分析:該問題可使用下述遞歸結構進行求解:

(1)當n=1時,直接輸出排序結果;

(2)當n>1時,按下列方法進行排序:

①將array分成大小基本相同的兩部分;

②對兩個子數組分別進行排序;

③將兩個排序后的子數組進行合并。

其中參數left和right分別代表當前數組的第1個元素和最后一個元素的下標。

對于該排序算法,子問題的數目k=2,規模n/m = n/2。因為函數Merge的合并操作可以在線性時間內完成,所以由(3)式可以得到相應的時間復雜度為

T(n)=O(nlogn)(4)

4.結語

在C語言教學中,函數的遞歸一直是教學的重點和難點。本文首先從理論上給出遞歸的程序結構,然后以該結構為指導,通過一組程序實例,引導學生掌握遞歸程序的編寫技巧,理解應用分治法解決復雜問題的思想。實踐證明,本方法在課堂教學中取得較好的效果。

參考文獻:

[1]張建軍,史銀龍,劉勝厚.C語言程序設計[M].北京:海洋出版社,2010:53-63.

[2]譚浩強.C語言程序設計[M].北京:清華大學出版社,1999:35-38.

[3]范勁松,黃友初.案例教學法在C語言教學中的系統應用[J].鄖陽醫學院學報,2005,24(3):191-192.

[4]王曉東.計算機算法設計與分析[M].北京:電子工業出版社,2010:9-22.

猜你喜歡
教學方法
初中英語寫作教學方法初探
甘肅教育(2020年2期)2020-09-11 08:01:42
教學方法與知識類型的適宜
數學復習教學方法
高中體育教學方法初探
學周刊(2016年23期)2016-09-08 08:57:30
淺談高等數學中教學方法的創新
實用型中醫人才培養中慕課教學方法的探討
文言文教學方法實踐初探
中學語文(2015年21期)2015-03-01 03:52:15
高中文言文教學方法之我見
中學語文(2015年21期)2015-03-01 03:52:15
初中數學教師不可忽視的幾種教學方法
散文百家(2014年11期)2014-08-21 07:17:18
語文閱讀教學方法略談
主站蜘蛛池模板: a级毛片一区二区免费视频| 无码一区中文字幕| 99国产在线视频| 九色视频线上播放| 九色综合视频网| 农村乱人伦一区二区| 国产成人高清在线精品| 91丝袜美腿高跟国产极品老师| 任我操在线视频| 无码福利视频| 欧美 亚洲 日韩 国产| 四虎永久在线精品影院| 久久人体视频| 亚洲综合天堂网| 久久精品这里只有国产中文精品 | 久久伊人色| 天天做天天爱天天爽综合区| 国产拍在线| 亚洲一区国色天香| 欧美亚洲一区二区三区在线| 久热99这里只有精品视频6| 成人欧美日韩| 亚洲高清无码精品| 亚洲区欧美区| 国产成人一区二区| 国产一区二区网站| 精品撒尿视频一区二区三区| 91丝袜乱伦| 亚洲AV免费一区二区三区| 欧美一区二区精品久久久| 国内精品自在自线视频香蕉| 少妇高潮惨叫久久久久久| 亚洲国产精品久久久久秋霞影院| 最新亚洲人成无码网站欣赏网 | 国产哺乳奶水91在线播放| 中国一级特黄大片在线观看| 深夜福利视频一区二区| 麻豆AV网站免费进入| 精品免费在线视频| 四虎国产精品永久一区| 久久国产成人精品国产成人亚洲| 国产在线观看99| 国产成人精品日本亚洲77美色| 伊人五月丁香综合AⅤ| 国产免费看久久久| 99热这里只有成人精品国产| 91精品国产一区自在线拍| 国产精品久久国产精麻豆99网站| 国产不卡国语在线| 亚洲欧美不卡中文字幕| 亚洲国产无码有码| 国产麻豆福利av在线播放| 55夜色66夜色国产精品视频| 午夜精品国产自在| 国产白浆在线| 尤物成AV人片在线观看| 美女潮喷出白浆在线观看视频| 亚洲AV一二三区无码AV蜜桃| 成人午夜免费观看| 国产人成网线在线播放va| 一级黄色网站在线免费看| 香蕉国产精品视频| 国产精品黄色片| 国产日本欧美亚洲精品视| 亚洲国产日韩在线成人蜜芽| 国产成人免费| 久草热视频在线| 9啪在线视频| 成人无码一区二区三区视频在线观看| 日韩av在线直播| 亚洲天堂网在线视频| 高h视频在线| 国产精品分类视频分类一区| 国产精品美女网站| 国产成人精品一区二区三在线观看| 91色在线观看| 午夜丁香婷婷| 欧美色丁香| 91亚洲影院| 亚洲嫩模喷白浆| 天堂av高清一区二区三区| 成人综合网址|