LCS(最長公共子序列)問題可以簡單地描述如下: 一個給定序列的子序列是在該序列中刪去若干元素后得到的序列。給定兩個序列X和Y,當另一序列Z既是X的子序列又是Y的子序列時,稱Z是序列X和Y的公共子序列。例如,若X={A,B,C,B,D,B,A},Y={B,D,C,A,B,A},則序列{B,C,A}是X和Y的一個公共子序列,但它不是X和Y的一個最長公共子序列。序列{B,C,B,A}也是X和Y的一個公共子序列,它的長度為4,而且它是X和Y的一個最長公共子序列,因為X和Y沒有長度大于4的公共子序列。 最長公共子序列問題就是給定兩個序列X={x1,x2,...xm}和Y={y1,y2,...yn},找出X和Y的一個最長公共子序列。對于這個問題比較容易想到的算法是窮舉,對X的所有子序列,檢查它是否也是Y的子序列,從而確定它是否為X和Y的公共子序列,并且在檢查過程中記錄最長的公共子序列。X的所有子序列都檢查過后即可求出X和Y的最長公共子序列。X的每個子序列相應于下標集{1,2,...,m}的一個子集。因此,共有2^m個不同子序列,從而窮舉搜索法需要指數時間。
上傳時間: 2015-06-09
上傳用戶:氣溫達上千萬的
c語言版的多項式曲線擬合。 用最小二乘法進行曲線擬合. 用p-1 次多項式進行擬合,p<= 10 x,y 的第0個域x[0],y[0],沒有用,有效數據從x[1],y[1] 開始 nNodeNum,有效數據節點的個數。 b,為輸出的多項式系數,b[i] 為b[i-1]次項。b[0],沒有用。 b,有10個元素ok。
上傳時間: 2014-01-12
上傳用戶:變形金剛
高精度乘法基本思想和加法一樣。其基本流程如下: ①讀入被乘數s1,乘數s2 ②把s1、s2分成4位一段,轉成數值存在數組a,b中;記下a,b的長度k1,k2; ③i賦為b中的最低位; ④從b中取出第i位與a相乘,累加到另一數組c中;(注意:累加時錯開的位數應是多少位 ?) ⑤i:=i-1;檢測i值:小于k2則轉⑥,否則轉④ ⑥打印結果
上傳時間: 2015-08-16
上傳用戶:源弋弋
[輸入] 圖的頂點個數N,圖中頂點之間的關系及起點A和終點B [輸出] 若A到B無路徑,則輸出“There is no path” 否則輸出A到B路徑上個頂點 [存儲結構] 圖采用鄰接矩陣的方式存儲。 [算法的基本思想] 采用廣度優先搜索的方法,從頂點A開始,依次訪問與A鄰接的頂點VA1,VA2,...,VAK, 訪問遍之后,若沒有訪問B,則繼續訪問與VA1鄰接的頂點VA11,VA12,...,VA1M,再訪問與VA2鄰接頂點...,如此下去,直至找到B,最先到達B點的路徑,一定是邊數最少的路徑。實現時采用隊列記錄被訪問過的頂點。每次訪問與隊頭頂點相鄰接的頂點,然后將隊頭頂點從隊列中刪去。若隊空,則說明到不存在通路。在訪問頂點過程中,每次把當前頂點的序號作為與其鄰接的未訪問的頂點的前驅頂點記錄下來,以便輸出時回溯。 #include<stdio.h> int number //隊列類型 typedef struct{ int q[20]
標簽: 輸入
上傳時間: 2015-11-16
上傳用戶:ma1301115706
the calculator s usage! after you have inputed 2 operators,choose + - * / function! But the only situation I did t deal with is that when you choos + fuction ,and the operaters signs is like this -A+B,just turn it to B-A!
標簽: calculator the operators function
上傳時間: 2016-02-12
上傳用戶:lili123
圖的深度遍歷,輸出結果為(紅色為鍵盤輸入的數據,權值都置為1): 輸入頂點數和弧數:8 9 輸入8個頂點. 輸入頂點0:a 輸入頂點1:b 輸入頂點2:c 輸入頂點3:d 輸入頂點4:e 輸入頂點5:f 輸入頂點6:g 輸入頂點7:h 輸入9條弧. 輸入弧0:a b 1 輸入弧1:b d 1 輸入弧2:b e 1 輸入弧3:d h 1 輸入弧4:e h 1 輸入弧5:a c 1 輸入弧6:c f 1 輸入弧7:c g 1 輸入弧8:f g 1 深度優先遍歷: a b d h e c f g 程序結束.
標簽:
上傳時間: 2016-04-04
上傳用戶:lht618
CRC16算法的Java實現,使用方法如下: CRC16 crc16 = new CRC16() byte[] b = new byte[] { // (byte) 0xF0,(byte)0xF0,(byte)0xF0,(byte)0x72 (byte) 0x2C, (byte) 0x00, (byte) 0xFF, (byte) 0xFE, (byte) 0xFE, (byte) 0x04, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 } for (int k = 0 k < b.length k++) { crc16.update(b[k]) } System.out.println(Integer.toHexString(crc16.getValue())) System.out.println(Integer.toHexString(b.length))
上傳時間: 2014-12-20
上傳用戶:ve3344
GPS系統接收數據坐標轉換 GPS接收的數據往往是三維坐標,而在科學研究中我們通常用二維坐標。因此必須 進行坐標轉換,下面我們介紹一種坐標轉換,即把WGS84坐標轉換為高斯—克呂 格坐標系。數字地圖投影的方法很多,而我國采用了高斯—克呂格投影,它是一 種橫軸橢園柱面等角投影,用一個橢球柱面與地球橢球在某一子午圈L0上相切, 這條子午線通常稱做投影軸子午線。也就是高斯-克呂格投影直角坐標系的x 軸, 地球的赤道與橢圓柱面相交, 成一直線,這條直線與軸子午線正交,就是平面直角坐 標系的y軸,把橢球柱面展開,就得到以(x,y)為坐標的平面直角坐標系。為減少 投影變形,按經度把橢球分為許多帶,各帶分別投影,經常采用的是3度和6度帶。 為使y值不為負值,通常在y軸上加上500km。 已知WGS84坐標(B,L),B為GPS定位輸出成果的緯度,L為GPS定位輸出成果的經度。 由WGS84到高斯-克呂格坐標(x,y)的轉換成高斯投影正算,詳見本軟件
上傳時間: 2014-01-26
上傳用戶:小眼睛LSL
192X64液晶的80c51單片機語言液晶驅動文件,漢字庫取模,圖像取模
上傳時間: 2013-12-24
上傳用戶:gaojiao1999
該方案充分發揮人性化的特點,利用 SPCE061A 的強大運算能力,使用 ZigBee 無線傳輸模組、UART 模組,配合上位機串口通信程序實現了 ZigBee無線 QQ系統
上傳時間: 2014-11-08
上傳用戶:youke111