語(yǔ)法分析器lex和詞法分析器yacc的C++語(yǔ)言實(shí)現(xiàn) 1.Lex (1)Lex輸入文件的解析 (2)正規(guī)表達(dá)式的解析 (3)一個(gè)正規(guī)表達(dá)式到NFA的轉(zhuǎn)換算法實(shí)現(xiàn) (4)多個(gè)NFA的合并 (5)NFA的確定化和最小化算法實(shí)現(xiàn) (6)返回狀態(tài)與返回內(nèi)容的對(duì)應(yīng) 2.Yacc (1)Yacc輸入文件的解析 (2)上下文無(wú)關(guān)文法到對(duì)應(yīng)LR(1)文法的下推自動(dòng)機(jī)的構(gòu)造 (3)LR(1)文法的下推自動(dòng)機(jī)到相應(yīng)分析表的構(gòu)造 (4)LR(1)總控程序的構(gòu)造(查表程序) (5)符號(hào)表的構(gòu)建與相應(yīng)管理程序 (6)語(yǔ)義動(dòng)作程序的加入 環(huán)境:Visual Studio.NET 2003
上傳時(shí)間: 2013-12-09
上傳用戶(hù):zxc23456789
這是一個(gè)非常簡(jiǎn)單的遺傳算法源代碼,代碼保證盡可能少,實(shí)際上也不必查錯(cuò)。對(duì)一特定的應(yīng)用修正此代碼,用戶(hù)只需改變常數(shù)的定義并且定義“評(píng)價(jià)函數(shù)”即可。注意代碼 的設(shè)計(jì)是求最大值,其中的目標(biāo)函數(shù)只能取正值;且函數(shù)值和個(gè)體的適應(yīng)值之間沒(méi)有區(qū)別。該系統(tǒng)使用比率選擇、精華模型、單點(diǎn)雜交和均勻變異。如果用 Gaussian變異替換均勻變異,可能得到更好的效果。代碼沒(méi)有任何圖形,甚至也沒(méi)有屏幕輸出,主要是保證在平臺(tái)之間的高可移植性。讀者可以從ftp.uncc.edu, 目錄 coe/evol中的文件prog.c中獲得。要求輸入的文件應(yīng)該命名為‘gadata.txt’;系統(tǒng)產(chǎn)生的輸出文件為‘galog.txt’。輸入的 文件由幾行組成:數(shù)目對(duì)應(yīng)于變量數(shù)。且每一行提供次序——對(duì)應(yīng)于變量的上下界。如第一行為第一個(gè)變量提供上下界,第二行為第二個(gè)變量提供上下界,等等。
上傳時(shí)間: 2015-10-16
上傳用戶(hù):曹云鵬
在Jpeg中Huffman采用的是范式Huffman編碼。經(jīng)過(guò)查相關(guān)資料有兩種不同說(shuō)法,請(qǐng)高手指點(diǎn)。謝謝! 1、構(gòu)造范式 Huffman 編碼的方法大致是: 分別統(tǒng)計(jì)從最大編碼長(zhǎng)度 maxlength 到 1 的每個(gè)長(zhǎng)度對(duì)應(yīng)了多少個(gè)符號(hào)。根據(jù)這一信息從 maxlength 個(gè) 0 開(kāi)始以遞增順序?yàn)槊總€(gè)符號(hào)分配編碼。例如,編碼長(zhǎng)度為 5 的符號(hào)有 4 個(gè),長(zhǎng)度為 3 的有 1 個(gè),長(zhǎng)度為 2 的有 3 個(gè),則分配的編碼依次為: 00000 00001 00010 00011 001 01 10 11 問(wèn)題:如果按照這種說(shuō)法那么我在一付圖像中渡到的數(shù)據(jù)是:編碼長(zhǎng)度為 6 的符號(hào)有 1 個(gè),長(zhǎng)度為 5 的有 1 個(gè),長(zhǎng)度為 4 的有 3 個(gè),長(zhǎng)度為3的個(gè)數(shù)為4個(gè),長(zhǎng)度為2的個(gè)數(shù)為1個(gè)。按照以上的算法得到的編碼為:000000;00001;0010;0011;001;010;011;100;01。出現(xiàn)001是0011的前綴。在讀取數(shù)據(jù)流的時(shí)候?qū)⒉荒軈^(qū)別。 2、另外一種說(shuō)法,曾經(jīng)發(fā)帖問(wèn)過(guò)。前面的長(zhǎng)度編碼加1左移一位得到后面長(zhǎng)度的編碼。像我這個(gè)例子如何確定最短碼的起始值? 謝謝大家指點(diǎn)具體的范式Huffman編碼實(shí)現(xiàn)
上傳時(shí)間: 2015-11-15
上傳用戶(hù):蠢蠢66
8位crc校驗(yàn)算法,用于單片機(jī)編程,包含簡(jiǎn)單算法和查表算法
上傳時(shí)間: 2016-02-17
上傳用戶(hù):784533221
一個(gè)簡(jiǎn)單實(shí)用的遺傳算法c程序.代碼保證盡可能少,實(shí)際上也不必查錯(cuò)。對(duì)一特定的應(yīng)用修正此代碼,用戶(hù)只需改變常數(shù)的定義并且定義“評(píng)價(jià)函數(shù)”即可。
標(biāo)簽: 簡(jiǎn)單實(shí)用 程序 代碼 算法
上傳時(shí)間: 2016-02-22
上傳用戶(hù):362279997
已知f(xn)=yn ,n=0,1,2,…,N;求通過(guò)這N+1個(gè)節(jié)點(diǎn){(xn,yn)| n=0,1,2,…,N }的插值函數(shù)Pn (x)。 設(shè)計(jì)出具體的程序,分別使用拉格朗日插值,牛頓插值和三次自然樣條三種算法繪制出相應(yīng)的插值曲線。用三條不同顏色的曲線來(lái)表示三種插值方法在一段區(qū)間內(nèi)的插值函數(shù)。要求動(dòng)態(tài)顯示曲線繪制全過(guò)程。
標(biāo)簽: xn yn 節(jié)點(diǎn)
上傳時(shí)間: 2014-11-29
上傳用戶(hù):GavinNeko
一個(gè)遺傳算法 這是一個(gè)非常簡(jiǎn)單的遺傳算法源代碼,是由Denis Cormier (North Carolina State University)開(kāi)發(fā)的,Sita S.Raghavan (University of North Carolina at Charlotte)修正。代碼保證盡可能少,實(shí)際上也不必查錯(cuò)。對(duì)一特定的應(yīng)用修正此代碼,用戶(hù)只需改變常數(shù)的定義并且定義“評(píng)價(jià)函數(shù)”即可。注意代碼 的設(shè)計(jì)是求最大值,其中的目標(biāo)函數(shù)只能取正值;且函數(shù)值和個(gè)體的適應(yīng)值之間沒(méi)有區(qū)別。該系統(tǒng)使用比率選擇、精華模型、單點(diǎn)雜交和均勻變異。如果用 Gaussian變異替換均勻變異,可能得到更好的效果。代碼沒(méi)有任何圖形,甚至也沒(méi)有屏幕輸出,主要是保證在平臺(tái)之間的高可移植性。讀者可以從ftp.uncc.edu, 目錄 coe/evol中的文件prog.c中獲得。要求輸入的文件應(yīng)該命名為‘gadata.txt’;系統(tǒng)產(chǎn)生的輸出文件為‘galog.txt’。輸入的 文件由幾行組成:數(shù)目對(duì)應(yīng)于變量數(shù)。且每一行提供次序——對(duì)應(yīng)于變量的上下界。如第一行為第一個(gè)變量提供上下界,第二行為第二個(gè)變量提供上下界,等等。
上傳時(shí)間: 2013-12-20
上傳用戶(hù):myworkpost
比較完整的遺傳算法的源代碼,可以上網(wǎng)查到petrol的詳細(xì)說(shuō)明
上傳時(shí)間: 2016-03-14
上傳用戶(hù):hzy5825468
最大間隙問(wèn)題:給定n 個(gè)實(shí)數(shù)x , x , , xn 1 2 ,求這n 個(gè)數(shù)在實(shí)軸上相鄰2 個(gè)數(shù)之間的最 大差值。假設(shè)對(duì)任何實(shí)數(shù)的下取整函數(shù)耗時(shí)O(1),設(shè)計(jì)解最大間隙問(wèn)題的線性時(shí)間算法。
上傳時(shí)間: 2013-12-25
上傳用戶(hù):123456wh
里查得森(Richardson)法解偏微分方程的程序。解的是定步長(zhǎng)的拋物型偏微分方程: du/dx - a * d2u/dx2 = 0 在程序中可以更改 a 的值以實(shí)現(xiàn)不同系數(shù)的解。由于它是一種顯式格式,解的結(jié)果不穩(wěn)定 在Matlab7下面運(yùn)行發(fā)現(xiàn)竟然有一些值達(dá)到十的幾十次方,這是算法本身決定的。不是程序有錯(cuò)誤
標(biāo)簽: Richardson dx 偏微分方程 程序
上傳時(shí)間: 2014-12-03
上傳用戶(hù):1159797854
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1