傳統(tǒng)的冒泡排序法是這樣操作:從前往后,依次比較兩個相鄰的元素,如果逆序則交換這兩個元素值,然后繼續(xù)往后操作;到了數(shù)據(jù)尾部時,就找出了一個最大值(或最小值)。然后重復(fù)上面的操作n-1次(n為元素個數(shù))。相關(guān)的改進辦法:按照上面的辦法來操作的話,第一次掃描把最大數(shù)(或最小數(shù))放到最后面的位置,第二次掃描時其實只需要掃描到倒數(shù)第二個位置就可以了,因為最后一個位置已經(jīng)不需要判斷了,以后的操作都是類似的。這樣可以減小程序運行時間。
上傳時間: 2015-04-27
上傳用戶:偷心的海盜
DSP編程代碼,FFT算法,經(jīng)典!! FFT實驗 一、 理論: 公式(1)FFT運算公式 FFT并不是一種新的變換,它是離散傅立葉變換(DFT)的一種快速算法。由于我們在計算DFT時一次復(fù)數(shù)乘法需用四次實數(shù)乘法和二次實數(shù)加法;一次復(fù)數(shù)加法則需二次實數(shù)加法。每運算一個X(k)需要4N次復(fù)數(shù)乘法及2N+2(N-1)=2(2N-1)次實數(shù)加法。所以整個DFT運算總共需要4N^2次實數(shù)乘法和N*2(2N-1)=2N(2N-1)次實數(shù)加法。如此一來,計算時乘法次數(shù)和加法次數(shù)都是和N^2成正比的,當N很大時,運算量是可觀的,因而需要改進對DFT的算法減少運算速度。 根據(jù)傅立葉變換的對稱性和周期性,我們可以將DFT運算中有些項合并。 我們先設(shè)序列長度為N=2^L,L為整數(shù)。將N=2^L的序列x(n)(n=0,1,……,N-1),按N的奇偶分成兩組,也就是說我們將一個N點的DFT分解成兩個N/2點的DFT,他們又從新組合成一個如下式所表達的N點DFT: 一般來說,輸入被假定為連續(xù)、合成的。當輸入為純粹的實數(shù)的時候,我們就可以利用左右對稱的特性更好的計算DFT。 我們稱這樣的RFFT優(yōu)化算法是包裝算法:首先2N點實數(shù)的連續(xù)輸入稱為“進包”。其次N點的FFT被連續(xù)被運行。最后作為結(jié)果產(chǎn)生的N點的合成輸出是
上傳時間: 2015-04-29
上傳用戶:牛布牛
大整數(shù)乘法例子代碼 /* 遞歸邊界,如果是1位二進制數(shù)與1位二進制數(shù)相乘,則可以直接計算 */ /*累計做1位二進制乘法運算的次數(shù)*/ /* return (X*Y) */ /* 計算n的值 */ /* 把X和Y拆分開來,令X=A*2^(n/2)+B, 左移位運算,mod = 1<<(n/2) */ /* 計算XY=AC*2^n+(AD+CB)*2^(n/2)+BD */ /* 計算A*C,再向左移n位 */ /* 遞歸計算A*D */ /* 遞歸計算C*B */ /* 計算a21+a22,再向左移n/2位 */ /* 遞歸計算B*D */ /* XY=a1+a2+a3 */
上傳時間: 2015-05-19
上傳用戶:gyq
附有本人超級詳細解釋(看不懂的面壁十天!) 一、 實際問題: 希爾排序(Shell Sort)是插入排序的一種。因D.L.Shell于1959年提出而得名。它又稱“縮小增量分類法”,在時間效率上比插入、比較、冒泡等排序算法有了較大改進。能對無序序列按一定規(guī)律進行排序。 二、數(shù)學模型: 先取一個小于n的整數(shù)d1作為第一個增量,把文件的全部記錄分成d1個組。所有距離為dl的倍數(shù)的記錄放在同一個組中。先在各組內(nèi)進行直接插人排序;然后,取第二個增量d2<d1重復(fù)上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止。該方法實質(zhì)上是一種分組插入方法。 三、算法設(shè)計: 1、將相隔某個增量dlta[k]的元素構(gòu)成一個子序列。在排序過程中,逐次減小這個增量,最后當h減到1時,進行一次插入排序,排序就完成。增量序列一般采用: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)])進行一趟希爾插入排序。 3、在主函數(shù)中控制程序執(zhí)行流程。 4、時間復(fù)雜度:1≤k≤t≤[log2 (n+1)]時為O(n3/2)。
上傳時間: 2013-12-11
上傳用戶:天涯
源代碼\用動態(tài)規(guī)劃算法計算序列關(guān)系個數(shù) 用關(guān)系"<"和"="將3個數(shù)a,b,c依次序排列時,有13種不同的序列關(guān)系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要將n個數(shù)依序列,設(shè)計一個動態(tài)規(guī)劃算法,計算出有多少種不同的序列關(guān)系, 要求算法只占用O(n),只耗時O(n*n).
標簽: lt 源代碼 動態(tài)規(guī)劃 序列
上傳時間: 2013-12-26
上傳用戶:siguazgb
<1>問題描述 有一個魔王總是使用自己的一種非常精練而又抽象的語言講話,沒有人能聽得懂,但他的語言是可以逐步解釋成人能聽懂的語言,因為他的語言是由以下兩種形式的規(guī)則由人的語言逐步抽象上去的: (1) α 轉(zhuǎn)換為 β1β2…βm (2) (θδ1δ2…δn) 轉(zhuǎn)換為 θδnθδn-1… θδ1θ 在這兩種形式重,從左到右均表示解釋。試寫一個魔王語言的解釋兄,把他的話解釋成人能聽得懂的話。 [基本要求] 用下述兩條具體規(guī)則和上述規(guī)則形式(2)實現(xiàn)。設(shè)大寫字母表示魔王語言的詞匯;小寫字母表示人的語言詞匯;希臘字母表示可以用大寫字母或小寫字母代換的變量。魔王語言可含人的詞匯。 (1)B 轉(zhuǎn)換為 tAdA (2)A 轉(zhuǎn)換為 sae
上傳時間: 2013-12-17
上傳用戶:jyycc
實現(xiàn)功能: 從計算機終端讀入字符集大小,以及n個字符和n個權(quán)值,建立哈夫曼樹;為n個字符編碼,并在顯示器終端現(xiàn)實每個字符的編碼情況;為一段字符串編碼。 課程設(shè)計規(guī)范,內(nèi)含源代碼。
上傳時間: 2013-12-19
上傳用戶:15736969615
魔王語言解釋 [問題描述] 有一個魔王總是使用自己的一種非常精練而又抽象的語言講話,沒有人能聽得懂,但他的語言是可以逐步解釋成人能聽懂的語言,因為他的語言是由以下兩種形式的規(guī)則由人的語言逐步抽象上去的: (1) α 轉(zhuǎn)換為 β1β2…βm (2) (θδ1δ2…δn) 轉(zhuǎn)換為 θδnθδn-1… θδ1θ 在這兩種形式重,從左到右均表示解釋。試寫一個魔王語言的解釋兄,把他的話解釋成人能聽得懂的話。 [基本要求] 用下述兩條具體規(guī)則和上述規(guī)則形式(2)實現(xiàn)。設(shè)大寫字母表示魔王語言的詞匯;小寫字母表示人的語言詞匯;希臘字母表示可以用大寫字母或小寫字母代換的變量。魔王語言可含人的詞匯。 (1)B 轉(zhuǎn)換為 tAdA (2)A 轉(zhuǎn)換為 sae [測試數(shù)據(jù)] B(exnxgz)B解釋成tsaedsaeezegexenehetsaedsae 若將小寫字母與漢字建立下表所示的對應(yīng)關(guān)系,則魔王說的話是:“天上一只鵝地上一只鵝鵝追鵝趕鵝下鵝蛋鵝恨鵝天上一直鵝地上一只鵝”。 t d s a e z g x n h 天 地 上 一只 鵝 追 趕 下 蛋 恨
上傳時間: 2014-12-21
上傳用戶:大三三
1、(1)32bit乘法的指令解釋 (2)volume1的load.asm基礎(chǔ)上實現(xiàn)一個 16bit數(shù)組的乘法累加的函數(shù),并進行 -o2 / -o3 / 手工優(yōu)化 2、c環(huán)境 C調(diào)用匯編函數(shù),匯編函數(shù)調(diào)用c函數(shù) addarr3(int * arr1, int * arr2, int * arr3, int * arr4, n) //匯編函數(shù),3個數(shù)組的對應(yīng)位置相加,結(jié)果放在arr4[n]中, 匯編函數(shù)調(diào)用C的子函數(shù),它把arr1和arr2相加放到arr3[n]中; addarr2(int * arr1, int * arr2, int * arr3, n)
上傳時間: 2014-01-08
上傳用戶:bibirnovis
RSA公鑰加密算法基于大整數(shù)因式分解困難這樣的事實。 選擇兩個素數(shù),p,q。(一般p,q選擇很大的數(shù)) 然后計算 z=p*q f=(p-1)(q-1) 選擇一個n,使gcd(n,f)=1(gcd代表greatest common divider,一般n也選擇一個素數(shù)), n和z就作為公鑰。 選擇一個s,0<s<f,滿足n*s % f=1,s就作為私鑰。
上傳時間: 2013-12-14
上傳用戶:wxhwjf
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1