遞歸公式計算二項式_遞歸公式 每日信息
1、1 引言遞歸程序處理的問題可以分成兩類:第一類是數(shù)學上的遞歸函數(shù),要求算得一個函數(shù)值,例如階乘函數(shù)和Fibonacci函數(shù);第二類問題具有遞歸特征,目的可能是求出滿足某種條件的操作序列,例如Hanoi塔和八皇后問題。
(資料圖片)
2、第一類問題的程序設(shè)計是簡單的、機械的,而第二類問題則不然,由于涉及面廣,沒有統(tǒng)一的規(guī)則可循,所以編程過程往往比較復(fù)雜,而且編得的程序也不大好理解。
3、究其原因在于,第一類問題已經(jīng)有了現(xiàn)成的函數(shù)公式,第二類則沒有。
4、如果我們對于第二類問題也能寫出它的遞歸公式,那么編碼過程會大大簡化,而且還可以改善程序的可讀性。
5、本文將借助兩個程序?qū)嵗懻撨@種方法。
6、2 公式化方法程序設(shè)計可以分成兩個階段:邏輯階段和實現(xiàn)階段。
7、邏輯階段要確定算法,不必考慮編程語言和實現(xiàn)環(huán)境。
8、通常算法可以用自然語言、流程圖、NS圖等工具來表示,對于第二類問題能在邏輯階段得出它的遞歸公式,那么至少有這樣幾個好處:1. 把邏輯階段同實現(xiàn)階段截然分開,大大簡化程序設(shè)計。
9、2. 用數(shù)學方法推導(dǎo)遞歸公式,要比用其他方法設(shè)計算法要簡單得多。
10、3. 由于公式是算法的最精確最簡潔的描述形式,有了遞歸公式,編碼工作就變得異常簡單,而且程序的可讀性也會很好。
11、所謂遞歸程序設(shè)計的公式化方法,首先要把問題表示成數(shù)學意義下的遞歸函數(shù),那么關(guān)鍵是確定函數(shù)值的意義,盡管問題本身未必需要計算什么函數(shù)值。
12、函數(shù)值的選取可能不是唯一的,但是愈能表現(xiàn)問題本質(zhì)愈好。
13、Hanoi塔問題要求顯示為把若干個盤子從一柱搬到另一柱要采取的動作,我們可以把動作的個數(shù)取為函數(shù)值。
14、于是得到有四個自變量的遞歸函數(shù)h(d,f,t,u),其意義是以u柱(using)為緩沖把d個盤子(disks)從f柱(from)搬到t柱(to)。
15、容易得到下面的遞歸公式:h(1,f,t,u)=1h(d,f,t,u)= h(d-1,f,u,t)+ h(1,f,t,u)+ h(d-1,u,t,f), 如果d>1其實際意義非常明顯:搬動一個盤子只需一個動作;而把f柱上的d個盤子從f柱搬到t柱,需要先把上面的d-1個盤子從f柱搬到u柱,再把最下面的一個盤子從f柱搬到t柱,最后把已在u柱上的d-1盤子搬到t柱,因此總的動作個數(shù)等于三組動作之和。
16、有了遞歸公式,編程就變得極為簡單。
17、程序的結(jié)構(gòu)是一個多分支結(jié)構(gòu),恰好同遞歸公式一一對應(yīng),編程幾乎變成了機械的翻譯。
18、在下面的程序中,遞歸函數(shù)與遞歸公式的差別只有當d為1時不僅要把動作個數(shù)v置為1,同時還要顯示此動作。
19、main(){ int d,v,h(int,int,int,int);printf("disks = ");scanf("%d",&d);v=h(d,1,2,3);printf("%d actions for %d disks!",v,d);}int h(int d,int f,int t,int u){ int i,v;if(d==1){v=1;printf("%d->%d ",f,t);}else v=h(d-1,f,u,t)+h(1,f,t,u)+h(d-1,u,t,f);return v;}此程序的運行會話如下:disks = 31->2 1->3 2->3 1->2 3->1 3->2 1->27 actions for 3 disks!3 例子:八皇后問題八皇后問題[2]是一個更有代表性更復(fù)雜的遞歸例題,要求在8×8的國際象棋棋盤上擺放8個皇后,使她們不致互相攻擊。
20、我們采取的算法仍然是從棋盤第一行開始每行放一個皇后,對于每一行都從該行的第一列開始放置,并判斷它同前面的那些皇后是否互相攻擊,如是就換成下一列,否則繼續(xù)放置下一個皇后,直至放好8個皇后。
21、依照這種思想,我們定義一個有9個自變量的函數(shù):q(k,a1,a2,a3,a4,a5,a6,a7,a8)其中k表示已放置的皇后個數(shù),而ai(此處i<=k)表示第i行上的皇后所在列的列號,因此這9個自變量能夠代表求解過程中任一時刻的狀態(tài),而函數(shù)值定義為從此狀態(tài)出發(fā)能得到的解的個數(shù)。
22、按照這一思想不難得到下面的遞歸公式:q(k,a1,...,ak,0,...0)= 0 如果有0
23、將上面的遞歸公式很容易地翻譯成如下程序:main(){ int a[9],v,q(int,int *);v=q(0,a);printf("There are %d solutions!",v);}int q(int k,int *a){ int i,u,v;for(i=1,u=1;i
24、在q( )中首先計算ak是否同其前的所有ai相容,若是變量u非0。
25、q( )與遞歸公式嚴格對應(yīng),呈現(xiàn)出有三個選擇的分支結(jié)構(gòu)。
26、在u非0且k為8的情況下,置函數(shù)值v為1,并顯示已得到的解。
27、顯然這個程序編寫起來最為簡單,而且最好理解。
28、下面給出該程序的交互會話,為節(jié)省版面只列出92個解中的4個:15863724 16837425 ... 83162574 84136275There are 92 solutions!4 結(jié)束語公式化方法是一種簡單而有效的設(shè)計思想,它把程序設(shè)計和程序理解的難點都集中到遞歸公式上。
29、從上面的例子可以看到這種思想能夠簡化程序設(shè)計,而且得到的程序顯然好于通常的程序。
30、這種思想有普遍性,至少適用多數(shù)遞歸程序的設(shè)計。
31、由遞歸公式設(shè)計出的程序具有標準的分支結(jié)構(gòu),編寫和理解都要簡單得多。
32、上面的兩個例題在求得函數(shù)值的同時,很容易地得到了要求的序列,但對于一般的問題未必總是這樣。
33、筆者曾給出一種伴隨序列法,可以用來得到某些問題(如顯示所有從m個數(shù)中取n個數(shù)的組合)要求的序列。
本文到此分享完畢,希望對大家有所幫助。
關(guān)鍵詞:
- 遞歸公式計算二項式_遞歸公式 每日信息(2023-04-23 04:34:00)
- 英語輔導(dǎo)報官網(wǎng)答案2021七年級下_英語輔導(dǎo)報官網(wǎng)|天天資訊(2023-04-23 03:59:15)
- 青島公考機構(gòu):如何在短時間內(nèi)提高你的公考成績?(2023-04-23 03:29:46)
- 焦點簡訊:賽默飛中國:用創(chuàng)新助力綠色發(fā)展(2023-04-23 03:22:45)
- 環(huán)球熱點評!孔生生(2023-04-23 03:01:05)
- 環(huán)球人文地理_關(guān)于環(huán)球人文地理介紹|快播(2023-04-23 03:04:32)
- 全球時訊:請安是什么意思-請安(2023-04-23 02:17:00)
- 金彈子幾月嫁接成活率高 金彈子什么時間嫁接成活率高|環(huán)球速遞(2023-04-23 01:57:10)
- 環(huán)球今日訊!2023上海車展大獎:先鋒科技眼花繚亂 海外品牌概念車花落誰家?(2023-04-23 01:34:00)
- 有關(guān)于植物的作文450字左右_有關(guān)于植物的作文|天天熱門(2023-04-23 01:34:14)
- 曾令旭曬與阿不都合照:新疆隊核心被我帽了倆 完全限制住哈哈|世界觀焦點(2023-04-23 01:26:45)
- 長沙2個案例獲評全省國土空間生態(tài)修復(fù)范例_今日熱訊(2023-04-23 00:48:56)
- 2023年事業(yè)單位招聘信息匯總(更新至4月22日)_環(huán)球動態(tài)(2023-04-23 00:14:48)
- 九牛二虎,打一動物_九牛二虎打一生肖_環(huán)球觀察(2023-04-22 23:48:38)
- 小林退熱貼多久換一次_小林退熱貼(2023-04-22 23:48:53)
- 2023江蘇郵政首屆書報刊“悅讀節(jié)”啟動 將推出1000余場閱讀活動 環(huán)球微頭條(2023-04-22 23:25:43)
- 中級會計專業(yè)技術(shù)資格考試大綱有用嗎|世界快報(2023-04-22 23:16:15)
- 微頭條丨個人、企業(yè) 專業(yè)辦理多家銀行貸款服務(wù)(2023-04-22 22:51:36)
- 股票如何逃頂?分享3個絕招,避免做坐電梯了!(2023-04-22 22:57:37)
- 世界資訊:銀行工作人員的存款方式你了解嗎?原來他們都是這樣存款的!(2023-04-22 22:44:11)
- 蘭花可以放室外養(yǎng)嗎 能不能室外養(yǎng)蘭花 全球時快訊(2023-04-22 22:49:49)
- 美國上周首申失業(yè)金人數(shù)上升 專家憂未來或進入經(jīng)濟衰退-快訊(2023-04-22 22:49:43)
- 比亞迪海鷗:小型車市場的黑馬,能否飛上天空?(2023-04-22 22:01:19)
- 目前東康線間斷性放行!周日夜間至周一,鄂爾多斯將再迎小雨或雨夾雪|天天觀天下(2023-04-22 21:56:04)
- 德固特:公司可為制藥生產(chǎn)提供相關(guān)裝備 世界焦點(2023-04-22 21:56:32)
- 中國銀行等多家銀行:將自動免除2023年度國家助學貸款利息 世界新視野(2023-04-22 21:46:12)
- 天津銀行業(yè)存款一季度保持較快增速,其中個人存款同比增超兩成 天天動態(tài)(2023-04-22 22:00:12)
- 最新:4月農(nóng)業(yè)銀行最新利率,存10萬有2750元,想存錢的人有福了(2023-04-22 22:02:46)
- 最新:交通銀行利率上調(diào),存10萬利息4500元,要存款的朋友注意了(2023-04-22 21:52:11)
- 強勢思維,決定選股收益,明白了,早點遠離虧損! 全球速看(2023-04-22 22:02:09)
-
2023年事業(yè)單位招聘信息匯總(更新至4月22
4548,2140,2142,3100,3102,4508,3103
-
九牛二虎,打一動物_九牛二虎打一生肖_環(huán)球
1、老鼠用了九牛二虎之力還不如只小老鼠腦袋聰明得了第一。本文到此分享完畢,希望對大...
-
小林退熱貼多久換一次_小林退熱貼
1、一周多的寶寶發(fā)燒不退,還是建議到醫(yī)院兒科檢查治療。2、您的情況小林退熱貼是可以...
-
2023江蘇郵政首屆書報刊“悅讀節(jié)”啟動 將
啟動儀式現(xiàn)場。人民網(wǎng)龔世俊攝人民網(wǎng)南京4月22日電(龔世?。?月22日上午,江蘇郵政首...
-
中級會計專業(yè)技術(shù)資格考試大綱有用嗎|世界
中級會計專業(yè)技術(shù)資格考試大綱有用,考試大綱是考試出題的主要方向,出題的方向不會偏...
-
微頭條丨個人、企業(yè) 專業(yè)辦理多家銀行貸款
(大理114通訊錄↓↓↓)(大理吃喝玩樂↓↓↓)▼【超級推】貸-款找我!個人、企業(yè)?...
-
股票如何逃頂?分享3個絕招,避免做坐電梯
10余年的炒股經(jīng)歷,讓我太熟悉頂部形態(tài)了,我把自己的3大絕招公開,讓你快速識別股票頂...
-
世界資訊:銀行工作人員的存款方式你了解嗎
銀行工作人員的存款方式你了解嗎?原來他們都是這樣存款的賺到錢存在銀行中是每一個中...
-
蘭花可以放室外養(yǎng)嗎 能不能室外養(yǎng)蘭花 全
1、蘭花可以放在室外養(yǎng)殖,但是不能夠長期放在室外養(yǎng)殖的。如果下大雨,則會導(dǎo)致蘭花盆...
-
美國上周首申失業(yè)金人數(shù)上升 專家憂未來或
中新網(wǎng)4月21日電綜合報道,當?shù)貢r間20日,美國勞工部報告稱,上周全美首次申領(lǐng)失業(yè)金人...
- 遞歸公式計算二項式_
- 青島公考機構(gòu):如何在
- 環(huán)球熱點評!孔生生
- 環(huán)球人文地理_關(guān)于環(huán)
- 遞歸公式計算二項式_遞歸公式 每日信息
- 青島公考機構(gòu):如何在短時間內(nèi)提高你的公考成績
- 環(huán)球熱點評!孔生生
- 環(huán)球人文地理_關(guān)于環(huán)球人文地理介紹|快播
- 有關(guān)于植物的作文450字左右_有關(guān)于植物的作文|
- 曾令旭曬與阿不都合照:新疆隊核心被我帽了倆
- 長沙2個案例獲評全省國土空間生態(tài)修復(fù)范例_今日
- 小林退熱貼多久換一次_小林退熱貼
- 中級會計專業(yè)技術(shù)資格考試大綱有用嗎|世界快報
- 美國上周首申失業(yè)金人數(shù)上升 專家憂未來或進入
- 滾動
- 綜合
- 房產(chǎn)
- 華發(fā)新一代優(yōu)+產(chǎn)品體系5.0升級,更高品質(zhì)煥
- 大股東助力提升股票流通性 津上機床中國(
- A股調(diào)整原因揭秘:利空來了還是資金離場?
- 百億交易再起波瀾,沙鋼起訴復(fù)星凍結(jié)南鋼11
- 連花清咳片獲評“最受藥店歡迎明星單品”
- 熱消息:財聯(lián)社創(chuàng)投通:一級市場本周81起投
- 每日快看:低時延+高安全 邊緣算力重要性
- 美國醫(yī)藥界“華爾街之狼”搞了個醫(yī)學AI機器
- 世界聚焦:強制退市!證監(jiān)會出手 科創(chuàng)板首
- 長城汽車總裁穆峰:新能源下半場競爭的是「
- 環(huán)球熱點評!啤酒越賣越貴,“國產(chǎn)三巨頭”