-
旅行家問題 一個(gè)旅行家想駕駛汽車以最少的費(fèi)yi 用從一個(gè)城市到另一個(gè)城市(假設(shè)出發(fā)時(shí)油箱是空的)。給定兩個(gè)城市之間的距離為D1、汽車油箱的容量為C(以升為單位),每升汽油能行駛的距離為 D2,出發(fā)點(diǎn)每升汽油價(jià)格P和沿途油站數(shù)N(N可以為零),油站i離出發(fā)點(diǎn)距離Di,每升汽油價(jià)格Pi(i=1,2...N)。計(jì)算結(jié)果四舍五入至小數(shù)點(diǎn)后兩位。 如果無法到達(dá)目的地,則輸出“No Solution"。
標(biāo)簽:
城市
旅行
家
汽車
上傳時(shí)間:
2015-02-14
上傳用戶:vodssv
-
經(jīng)典c程序100例==1--10 【程序1】 題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 2.程序源代碼: main() { int i,j,k printf("\n") for(i=1 i<5 i++) /*以下為三重循環(huán)*/ for(j=1 j<5 j++) for (k=1 k<5 k++) { if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k) }
標(biāo)簽:
100
程序
10
數(shù)字
上傳時(shí)間:
2014-01-07
上傳用戶:lizhizheng88
-
此為編譯原理實(shí)驗(yàn)報(bào)告 學(xué)習(xí)消除文法左遞規(guī)算法,了解消除文法左遞規(guī)在語法分析中的作用 內(nèi)含 設(shè)計(jì)算法 目的 源碼 等等.... 算法:消除左遞歸算法為: (1)把文法G的所有非終結(jié)符按任一種順序排列成P1,P2,…Pn 按此順序執(zhí)行 (2)FOR i:=1 TO n DO BEGIN FOR j:=1 DO 把形如Pi→Pjγ的規(guī)則改寫成 Pi→δ1γ δ2γ … δkγ。其中Pj→δ1 δ2 … δk是關(guān)于Pj的所有規(guī)則; 消除關(guān)于Pi規(guī)則的直接左遞歸性 END (3)化簡由(2)所得的文法。即去除那些從開始符號(hào)出發(fā)永遠(yuǎn)無法到達(dá)的非終結(jié)符的 產(chǎn)生規(guī)則。
標(biāo)簽:
編譯原理
實(shí)驗(yàn)報(bào)告
算法
上傳時(shí)間:
2015-03-29
上傳用戶:極客
-
This a Bayesian ICA algorithm for the linear instantaneous mixing model with additive Gaussian noise [1]. The inference problem is solved by ML-II, i.e. the sources are found by integration over the source posterior and the noise covariance and mixing matrix are found by maximization of the marginal likelihood [1]. The sufficient statistics are estimated by either variational mean field theory with the linear response correction or by adaptive TAP mean field theory [2,3]. The mean field equations are solved by a belief propagation method [4] or sequential iteration. The computational complexity is N M^3, where N is the number of time samples and M the number of sources.
標(biāo)簽:
instantaneous
algorithm
Bayesian
Gaussian
上傳時(shí)間:
2013-12-19
上傳用戶:jjj0202
-
算法介紹
矩陣求逆在程序中很常見,主要應(yīng)用于求Billboard矩陣。按照定義的計(jì)算方法乘法運(yùn)算,嚴(yán)重影響了性能。在需要大量Billboard矩陣運(yùn)算時(shí),矩陣求逆的優(yōu)化能極大提高性能。這里要介紹的矩陣求逆算法稱為全選主元高斯-約旦法。
高斯-約旦法(全選主元)求逆的步驟如下:
首先,對(duì)于 k 從 0 到 n - 1 作如下幾步:
從第 k 行、第 k 列開始的右下角子陣中選取絕對(duì)值最大的元素,并記住次元素所在的行號(hào)和列號(hào),在通過行交換和列交換將它交換到主元素位置上。這一步稱為全選主元。
m(k, k) = 1 / m(k, k)
m(k, j) = m(k, j) * m(k, k),j = 0, 1, ..., n-1;j != k
m(i, j) = m(i, j) - m(i, k) * m(k, j),i, j = 0, 1, ..., n-1;i, j != k
m(i, k) = -m(i, k) * m(k, k),i = 0, 1, ..., n-1;i != k
最后,根據(jù)在全選主元過程中所記錄的行、列交換的信息進(jìn)行恢復(fù),恢復(fù)的原則如下:在全選主元過程中,先交換的行(列)后進(jìn)行恢復(fù);原來的行(列)交換用列(行)交換來恢復(fù)。
標(biāo)簽:
算法
矩陣求逆
程序
上傳時(shí)間:
2015-04-09
上傳用戶:wang5829
-
附有本人超級(jí)詳細(xì)解釋(看不懂的面壁十天!)
一、 實(shí)際問題:
希爾排序(Shell Sort)是插入排序的一種。因D.L.Shell于1959年提出而得名。它又稱“縮小增量分類法”,在時(shí)間效率上比插入、比較、冒泡等排序算法有了較大改進(jìn)。能對(duì)無序序列按一定規(guī)律進(jìn)行排序。
二、數(shù)學(xué)模型:
先取一個(gè)小于n的整數(shù)d1作為第一個(gè)增量,把文件的全部記錄分成d1個(gè)組。所有距離為dl的倍數(shù)的記錄放在同一個(gè)組中。先在各組內(nèi)進(jìn)行直接插人排序;然后,取第二個(gè)增量d2<d1重復(fù)上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進(jìn)行直接插入排序?yàn)橹埂T摲椒▽?shí)質(zhì)上是一種分組插入方法。
三、算法設(shè)計(jì):
1、將相隔某個(gè)增量dlta[k]的元素構(gòu)成一個(gè)子序列。在排序過程中,逐次減小這個(gè)增量,最后當(dāng)h減到1時(shí),進(jìn)行一次插入排序,排序就完成。增量序列一般采用:dlta[k]=2t-k+1-1,其中t為排序趟數(shù),1≤k≤t≤[log2 (n+1)],其中n為待排序序列的長度。按增量序列dlta[0..t-1]。
2、按增量dlta[k](1≤k≤t≤[log2 (n+1)])進(jìn)行一趟希爾插入排序。
3、在主函數(shù)中控制程序執(zhí)行流程。
4、時(shí)間復(fù)雜度:1≤k≤t≤[log2 (n+1)]時(shí)為O(n3/2)。
標(biāo)簽:
Shell
1959
Sort
排序
上傳時(shí)間:
2013-12-11
上傳用戶:天涯
-
魔王語言解釋
[問題描述]
有一個(gè)魔王總是使用自己的一種非常精練而又抽象的語言講話,沒有人能聽得懂,但他的語言是可以逐步解釋成人能聽懂的語言,因?yàn)樗恼Z言是由以下兩種形式的規(guī)則由人的語言逐步抽象上去的:
(1) α 轉(zhuǎn)換為 β1β2…βm
(2) (θδ1δ2…δn) 轉(zhuǎn)換為 θδnθδn-1… θδ1θ
在這兩種形式重,從左到右均表示解釋。試寫一個(gè)魔王語言的解釋兄,把他的話解釋成人能聽得懂的話。
[基本要求]
用下述兩條具體規(guī)則和上述規(guī)則形式(2)實(shí)現(xiàn)。設(shè)大寫字母表示魔王語言的詞匯;小寫字母表示人的語言詞匯;希臘字母表示可以用大寫字母或小寫字母代換的變量。魔王語言可含人的詞匯。
(1)B 轉(zhuǎn)換為 tAdA
(2)A 轉(zhuǎn)換為 sae
[測(cè)試數(shù)據(jù)]
B(exnxgz)B解釋成tsaedsaeezegexenehetsaedsae
若將小寫字母與漢字建立下表所示的對(duì)應(yīng)關(guān)系,則魔王說的話是:“天上一只鵝地上一只鵝鵝追鵝趕鵝下鵝蛋鵝恨鵝天上一直鵝地上一只鵝”。
t d s a e z g x n h
天 地 上 一只 鵝 追 趕 下 蛋 恨
標(biāo)簽:
語言
抽象
上傳時(shí)間:
2014-12-21
上傳用戶:大三三
-
/*
* EULER S ALGORITHM 5.1
*
* TO APPROXIMATE THE SOLUTION OF THE INITIAL VALUE PROBLEM:
* Y = F(T,Y), A<=T<=B, Y(A) = ALPHA,
* AT N+1 EQUALLY SPACED POINTS IN THE INTERVAL [A,B].
*
* INPUT: ENDPOINTS A,B INITIAL CONDITION ALPHA INTEGER N.
*
* OUTPUT: APPROXIMATION W TO Y AT THE (N+1) VALUES OF T.
*/
標(biāo)簽:
APPROXIMATE
ALGORITHM
THE
SOLUTION
上傳時(shí)間:
2015-08-20
上傳用戶:zhangliming420
-
編制函數(shù)prime,用來判斷整數(shù)n是否為素?cái)?shù):bool prime(int n); 而后編制主函數(shù),任意輸入一個(gè)大于4的偶數(shù)n,找出滿足n=i+j的所有數(shù)對(duì),其中要求i與j均為素?cái)?shù)(通過調(diào)用prime來判斷素?cái)?shù))。如偶數(shù)18可以分解為11+7以及13+5;而偶數(shù)80可以分解為:43+37、61+19、67+13、73+7。
標(biāo)簽:
prime
編制
函數(shù)
上傳時(shí)間:
2015-09-09
上傳用戶:jennyzai
-
經(jīng)典C語言程序設(shè)計(jì)100例1-10
如【程序1】
題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?
1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去
掉不滿足條件的排列。
2.程序源代碼:
main()
{
int i,j,k
printf("\n")
for(i=1 i<5 i++) /*以下為三重循環(huán)*/
for(j=1 j<5 j++)
for (k=1 k<5 k++)
{
if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k)
}
}
標(biāo)簽:
100
10
C語言
程序設(shè)計(jì)
上傳時(shí)間:
2013-12-14
上傳用戶:hfmm633